习题及参考答案
一、填空题
1、指令格式是由 操作码 和 操作数 所组成,也可能仅由 操作码 组成。 2、若用传送指令访问MCS-51的程序存储器,它的操作码助记符应为 MOVC 。 3、若用传送指令访问MCS-51的片内数据存储器,它的操作码助记符应为 MOV 。 4、若访问MCS-51的片外数据存储器,它的操作码助记符应为 MOVX 。 5、累加器(A)=80H,执行完指令ADD A,#83H后,进位位C= 1 。 6、执行ANL A,#0FH指令后,累加器A的高4位= 0000 。
7、JZ rel的操作码地址为1000H,rel=20H,它的转移目的地址为 1022H 。 8、JBC 00H,rel 操作码的地址为2000H,rel=70H,它的转移目的地址为 2073H 。 9、累加器(A)=7EH,(20H)= #04H,MCS-51执行完ADD A,20H指令后PSW.0= 0 。 10、MOV PSW,#10H是将MCS-51的工作寄存器置为第 2 组。
11、指令LCALL 37B0H,首地址在2000H,所完成的操作是 2003H 入栈, 37B0H →PC。
12、MOVX A,@DPTR源操作数寻址方式为 寄存器间接寻址 。 13、ORL A,#0F0H是将A的高4位置1,而低4位保持 不变 。
14、SJMP rel的指令操作码地址为0050H,rel=65H,那么它的转移目标地址为 00B7H 。 15、设DPTR=2000H,(A)=80H,则MOVC A,@A+DPTR的操作数的实际地址为 2080H 。 16、MOV C,20H源寻址方式为 位 寻址。
17、在直接寻址方式中,只能使用 8 位二进制数作为直接地址,因此其寻址对象只限于 片内RAM 。
18、在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的 地址 。 19、在变址寻址方式中,以 A 作变址寄存器,以 PC 或 DPTR 作基址寄存器。 20、假定累加器A中的内容为30H,执行指令 1000H:MOVC A,@A+PC
后,把程序存储器 1031H 单元的内容送入累加器A中。 21、MOVX A,@DPTR源操作数寻址方式为 寄存器间接寻址 。 22、下列程序段的功能: 交换A、B的内容。 PUSH ACC PUSH B POP ACC POP B
23、假定(SP)=60H,(ACC)=30H,(B)=70H,执行下列指令: PUSH ACC PUSH B
后,SP的内容为 62H ,61H单元的内容为 30H ,62H单元的内容为 70H 。 24、假定(SP)=62H,(61H)=30H,(62H)=70H,执行下列指令: POP DPH POP DPL
后,DPTR的内容为 7030H ,SP的内容为 60H 。 25、假定(A)=85H,(R0)=20H,(20H)=0AFH。执行指令: ADD A,@R0
后,累加器A的内容为 34H ,CY的内容为 1 ,AC的内容为 1 ,OV的内容为 1 。
26、假定(A)=85H,(20H)=0FFH,(CY)=1,执行指令: ADDC A,20H
后,累加器A的内容为 85H ,CY的内容为 1 ,AC的内容为 1 ,OV的内容为 0 。 27、累加器A中存放着一个其值小于或等于127的8位无符号数,CY清“0”后执行 RLC A指令,则A中数变为原来的 2 倍。 28、ORG 2000H LCALL 4000H ORG 4000H
ADD A,R2 执行完LCALL指令后,PC= 4000H 。
29、假定(A)=0FFH,(R3)=0FH,(30H)=0F0H,(R0)=40H,(40H)=00H。执行指令: INC A INC R3 INC 30H INC @R0
后,累加器A的内容为 00H ,R3的内容为 10H ,30H的内容为 0F1H ,40H的内容为 01H 。 30、假定(A)=56,(R5)=67。执行指令: ADD A,R5 DA A
后,累加器A的内容为 00100011B ,CY的内容为 1 。
31、假定(A)=0FH,(R7)=19H,(30H)=00H,(R1)=40H,(40H)=0FFH。执行指令: DEC A DEC R7 DEC 30H DEC @R1
后,累加器A的内容为 0EH ,R7的内容为 18H ,30H的内容为 0FFH ,40H的内容为 0FEH 。 32、假定(A)=50H,(B)=0A0H。执行指令: MUL AB
后,寄存器B的内容为 32H ,累加器A的内容为 00H ,CY的内容为 0 ,OV的内 容为 1 。
33、假定(A)=0FBH,(B)=12H。执行指令: DIV AB
后,累加器A的内容为 0DH ,寄存器B的内容为 11H ,CY的内容为 0 ,OV的内容为 0 。 34、假定(A)=0C5H,执行指令: SWAP A 后,累加器A的内容为 5CH 。
35、假定addr11=00100000000B,标号qaz的地址为1030H。执行指令: qaz:AJMP addr11
后,程序转移到地址 1100H 去执行。
36、假定A=83H,(R0)=17H,(17H)=34H,执行以下指令: ANL A,#17H ORL 17H,A XRL A,@R0 CPL A
后,A的内容为 0C8H 。
37、若单片机使用频率为6MHz的晶振,那么时钟周期为 0.334us ,机器周期为 2us 。
38、设SP=60H,片内RAM的(30H)=24H,(31H)=10H,在下列程序段注释中填写执行结果。 PUSH 30H ;SP= 61H ,(SP)= 24H PUSH 31H ;SP= 62H ,(SP)= 10H POP DPL ;SP= 61H ,DPL= 10H POP DPH ;SP= 60H ,DPH= 24H MOV A,#00H MOVX @DPTR,A
最后执行结果是 将0传送到外部数据存储器的2410H单元 。
39、在R7初值为00H的情况下,DJNZ R7,rel指令将循环执行 256 次。
40、欲使P1口的低4位输出0而高4位不变,则执行一条 ANL P1,#0F0H 指令。 41、欲使P1口的高4位输出1而低4位不变,则执行一条 ORL P1,#0F0H 指令。 42、DIV AB指令执行后,OV标志为1,则此指令执行前(B)= 00H 。 43、MUL AB指令执行后,OV标志为1,则(B)不为 00H 。 44、用一条指令 LJMP 1234H 可以取代下列4条指令: MOV DPTR,#1234H PUSH DPL PUSH DPH RET
45、要访问特殊功能寄存器,可以采用的寻址方式是 直接寻址 、 位寻址 和 寄存器寻址 。
46、要访问片外RAM,应采用的寻址方式是 寄存器间接寻址 。
47、已知SP=25H,PC=2345H,(24H)=12H,(25H)=34H,(26H)=56H。问此时执行“RET” 指令后,SP= 23H ,PC= 3412H 。 48、根据下列要求写出相应的指令: (1)将R2中的数据传送到40H (2)将R2中的数据传送到R3 (3)将R2中的数据传送到B (4)将30H中的数据传送到40H (5)将30H中的数据传送到R7 (6)将30H中的数据传送到B (7)将立即数30H传送到R7 (8)将立即数30H传送到40H
(9)将立即数30H传送到以R0中内容为地址的存储单元中 (10)将30H中的数据传送到以R0中内容为地址的存储单元中 (11)将R1中的数据传送到以R0中内容为地址的存储单元中 (12)将R1中的数据传送到以R2中内容为地址的存储单元中 (13)外部RAM 30H单元的内容送内部RAM20H单元。 (14)外部RAM 1000H单元的内容送内部RAM 20H单元。 (15)程序存储器ROM 2000H单元的内容送R1。 (16)ROM 2000H单元的内容送内部RAM 20H单元。 (17)ROM 2000H单元的内容送外部RAM 30H 单元。 (18)ROM 2000H单元的内容送外部RAM 1000H单元。 解: (1)MOV 40H,R2 (2)MOV A,R2
MOV R3,A (3)MOV B,R2 (4)MOV 40H,30H (5)MOV R7,30H (6)MOV B,30H (7)MOV R7,#30H (8)MOV 40H,#30H (9)MOV @R0, #30H (10)MOV @R0, 30H (11)MOV A, R1 MOV @R0,A (12)MOV A,R2 MOV R0,A MOV A,R1 MOV @R0,A
(13) MOV R0,#30H 或 MOV R1,#30H MOVX A,@R0 MOVX A,@R1 MOV 20H,A MOV 20H,A (14) MOV DPTR,#1000H MOVX A,@DPTR MOV 20H,A (15) MOV DPTR,#2000H CLR A
MOVC A,@A+DPTR MOV R1,A (16) MOV DPTR,#2000H CLR A
MOVC A,@A+DPTR MOV 20H,A (17) MOV DPTR,#2000H CLR A
MOVC A,@A+DPTR MOV R0,#30H MOVX @R0,A (18) MOV DPTR,#2000H CLR A
MOVC A,@A+DPTR MOV DPTR,#1000H MOVX @DPTR,A 二、选择题 1、 ORG 2000H LCALL 3000H ORG 3000H
RET 左边程序执行完RET指令后,PC=( C
)
A、2000H B、 3000H C、 2003H D、3003H 2、JNZ rel指令的寻址方式是( C )。
A、 立即寻址 B、 寄存器寻址 C、 相对寻址 D、 位寻址 3、执行LCALL 4000H指令时,MCS-51所完成的操作是( D )。
A、 保护PC B、 4000H→PC C、 保护现场 D、 PC+3入栈,4000H→PC 4、 ORG 0003H LJMP 2000H ORG 000BH
LJMP 3000H 当CPU响应外部中断0后,PC的值是( B ) A、 0003H B、 2000H C、 000BH D、 3000H 5、MOVX A,@DPTR指令中源操作数的寻址方式是( B )。 A、 寄存器寻址 B、寄存器间接寻址 C、直接寻址 D、 立即寻址 6、执行PUSH ACC指令,MCS-51完成的操作是( A )。
A、 SP+1→SP (ACC)→(SP) B、 (ACC)→(SP) SP-1→SP C、 SP-1→SP (ACC)→(SP) D、 (ACC)→(SP) SP+1→SP 7、要把P0口高4位变0,低4位不变,应使用指令( D )。 A、 ORL P0,#0FH B、 ORL P0,#0F0H C、 ANL P0,#0F0H D、 ANL P0,#0FH
8、LCALL指令操作码地址是2000H,执行完相应子程序返回指令后,PC=( D )。 A、 2000H B、 2001H C、 2002H D、 2003H
9、MCS-51执行完MOV A,#08H后,PSW的哪一位被置位( D )。 A、 C B、 F0 C、 OV D、P 10、关于MCS-51的堆栈操作,正确的说法是( C )。
A、 先入栈,再修改堆栈指针 B、 先修改堆栈指针,再出栈 C、 先修改堆栈指针,再入栈 D、 以上都不对
11、要访问MCS-51的特殊功能寄存器应使用的寻址方式是( C )。 A、 寄存器间接寻址 B、 变址寻址 C、 直接寻址 D、 相对寻址 12、下面哪条指令将MCS-51的工作寄存器置为3区( B )。 A、 MOV PSW,#13H B、 MOV PSW,#18H C、 SETB PSW.4 D、 SETB PSW.3 CLR PSW.3 CLR PSW.4 13、ORG 0000H AJMP 0040H ORG 0040H
MOV SP,#00H 当执行完左边的程序后,PC的值是( D ) A、 0040H B、 0041H C、 0042H D、 0043H 14、指令AJMP的跳转范围是( C )。
A、 256B B、 1KB C、 2KB D、 64KB
15、以下运算中对溢出标志OV没有影响或不受OV影响的运算是( A ) A、 逻辑运算 B、 符号数加减法运算 C、 乘法运算 D、 除法运算
16、假定设置堆栈指针SP的值为37H,在进行子程序调用时把断点地址进栈保护后,SP的值为( A、 36H B、 37H C、 38H D、 39H 17、在寄存器间接寻址方式中,指定寄存器中存放的是( B )
A、 操作数 B、 操作数地址 C、 转移地址 D、 地址偏移量
D )。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库单片机习题及参考答案在线全文阅读。
相关推荐: