单片机程序分析题练习B2
- 格式:doc
- 大小:49.50 KB
- 文档页数:8
单片机补考试题B卷及答案As a person, we must have independent thoughts and personality.一、填空题(每题3分,共30分)1、8031内部有()个RAM、8751内部有4K()。
2、MCS-51的指令可分为几种不同的寻址方式。
如:MOV A,20H属于()寻址方式,MOVC A,@A+DPTR 属于()寻址方式,MOV C, bit 属于( ) 寻址方式。
3、堆栈地址由()内容确定,操作规律是“()进()出”。
4、DA指令是()指令,它只能紧跟在()指令后使用。
5、在单片机扩展时,()口和()口为地址线,()口为数据线。
6、利用8155可以扩展()个并行口,()个RAM单元。
7、若某8位D/A转换器的输出满刻度电压为+5V,则该D/A转换器的分辨率为()V。
8、假定累加器A的内容为30H,执行指令:1000H:MOVC A,@A+PC 后,把程存储()单元的内容送累加器A中。
9、假定(SP)=60H, (ACC)=30H,(B)=70H, 执行下列命令:PUSH ACCPUSH B后,SP的内容为(), 61H的单元的内容为()。
10、单片机串行通信时,若要发送数据,就必须将要发送的数据送至()单元,若要接收数据也要到该单元取数。
二、单项选择题(每小题3分,共30分)1、计算机能直接识别的语言是()。
A.汇编语言 B.自然语言 C.机器语言 D.硬件和软件2、开机复位后,CPU使用的是寄存器第一组,地址范围是()A、00H-10HB、00H-07HC、10H-1FHD、08H-0FH3、在单片机中,()是数据存储器,()是程序存储器。
A.ROM B.EPROM C.RAM D.EEPROM 4、单片机在与外部I/O口进行数据传送时,将使用()线。
A.ALE INT0 B.PSEN ALE C.WR RD ALE D.ALE INT15、区分片外程序存储器和数据存储器的最可靠方法是()。
一、填空题(1分*24):1、将CPU、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等微型计算机的主要部件集成在一块芯片上,使其具有计算机的基本功能,就叫做单片微型计算机,简称单片机。
2、RST、ALE、EA引脚名字、功能、信号方向、电平分别为:RST:复位、输入、高电平;ALE:地址锁存、输出、正脉冲;、EA:程序存储器选择、输入、高选择片外程序存储器低选择片内程序存储器。
3、某MCS-51单片机系统的晶振频率是11.0592MHz,则该单片机系统的机器周期是:1.0851µs。
4、MCS-51单片机的4个8位并行I/O口作为通用I/O口时,称之为准双向口,其含义为:在进行输入之前,必须先输出全1。
5、定时器/计时器1(T1)中断和串行中断的中断入口地址分别为0x001b和0x0023;用C51编程对应的中断号为3和4 。
6、MCS-51单片机的串行口有4中工作方式,其特点分别为:方式0:8位同步、扩展移位寄存器(扩展端口)方式、每个机器周期传输一位;方式1:每帧10位、异步串行通信方式;波特率由T1确定;方式2:每帧11位、异步串行通信方式;波特率为fosc/64或fosc/32;方式3:每帧11位、异步串行通信方式;波特率由T1确定;7、SPI是一种串行外围设备接口总线,其主要特点是双向、同步,4线(时钟、数据输入、数据输出、片选),一主多从等。
8、对于7段(通常记为a、b、c、d、e、f、g、dp,a对应送入数据的最低位,dp对应送入数据的最高位、为小数点)共阴数码管,显示数字“5”的代码为0x6d,如果也显示小数点,即显示“5.”,则对应的代码为0xed。
9、6264是一静态随机存储器芯片,其容量是8kb。
10、ADC0809是一A/D转换芯片,其主要特点是8位,8通道,输出锁存,中速等;DAC0832是一D/A转换芯片,以单缓冲方式工作时,与单片机的接口信号主要是数据线P00---P07,写控制信号WR,某一个高8位地址线如P27。
单片机练习题第二章答案单片机练习题第二章答案单片机是一种非常重要的电子器件,广泛应用于各个领域。
为了更好地掌握单片机的知识和技能,我们需要进行一些练习题的训练。
本文将为大家提供单片机练习题第二章的答案,希望能对大家的学习有所帮助。
第一题:请编写一段代码,实现将一个8位二进制数的高4位和低4位交换的功能。
答案:以下是实现该功能的代码:```c#include <reg52.h>void main(){unsigned char num = 0b11001100; // 待交换的二进制数unsigned char high = 0; // 高4位unsigned char low = 0; // 低4位high = (num & 0xF0) >> 4; // 取出高4位low = (num & 0x0F) << 4; // 取出低4位num = high | low; // 交换高低4位while (1){// 循环执行其他操作}}```第二题:请编写一段代码,实现将一个8位二进制数的第2位和第6位取反的功能。
答案:以下是实现该功能的代码:```c#include <reg52.h>void main(){unsigned char num = 0b11001100; // 待取反的二进制数num ^= (1 << 2); // 第2位取反num ^= (1 << 6); // 第6位取反while (1){// 循环执行其他操作}}```第三题:请编写一段代码,实现将一个8位二进制数的第3位和第7位置1的功能。
答案:以下是实现该功能的代码:```c#include <reg52.h>void main(){unsigned char num = 0b11001100; // 待操作的二进制数num |= (1 << 3); // 第3位置1num |= (1 << 7); // 第7位置1while (1){// 循环执行其他操作}}```通过以上三个练习题的答案,我们可以看到单片机的位操作非常灵活,可以实现各种功能。
1.程序如下:MOV SP,#13HMOV 33H,#7FHMOV 44H,#0ABHPUSH 33HPUSH 44HPOP 33HPOP 44H程序执行后,(33H)=0ABh ,(44H)=7Fh2.下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A中的结果是什么?设(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。
(1)MOV A,#48H ;寻址方式:(A)= 48H(2)ADD A,60H ;寻址方式:(A)= 4DH(3)ANL A,@R0 ;寻址方式:(A)= 10H3.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?MOV R1,#30H ;(R1)=30HMOV A,#64H ;(A)= 64HADD A,#47H ;(A)=ABH ,(CY)= 0 ,(AC)= 0DA A ;(A)=31H ,(CY)=1 ,(AC)=MOV @R1,A ;(R1)= 30H ,(30H)= 31H此程序段完成的功能4.设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,(A)=0ORL A,#27HANL A,28HXCHD A,@R0CPL A5.设(A)=38H,(20H)=49H,PSW=00H,(B)=02H,填写以下中间结果。
SETB CADDC A, 20H (A)= 82H (CY)= 0 (AC)= 1RLC A (A)=04H (CY)=1 (P)= 1MUL AB (A)=08H (B)=00H (OV)=06.已知(R0)=20H, (20H ) =10H, (P0) =30H, (R2) =20H, 执行如下程序段后( 40H ) =15H MOV @R0 , #11H (20H)=11HMOV A , R2 A=20HADD A , 20H A=40HMOV PSW , #80HSUBB A , P0 A=10HXRL A , #45H A=15HMOV 40H , A (40H)=15H7. 已知( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 执行过程如下:MOV A , @R0 A=36HMOV R0 , A R0=36HMOV A , @R0 A=34HADD A , 21H A=4BHORL A , #21H A=21HRL A A=42HMOV R2 , A R2=42HRET则执行结束(R0)=36H (R2)= 42H8.设在31H单元存有#23H,执行下面程序:MOV A, 31H A=23HANL A, #0FH A=03HMOV 41H, A (41H)=03HMOV A, 31H A=23HANL A, #0F0H A=20HSW AP A A=02HMOV 42H, A (42H)=02H则(41H)= 03H (42H)= 02H9.(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(40)=20HMOV A,@R0 A=7FHMOV @R0,40H (4BH)=20HMOV 40H,A (40H)=7FH;MOV R0,#35H R0=35H问执行程序后,R0=35H A= 7FH 4BH= 20H 40H= 7FH10.若PSW=00, 执行下列程序后,PSW的CY,AC,OV,P各位状态如何? MOV A,#0FBH A=FBHMOV PSW,#10HADD A,#7FH A=7AH CY=1; AC=1;OV=1; P=1;MOVA,20HA=O1HINCAA=02HMOVDPTR,#2000HDPRT=2000HMOVCA,@A+DPTRA=5BHCPLAA=A3HMOV 30H,A (30H) =A3HSJMP $END执行程序后,(30H)= A3H12.分析程序段:CLRC清零cy指令MOVA,#91H给A立即数SUBBA,61H;A寄存器与地址(61h)的值相减ADDA,61H;A寄存器与地址(61h)的值相加DAA;BDC码调整指令MOV62H,A把累加器A的值送给地址寄存器62h(1)程序执行何种操作?对91H做BDC码调整;(2)若已知初值:(60H)=24H,(61H)=72H,则运行后,(62H)= 91H 。
1.程序如下:MOV SP,#13HMOV 33H,#7FHMOV 44H,#0ABHPUSH 33HPUSH 44HPOP 33HPOP 44H程序执行后,(33H)=0ABh ,(44H)=7Fh2.下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A中的结果是什么?设(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。
(1)MOV A,#48H ;寻址方式:(A)= 48H(2)ADD A,60H ;寻址方式:(A)= 4DH(3)ANL A,@R0 ;寻址方式:(A)= 10H3.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?MOV R1,#30H ;(R1)=30HMOV A,#64H ;(A)= 64HADD A,#47H ;(A)=ABH ,(CY)= 0 ,(AC)= 0DA A ;(A)=31H ,(CY)=1 ,(AC)=MOV @R1,A ;(R1)= 30H ,(30H)= 31H此程序段完成的功能4.设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,(A)=0ORL A,#27HANL A,28HXCHD A,@R0CPL A5.设(A)=38H,(20H)=49H,PSW=00H,(B)=02H,填写以下中间结果。
SETB CADDC A, 20H (A)= 82H (CY)= 0 (AC)= 1RLC A (A)=04H (CY)=1 (P)= 1MUL AB (A)=08H (B)=00H (OV)=06.已知(R0)=20H, (20H ) =10H, (P0) =30H, (R2) =20H, 执行如下程序段后( 40H ) =15H MOV @R0 , #11H (20H)=11HMOV A , R2 A=20HADD A , 20H A=40HMOV PSW , #80HSUBB A , P0 A=10HXRL A , #45H A=15HMOV 40H , A (40H)=15H7. 已知( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 执行过程如下:MOV A , @R0 A=36HMOV R0 , A R0=36HMOV A , @R0 A=34HADD A , 21H A=4BHORL A , #21H A=21HRL A A=42HMOV R2 , A R2=42HRET则执行结束(R0)=36H (R2)= 42H8.设在31H单元存有#23H,执行下面程序:MOV A, 31H A=23HANL A, #0FH A=03HMOV 41H, A (41H)=03HMOV A, 31H A=23HANL A, #0F0H A=20HSWAP A A=02HMOV 42H, A (42H)=02H则(41H)= 03H (42H)= 02H9.(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(40)=20HMOV A,@R0 A=7FHMOV @R0,40H (4BH)=20HMOV 40H,A (40H)=7FH;MOV R0,#35H R0=35H问执行程序后,R0=35H A= 7FH 4BH= 20H 40H= 7FH10.若PSW=00, 执行下列程序后,PSW的CY,AC,OV,P各位状态如何? MOV A,#0FBH A=FBHMOV PSW,#10HADD A,#7FH A=7AH CY=1; AC=1;OV=1; P=1;MOVA,20HA=O1HINCAA=02HMOVDPTR,#2000HDPRT=2000HMOVCA,@A+DPTRA=5BHCPLAA=A3HMOV 30H,A (30H) =A3HSJMP $END执行程序后,(30H)= A3H12.分析程序段:CLRC清零cy指令MOVA,#91H给A立即数SUBBA,61H;A寄存器与地址(61h)的值相减ADDA,61H;A寄存器与地址(61h)的值相加DAA;BDC码调整指令MOV62H,A把累加器A的值送给地址寄存器62h(1)程序执行何种操作?对91H做BDC码调整;(2)若已知初值:(60H)=24H,(61H)=72H,则运行后,(62H)= 91H 。
第一、二章单片机概述与结构一、填空题1.单片机复位后,SP、PC和I/O口的内容分别为07H\000H\FFH 。
2.单片机有四个工作寄存器区,由PSW状态字中的RS1和RS0两位的状态来决定。
单片机复位后,若执行SETB RS0指令,此时只能使用 1 区的工作寄存器,地址范围是08H---0FH 。
3.51单片机驱动能力最强的并行端口为P0端口。
4.51单片机PC的长度为16位,SP的长度为___8____位,DPTR的长度为_16__位。
5.访问51单片机程序存储器地址空间、片内数据存储器地址、片外数据存储器地址的指令分别为__movc_____,MOV和_movx______。
6.若A中的内容为63H,那么P标志位的值为1 。
7.当扩展外部存储器或I/O口时,P2口用作高八位地址总线。
8.51单片机内部RAM区有 4 个工作寄存器区。
9.51单片机内部RAM区有128 个位地址。
10.外部中断1()的中断入口地址为0013 ;定时器1的中断入口地址为001B 。
11.51单片机有 4 个并行I/O口,P0~P3是准双向口,所以由输出转输入时必须先写入 1 。
12.51单片机的堆栈建立在内部RAM 内开辟的区域。
二、选择题1.访问片外部数据存储器时,不起作用的信号是(C)。
A./RD B./WE C./PSEN D.ALE2.51单片机P0口用作输出时,应外接(A )。
A.上拉电阻B.二极管C.三极管D.下拉电阻3.进位标志CY在( C )中。
A.累加器B.算逻运算部件ALU C.程序状态字寄存器PSW D.DPTR4.堆栈数据的进出原则是(D )。
A.先进先出B.进入不出C.后进后出D.先进后出5.51单片机系统中,若晶振频率为6MHz,一个机器周期等于(D )μs。
A.1.5 B.3 C.1 D.26.在家用电器中使用单片机应属于微计算机的( B )。
A.辅助设计应用B.测量、控制应用C.数值计算应用D.数据处理应用7.PC的值是(C )。
习题一1.什么是单片机,和微机相比拟,它有什么优点?2.请表达51系列单片机的主要产品及其特点。
3.除51系列单片机外,常用的单片机还有哪些型号,各有什么优点?4.单片机中常用的数制有哪些,它们之间相互如何转换?5.计算机中常用的二进制编码有哪些,请分别予以表达。
6.〔1〕10和〔-1〕10的原码、反码和补码分别是多少?习题二1.单片机主要应用在什么领域?2. 89C51单片机包含哪些主要逻辑功能部件? 各有什么主要功能?3.89C51单片机EA端如何使用?4.什么是机器周期、指令周期?89C51指令周期、机器周期和时钟周期的关系如何?当主频为12MHz时,一个机器周期等于多少微秒?执行一条最长的指令需多少微秒?5.如何认识89C51存储器空间在物理结构上可划分为四个空间,而在逻辑上又可划分为三个空间?各空间的寻址范围、寻址方式是什么?6.89C51有哪些主要的特殊功能存放器,分布在哪里?7.内部RAM低128B从功能和用途方面,可划分为哪三个区域?8.89C51内部RAM有几组工作存放器?每组工作存放器有几个工作存放器?存放器组的选择由什么决定?9.89C51的外部RAM和I/O口是如何编址的,如何寻址?10.89C51的程序存储器的寻址空间是多少,如何区别片内程序存储器和片外程序存储器的?11.89C51的位寻址区在哪里,位寻址空间是多少?12.什么是堆栈,什么是SP,89C51的堆栈位于什么地方,复位后堆栈指针初值是多少,一般将SP设置为多少?进栈、出栈时堆栈指针将怎样变化?13.单片机包括哪两种复位方式,在单片机应用系统中为何需要系统复位,复位后主要存放器的状态如何?14.89C51的P3口各引脚的第二功能是什么?15.89C51有几种低功耗方式,如何进入和退出?习题三1.什么是指令,什么是指令系统?2.89C51总共有多少条指令,分为哪几类?3.89C51有哪些寻址方式,各自的寻址空间如何?4.说明以下指令中源操作数采用的寻址方式。
2008广东工业大学考试试卷( B )课程名称:单片机原理与接口技术试卷满分100分考试时间: 2008 年1 月16 日 (第20周星期三)一、填空。
(每空1分,共30分)1.MCS-51采用指令系统,最短指令机器码为字节,最长指令机器码为字节,因此其指令在PC“走飞”时,存在被拆分的风险,即把指令的当作执行。
2.通用CPU核心部件为单元,其作用是承担算术运算和。
3.当存储器芯片处于读状态时,片选信号CS必须处于状态,控制信号OE 必须处于状态。
4.MCS-51 MCU字长为位,含义是 (数据总线、地址总线、控制总线)宽度为位,最大寻址能力为 KB。
5.MCS-51 MCU含有个位定时/计数器,其中定时/计数器具有16位自动重装初值功能。
6.MCS-51 MCU外中断编程为和触发方式。
7.PCA中断入口地址为;其中的每一模块均可以工作在软件定时方式、、、四种方式。
8.对89C51RX兼容芯片ERAM读操作时,RD (有效、无效),此时P0口作为(I/O引脚、数据/地址总线AD7~AD0)。
9.当不使用外部ROM时,MCS-51芯片EA引脚 (接地、接VCC、悬空)。
10.在以MCS-51为核心的控制系统中,最好选择 (P0、P1~P3)I/O引脚构成4*4矩阵键盘,这样可省去上拉电阻和。
11.MCS-51复位后,SP寄存器为。
12.串行口方式不能作为串行通信口,而方式的波特率固定,仅与晶振频率有关。
二、指出下列指令中指定操作的寻址方式(每空1分,共15分)1. MOV R1, #16 ;目的操作数寻址方式为: ; 源操作数寻址方式为:2. MOV A, 4FH ;目的操作数寻址方式为: ; 源操作数寻址方式为:3. MOV B, @R0 ;目的操作数寻址方式为: ; 源操作数寻址方式为:4. MOV 20H.3, C ;目的操作数寻址方式为: ; 源操作数寻址方式为:5. DEC P1 ;操作数P1寻址方式为:6. MOVX A, @DPTR ;源操作数寻址方式为:;操作对象为7. MOVC A, @A+DPTR ;源操作数寻址方式为:;操作对象为8. JB P1.0, NEXT ;操作数NEXT寻址方式为: ;操作对象为(P1.0引脚、P1.0锁存器位)。
内蒙古科技大学考试标准答案及评分标准课程名称:单片机原理及应用II 考试班级:通信2004、电子信息2004考试时间:2007 年5月15 日19 时30分至21 时30分标准制订人:李琦一、每题1分,共40分1 C2 C3 D4 B5 B6 A7 A8 A9 B 10 C11 A 12A 13 B 14 D 15 C 16 C 17 D 18 A 19 C 20 D21 A 22 C 23 C 24 D 25 B 26 B 27 D 28 C 29 C 30 A31 C 32 D 33 B 34 C 35 D 36 D 37 B 38 D 39 B 40 D二、每题5分,共15分1.每空0.5分,共5分2.每空1分,共5分3.每错1空扣1分,扣完为止,共5分三、每题6分,共24分1、每空3分,共6分ADD A,32H ADDC A,33H2、每空2分,共6分3、每空1分,共6分●这条ACALL指令的地址为_7853____H、_7854____H和_7855____H三个单元。
●指令执行前(SP)= 2A H。
●子程序两条现场保护指令依次是PUSH ACC 和PUSH PSW 。
4、每空3分,共6分SETB P1.0JB Acc.0, NEXT四、共21分1、共10分1)给出上图中62256的地址范围:0000H~7FFFFH。
(3分)2)说明EA为什么接高电平:因为没有扩展外部存储器。
(2分)3)说明74LS373的作用:锁存地址总线低8位(2分)4)给出74LS273扩展出的输出口的地址:8000H(或其他正确答案)(3分)2、共11分TIMECON DA TA 28H ; 把28H单元作为软件计数器ORG 0000HLJMP MAIN ; 跳到主程序入口ORG 000BHLJMP CTC0 ; 定时器T0中断入口地址;以上3分ORG 100HMAIN:MOV SP, #4FH ; 初始化堆栈指针SPMOV A, TMOD ; 为了不影响定时/计数器T1的工作状态,先读出TMODANL A, #0F0H ; 与F0H相与,使高4位不变,低4位清零ORL A, #00000001B ; 由TR0控制计数器开和关,GA TE位为0; 定时状态,即位为0,M1M0为01,即方式1MOV TMOD,A ; 将工作方式控制字写入TMODMOV TL0, #0B0H ; 送初值MOV TH0, #3CH ; 定时时间为50 ms(即50000 μs),初值为3CB0HSETB ET0 ; 允许定时器T0中断SETB EA ; 开中断SETB TR0 ; 启动定时器T0MOV TIMECON, #14H ; 软件计数器初值为14H(即20)HERE:SJMP HERE ; 循环等待,相当于虚拟主程序;以上4分; 定时器T0的中断服务程序CTC0:MOV TL0, #0B0H ; 重装定时器初值MOV TH0, #3CH ; 为了减少定时误差,进入中断服务后,先重装定时器初值DJNZ TIMECON, NEXT ; 软件计数器减1,不等于0,就返回MOV TIMECON, #14H ; 重装软件计数器初值CPL P1.7 ; 对P1.7取反NEXT:RETI;以上4分。
单片机试卷及标准答案2013A卷一、填空题(每空1分,共20分)1、+1000001的反码是。
十进制数-4的8位二进制补码是。
2、计算机所能执行的指令的集合称为。
指令的编码规则称为,一般由和操作数两部分组成。
3、CPU一次可以处理的二进制数的位数称为CPU的。
4、当EA为电平时,CPU总是从外部存储器中去指令。
5、89C52单片机有6个中断源,其中内部中断源有个,外部中断源有个。
6、汇编指令中,对程序存储器的访问用指令来访问,外部RAM 用指令来访问。
7、C51的数据类型sfr占个字节,C51中整型变量占个字节。
8、指令MOV 20H,#20H中,源操作数的寻址方式是,目的操作数的寻址方式是。
9、定时器T1方式2的8位常数重装初值存放于寄存器中。
定时器T0方式0,寄存器用于存放计数初值的低5位。
10、多机通信中,主机的SM2=。
11、EPROM存储器27C256内部容量是32K字节,若不考虑片选信号,则对其内部全部存储单元进行寻址共需根地址线。
12、波特率倍增位位于特殊功能寄存器中。
13、8155A内部具有1个位减法定时器/计数器。
二、单项选择题(共20题,每题1分,共20分)1、单片机的应用程序一般存放于()中A、RAMB、ROMC、寄存器D、CPU2、定时器0工作于计数方式,外加计数脉冲信号应接到()引脚。
A、 B、P3.3 C、 D、3、MCS51单片机在同一优先级的中断源同时申请中断时,CPU 首先响应()。
A、外部中断0B、外部中断1C、定时器0D、定时器14、ADC0809是()AD的转换器件A、4通道8位B、8通道8位C、4通道12位D、8通道12位5、执行中断返回指令后,从堆栈弹出地址送给()A、AB、RiC、PCD、DPTR6、串行通信中,发送和接收寄存器是()A、TMODB、SBUFC、SCOND、DPTR7、要使MCS-51能响应外部中断1和定时器T0中断,则中断允许寄存器IE的内容应该是()A、98HB、86HC、22HD、A2H8、要将P1口高4位清0,低4位不变,应使用指令()A、ORL P1,#0FHB、ORL P1,#F0HC、ANL P1,#F0HD、ANL P1,#0FH9、当选中第1工作寄存器区时,工作寄存器R1的地址是。
1.程序如下:MOV SP,#13HMOV 33H,#7FHMOV 44H,#0ABHPUSH 33HPUSH 44HPOP 33HPOP 44H程序执行后,(33H)=0ABh ,(44H)=7Fh2.下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A中的结果是什么?设(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。
(1)MOV A,#48H ;寻址方式:(A)= 48H(2)ADD A,60H ;寻址方式:(A)= 4DH(3)ANL A,@R0 ;寻址方式:(A)= 10H3.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?MOV R1,#30H ;(R1)=30HMOV A,#64H ;(A)= 64HADD A,#47H ;(A)=ABH ,(CY)= 0 ,(AC)= 0DA A ;(A)=31H ,(CY)=1 ,(AC)=MOV @R1,A ;(R1)= 30H ,(30H)= 31H此程序段完成的功能4.设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,(A)=0ORL A,#27HANL A,28HXCHD A,@R0CPL A5.设(A)=38H,(20H)=49H,PSW=00H,(B)=02H,填写以下中间结果。
SETB CADDC A, 20H (A)= 82H (CY)= 0 (AC)= 1RLC A (A)=04H (CY)=1 (P)= 1MUL AB (A)=08H (B)=00H (OV)=06.已知(R0)=20H, (20H ) =10H, (P0) =30H, (R2) =20H, 执行如下程序段后( 40H ) =15H MOV @R0 , #11H (20H)=11HMOV A , R2 A=20HADD A , 20H A=40HMOV PSW , #80HSUBB A , P0 A=10HXRL A , #45H A=15HMOV 40H , A (40H)=15H7. 已知( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 执行过程如下:MOV A , @R0 A=36HMOV R0 , A R0=36HMOV A , @R0 A=34HADD A , 21H A=4BHORL A , #21H A=21HRL A A=42HMOV R2 , A R2=42HRET则执行结束(R0)=36H (R2)= 42H8.设在31H单元存有#23H,执行下面程序:MOV A, 31H A=23HANL A, #0FH A=03HMOV 41H, A (41H)=03HMOV A, 31H A=23HANL A, #0F0H A=20HSWAP A A=02HMOV 42H, A (42H)=02H则(41H)= 03H (42H)= 02H9.(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(40)=20HMOV A,@R0 A=7FHMOV @R0,40H (4BH)=20HMOV 40H,A (40H)=7FH;MOV R0,#35H R0=35H问执行程序后,R0=35H A= 7FH 4BH= 20H 40H= 7FH10.若PSW=00, 执行下列程序后,PSW的CY,AC,OV,P各位状态如何? MOV A,#0FBH A=FBHMOV PSW,#10HADD A,#7FH A=7AH CY=1; AC=1;OV=1; P=1;MOVA,20HA=O1HINCAA=02HMOVDPTR,#2000HDPRT=2000HMOVCA,@A+DPTRA=5BHCPLAA=A3HMOV 30H,A (30H) =A3HSJMP $END执行程序后,(30H)= A3H12.分析程序段:CLRC清零cy指令MOVA,#91H给A立即数SUBBA,61H;A寄存器与地址(61h)的值相减ADDA,61H;A寄存器与地址(61h)的值相加DAA;BDC码调整指令MOV62H,A把累加器A的值送给地址寄存器62h(1)程序执行何种操作?对91H做BDC码调整;(2)若已知初值:(60H)=24H,(61H)=72H,则运行后,(62H)= 91H 。
13.设(R0)=7EH,DPTR=10FEH,片内RAM7EH和7FH两单元的内容分别是FFH和38H,请写出下列程序段的每条指令的执行结果。
INC@R0(7E)=00HINCR0R0=7FHINC@R0(7FH)=39HINCDPTRDPTR=10FFHINCDPTRDPTR=1100HINCDPTRDPTR=1101H14.设R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,(26H)=6 FH,(27H)=76H,下列程序执行程序后,结果如何?CLR C C=0;MOV R2,#3 R2=3;LOOP: MOV A,@R0 A=80H A=90HADDC A,@R1 A=20HMOV @R0,A (20H)=20H;(21H)=00H; (22H)=16HINC R0 R0=21H;INC R1 R1=26HDJNZ R2,LOOPJNC NEXT1MOV @R0,#01H (23H)=01HSJMP $NEXT: DEC R0SJMP $(20H)=20H 、(21H)= 00H 、(22H)=16H 、(23H)= 01H 、CY=1A=16H 、R0=23H 、R1=27H 。
15.MOV DPTR,#2000H (DPTR)= 2000HMOV A,#80H (A)= 80HMOVX @DPTR,A (2000H)= 80HINC DPTR (DPTR)= 2001MOV A,#90H (A)= 90HMOVX @DPTR,A (2001H)= 90HMOV DPTR,#2000H (DPTR)= 2000HMOVX A,@DPTR (A)= 80HMOV B,A (B)=80HINC DPTR (DPTR)= 2001HMOVX A,@DPTR (A)= 90H16.若(10H)=0FFH,(11H)=00H,(12H)=0FFH,(13H)=00H,写出每一步指令运行结果MOV A,10H (A)= FFH ,ANL A,#01H (A)= 01H ,MOV A,11H (A)= 00H ,ORL A,#01H (A)= 01H ,MOV A,12H (A)= FFH ,XRL A,#01H (A)= FEH ,MOV A,13H (A)= 00H ,XRL A,#0AA (A)= AAH ,(10H)= FFH , (11H)= 00H , (12H)= FFH , (13H)= 00H17. 阅读程序并回答下列问题:X DATA 50HY DATA 51HORG 00HJMP STARTORG 100HSTART: MOV SP,#60HMOV X,#10 (50H)=10MOV Y,#10 (51H)=10LCALL SUBSUB: NOPINC X (50H)=11 X+10=20DEC Y (51H)=9 Y=0;MOV A,Y A=9JZ S UBRETLCALL SUBSUBRET: NOPRET计算X和Y的值是多少?(X)=20 ;(Y)=0 ;18. 设自变量为X,存放在ARE单元,应变量Y存放在BUF单元。
给程序标注注释,说明该段子程序的功能并写出该程序的函数关系式。
(7分)START:MOV DPTR,#AREMOVX A,@DPTRJZ SULJB ACC.7,NEG ;注释:如果A的值大于128跳转NEGMOV A,#02HSUL:MOV DPTR,#BUFMOVX @DPTR,A ;注释:把A的值传送给BUF地址中RETNEG:MOV A,#0FEHSJMP SUL如果X=0,Y=0;如果X<128,Y=02h;如果X>128,Y=FEH;19. 执行下列程序段后,(P1)=_9AH__。
MOV P1,#5DHCPL P1.1CPL P1.2CLR P1.6SETB P1.720. 执行下列程序段后,(A)=___8BH____,(C Y)=__0_。
MOV A,#C5HRL A21. 下列程序段执行后,(R0)=___7EH____,(7EH)=__41H__,(7FH)=___01H____。
MOV R0,#7EH R0=7EHMOV 7EH,#0FFH (7EH)=FFHMOV 7FH,#40H (7EH)=40H1NC @R0 (7EH)=41H1NC R0 R0=7FH;1NC @R0 (7FH)=1;22. 已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALLSUBTRN双字节指令后,(PC)=___,(61H)=_______,(62H)= ____。
23. 阅读下列程序,说明其功能。
MOV R0,#dataMOV A,@R0RL AMOV R1,ARL ARL AADD A,R1MOV @R0,ARET24. 程序填空1)数据块传送,将RAM从30H开始的连续32个单元的内容传递给片内RAM从60H开始的连续32个单元。
ORG 1000HMOV R7,_____MOV R0, #30HMOV R1,#60HLOOP:MOV A,@R0MOV _____,AINC R0INC R1DJNZ R7, _____SJMP $END2)RAM中40H单元内存有一个十六进制数,把这个数转换为BCD码的十进制数,BCD 码的十位和个位放在累加器A中,百位放在R2中。
ORG 2200HMOV A,_____MOV B,#64HDIV ABMOV R2,AMOV A,_____XCH A,BDIV ABSWAP _____ORL A,BSJMP $END3)编程序将片内40H-46H单元内容的高4位清零,保持低4位不变。
ORG 1000HMOV R7,#07HMOV R0,_____LOOP:MOV A,@R0ANL A,_____MOV @R0,AINC R0DJNZ R7,LOOPSJMP $END25. 程序如下2506H M5: MOV SP,#58H;2509HMOV 10H,#0FH;250CH MOV 11H,#0BH;250FH ACALL XHD;2511H MOV 20H,11H2514H M5A: SJMP M5AXHD: PUSH 10HPUSH 11HPOP 10HPOP 11HRET问:(1)执行POP 10H后堆栈内容?(2)执行M5A: SJMP M5A后,( SP )=? ( 20H )=?26. 解读下列程序,然后填写有关寄存器内容(1) MOV R1,#48HMOV 48H,#51HCJNE @R1,#51H,00HJNC NEXT1MOV A,#0FFHSJMP NEXT2NEXT: MOV A,#0AAHNEXT2: SJMP NEXT2累加器A=( )(2) MOV A,#0FBHMOV PSW,#10HADD A,#7FH若PSW=00,当执行完上述程序段后,将PSW各位状态填入下表:PSW27.改正下列指令MOV @R3,AMOV DPTR,AINC @R3 IDEC DPTRADDC #30H,A28. 设内部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,问执行下列指令后,各有关存储单元(即R0,R1,A,B,P1,30H,40H及5AH单元)的内容如何?(8分)MOV R0,#30HMOV A,@R0MOV R1,AMOV B,R1MOV @R1,P1MOV A,P1MOV 40H,#20HMOV 30H,40H。