单片机指令系统复习试题205.pdf
《单片机指令系统复习试题205.pdf》由会员分享,可在线阅读,更多相关《单片机指令系统复习试题205.pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.学习好帮手 一.填空题 1.指出以下程序顺序执行后每一条指令的结果。填写在划线部分。(1)MOV A,#25H;(A)25H (2)MOV 40H,#1AH;(40H)=1AH (3)MOV R2,#33H;(R2)=33H (4)CLR C ;(C)=0 (5)ADD A,R2 ;(A)58H (6)ADDC A,40H ;(A)72H (7)MOV RO,#40H ;(R0)=40H (8)ADDC A,RO ;(A)8CH 2.在划线部分写出下列程序每一条指令执行后其目的操作数的结果。(1)MOV A,#OFOH ;0F0H (2)CPL A ;0FH (3)ANL 30H,#00H
2、;00H (4)ORL 30H,#BDH ;0BDH (5)XRL 30H,A ;0B2H 3.若(A)=7AH,分别执行下列指令后,A 的值是多少?填在划线部分。标志位 CY 和 OV 的值各是多少 考虑上下指令之间的联系。(1)ANL A,#0FFH ;7AH (4)ORL A,#00H ;7AH (2)ORL A,#0FFH ;0FFH (5)XRL A,#0FFH ;85H (3)ANL A,#00H ;00H (6)XRL A,00H ;7AH 二简答题 1.8051 单片机的指令系统有何特点?解:8051 的指令系统由 111 条指令组成。如果按字节数分类,有 49 条单字节指令
3、46 条双字节指令和 16 条三字节指令,以单字节指令为主;如果按照指令执行时间分类,有 64 条单周期指令、45 条双周期指令和条四周期指令,以单周期指令为主。8051 的指令系统具有以下特点:(1)存储效率高、执行速度快,可以进行直接地址到直接地址的数据传送,能把一个并行 I/O 口中的内容传送到内部 RAM 单元中而不必经过累加器 A 或工作寄存器 Rn。这样可以大大提高传送速度和缓解累加器 A 的瓶颈效应。(2)用变址寻址方式访问程序存储器中的表格,将程序存储器单元中的固定常数或表格字节内容传送到累加器 A 中。这为编成翻译算法提供了方便。(3)在算术运算指令中设有乘法和除法指令(4)
4、指令系统中一些对 I/O 口进行操作的指令具有“读修改写”的功能。这一功能指:在执行读锁存器的指令时,CPU 首先完成将锁存器的值通过缓冲器 BUF2 度入内部,进行修改、改变,然后重新写到锁存器中去。这种类型指令包含所有的逻辑操作和位操作指令。(5)8051 单片机内部有一个布尔处理器,对为地址空间具有丰富的位操作指令。布尔操作类指令有 17条,包括布尔传送指令、布尔状态控制指令、布尔逻辑操作指令、布尔条件转移指令。2.8051 单片机指令系统按功能可分为几类?具有几种寻址方式?它们的寻址范围如何?解:MCS-51 单片机指令系统按功能可分为 5 类:(1)数据传送指令 2)算术运算指令 3
5、)逻辑运算和移位指令 4)控制转移指令 5)位操作指令 MCS-51 单片机的指令系统提供了七种寻址方式,其对应的寻址范围如下表:3.访问特殊功能寄存器和外部数据存储器应采用哪种寻址方式?解:访问特殊功能寄存器,应采用直接寻址、位寻址方式。访问外部数据存储器,应采用寄存器间接寻址方式。在 0255B 范围内,可用寄存器 R0、R1 间接寻址:寻址方式 使用的变量 寻址范围 立即寻址 程序存储器 直接寻址 内部 RAM 低 128 个字节;特殊功能寄存器 SFR 寄存器寻址 R0R7;A、B、DPTR、C 寄存器间接寻址 R0、R1、SP 内部 RAM、堆栈指针 SP R0、R1、DPTR 外部
6、 RAM 变址寻址 A+PC、A+DPTR 程序存储器 相对寻址 PC+偏移量 程序存储器 位寻址 内部 RAM 低 128B 位寻址区 可位寻址的特殊功能寄存器位.学习好帮手 MOVX A,R0 或 MOVX A,R1 MOVX R0,A 或 MOVX R1,A 在 064KB 范围内,可用 16 位寄存器 DPTR 间接寻址 MOVX A,DPTR MOVX DPTR,A 4.“DA A”指令的作用是什么?怎样使用?解:这条指令是在进行 BCD 码加法运算时,跟在“ADD”和“ADDC”指令之后,用来对 BCD 码的加法运算结果自动进行修正的,使其仍为 BCD 码表达形式。在计算机中,遇到
7、十进制调整指令时,中间结果的修正是由 ALU 硬件中的十进制修正电路自动进行的。用户不必考虑何时该加“6”,使用时只需在上述加法指令后面紧跟一条“DA A”指令即可。5.片内 RAM 20H2FH 单元中的 128 个位地址与直接地址 00H7FH 形式完全相同,如何在指令中区分出位寻址操作和直接寻址操作?解:虽然内部 RAM 位寻址区的位地址范围 00H7FH 与低 128 个单元的单元地址范围00H7FH 形式完全相同,但是在应用中可以通过指令的类型区分单元地址和位地址。位寻址的操作只适用于下列位指令,而直接寻址操作对这些指令是无效的。MOV C,bit MOV bit,C CLR bit
8、 SETB bit CPL bit ANL C,bit ANLC,/bit JB bit,rel JNB bit,rel 6.8051 单片机指令系统中有长跳转 LJMP,长调用 LCALL 指令,为何还设置了绝对跳转 AJMP,绝对调用ACALL 指令?在实际使用是应怎样考虑?解:在实际应用中,可从寻址范围和指令长度两个方面来选择长跳转指令 LJMP 和短跳转指令 AJMP、长调用指令 LCALL 和短调用指令 ACALL。长跳转 LJMP 在 64KB 范围内转移,而短跳转 AJMP 只能在 2KB 空间转移。长调用 LCALL 调用位于64KB 程序空间的子程序,而短调用 ACALL 调
9、用位于 2KB 程序空间范围的子程序。AJMP、ACALL 指令代码长度为个字节;LJMP、LCALL 指令代码长度为个字节。7.SJMP,AJMP 和 LJMP 指令在功能上有何不同?解:指令的转移范围不同。SJMP 是 256B 范围内的相对转移指令,AJMP 是 2KB 范围内的无条件短跳转指令,LJMP 是 64KB 范围内的无条件长跳转指令。8.MOVC A,A+DPTR 与 MOVX A,DPTR 指令有何不同?解:MOVC 指令是针对程序存储器的数据传送指令,A+DPTR 基址变址寻址时,DPTR 为常数且是表格的首地址,A 为从表格首址到被访问字节地址的偏移量。MOVX 指令是
10、针对外部 RAM 的数据传送指令,DPTR 寄存器间接寻址时,寻址范围在 064KB。9.在“MOVC A,A+DPTR”和“MOVC A,A+PC”中,分别使用了 DPTR 和 PC 作基址,请问这两个基址代表什么地址?使用中有何不同?解:使用A+DPTR 基址变址寻址时,DPTR 为常数且是表格的首地址,A 为从表格首址到被访问字节地址的偏移量。使用A+PC 基址变址寻址时,PC 仍是下条指令首地址,而 A 则是从下条指令首地址到常数表格中的被访问字节的偏移量。10.设片内 RAM 中的(40H)=50H,写出执行下列程序段后寄存器 A 和 R0,以及片内 RAM 中 50H 和 51H单
11、元的内容为何值?MOV A,40H MOV R0,A MOV A,#00 MOV R0,A MOV A,#30H MOV 51H,A MOV 52H,#70H 解:结果为:(A)30H (R0)=50H (50H)00H (51H)30H 11.设堆栈指针(SP)=60H,片内 RAM 中的(30H)=24H,(31H)=10H。执行下列程序段后,61H,62H,30H,31H,DPTR 及 SP 中的内容将有何变化?解:结果为:(61H)=24H (62H)=10H (30H)=00H (31H)=0FFH DPTR=2410H SP=60H 12.在 8051 的片内 RAM 中,已知(2
12、0H)=30H,(30H)=40H,(40H)=50H,(50H)=55H。分析下面各条指令,说明源操作数的寻址方式,分析按顺序执行各条指令后的结果。MOV A,40H MOV R0,A MOV P1,,#80H MOV R0,20H MOV DPTR,#2000H MOV 40H,30H MOV R0,30H MOV D0H,R0 MOV 10H,#10H MOV 50H,R0 MOV A,R0.学习好帮手 MOV P2,P1 解:指令 源操作数的寻址方式 执行指令后的结果 MOV A,40H 直接寻址 (A)=50H MOV R0,A 寄存器寻址 (R0)=50H MOV P1,#80H
13、立即寻址 (P1)=80H MOV R0,20H 寄存器间接寻址 (50H)=30H MOV DPTR,#2000H 立即寻址 (DPTR)=2000H MOV 40H,30H 直接寻址 (40H)=40H MOV R0,30H 直接寻址 (R0)=40H MOV D0H,R0 直接寻址 (D0H)=40H MOV 10H,#10H 立即寻址 (10H)=10H MOV A,R0 寄存器间接寻址 (A)=40H MOV P2,P1 寄存器寻址 (P2)=80H 13指出下列程序中每一条指令的划线操作数的寻址方式及其完成的操作。MOV 3FH,#40H ;3FH 为直接寻址,指令把数 40H 送
14、地址 3FH 中 MOV A,3FH ;A 为特殊寄存器寻址,把地址 3FH 中的内容送 A 中 MOV R1,#3FH ;3FH 为立即寻址,指令把数 3FH 送寄存器 R1 中 MOV A,R1 ;R1 间接寻址,R1 的内容 3FH 作地址中的内容送 A 中 MOV 3FH,R1 ;寄存器寻址,R1 的内容送地址 3FH 中 14.内部 RAM 的 4FH 单元,可用哪几种方式寻址?分别举例说明。答:1、直接寻址:MOV R1,4FH 2、间接寻址:MOV R1,#4FH 和 MOV A,R1 15.特殊功能寄存器可用哪几种方式寻址?分别举例说明。答:只有直接寻址:MOV A,90H(M
15、OV A,P1);该指令只有机器码 E590H。16.编程:将立即数 55H 送入内部 RAM 的 30H 单元。(1)用立即寻址(2)用寄存器寻址(3)用寄存器间接寻址 答:(1)MOV 30H,#55H(2)MOV R1,#55H MOV 30H,R1(3)MOV R1,#30H MOV R1,#55H 17.用指令实现下述数据传送:(1)内部 RAM 30H 单元的内容送内部 RAM40H 单元。答:MOV 40H,30H (2)外部 RAM 30H 单元的内容送 R0 寄存器 答:MOV R1,#30H MOVX A,R1 MOV R0,A (3)外部 RAM 30H 单元的内容送内部
16、 RAM 30H 单元 答:MOV R1,#30H MOVX A,R1 MOV 30H,A (4)外部 RAM 2000H单元的内容送内部 RAM20H 单元 答:MOV DPTR,#2000H MOVX A,DPTR MOV 20H,A (5)外部 ROM 2000H单元的内容送内部 RAM20H 单元 答:MOV DPTR,#2000H MOV A,#00H MOVC A,A+DPTR MOV 20H,A (6)外部 ROM 2000H单元内容送外部 RAM20H 单元。答:MOV DPTR,#2000H MOV A,#00H MOVC A,A+DPTR MOV R1,#20H MOVX
17、R1,A 18.指出下列指令执行后目的操作数的结果,并写出每条指令的机器码。可不管上下句联系。其中(R0)=30H。MOV 30H#52H;(30H)=52H MOV A,#78H;(A)=78H MOV A,#30H;(A)=30H MOV R0,#30H;(R0)=30H MOV A,R0;(A)=52H,把 30H 的内容送 A 中。.学习好帮手 19.指出在下列各条指令中,45H 代表什么寻址方式?(1)MOV A,#45H;立即寻址 (2)MOV 45H,#46H;立即寻址 (3)MOV 45H,46H;直接寻址 (4)MOV C,45H;位寻址 20.分析下列指令顺序执行的结果,并
18、写出每条指令的机器码。(1)MOV A,#32H ;7432H (2)MOV DPTR,#2020H ;902020H (3)MOVX DPTR,A ;F0H (4)MOV 20H,#45H ;752045H(4)MOV R0,#20H ;7820H (5)MOVX A,R0 ;E2H (6)MOV 30H,A ;F530H 结果:片外存储器 RAM2020H 内容为 32H,(30H)=(A)=45H 23.指出以下程序顺序执行后每一条指令的结果。填写在划线部分。(1)MOV A,#25H;(A)25H (2)MOV 40H,#1AH;(40H)=1AH (3)MOV R2,#33H;(R2
19、)=33H (4)CLR C;(C)=0 (5)ADD A,R2 ;(A)58H (6)ADDC A,40H ;(A)72H (7)MOV R0,#40H ;(R0)=40H (8)ADDC A,R0 ;(A)8CH 24.在划线部分写出下列程序每一条指令执行后其目的操作数的结果。(1)MOV A,#0F0H ;0F0H (2)CPL A ;0FH (3)ANL 30H,#00H;00H (4)ORL 30H,#BDH;0BDH (5)XRL 30H,A;0B2H 25.若(A)=7AH,分别执行下列指令后,A 的值是多少?填在划线部分。标志位 CY 和 OV 的值各是多少?不考虑上下指令之间
20、的联系。(1)ANL A,#0FFH;7AH(2)ORL A,#0FFH;0FFH (3)ANL A,#00H;00H (4)ORL A,#00H;7AH (5)XRL A,#0FFH;85H(6)XRL A,00H;7AH 26.请判断下列各条指令的书写格式是否有错,如有错说明原因:答:打()为不存在指令.1、mul r0r1()2、mov a,r7()3、mov a,#3000h()4、movc a+dptr,a()5、ljmp#1000h()6、MOVX R0,B()7、MOV A,30H()8、MOVX A,30H()9、ADDC A,R7()10、ANL#99H,36H()27.阅读
21、下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?MOV R 1,#30H;(R 1)=30H MOV A,#64H;(A)=64H ADD A,#47H;(A)=0ABH,(CY)=0,(AC)=0 DA A;(A)=11,(CY)=1,(AC)=1 MOV R 1,A;(R 1)=30H,(30H)=11H 此程序段完成的功能:程序采用十六进制运算指令完成十进制数运算 64+47=11,且进位为 1。结果在 30H 单元。注意到 DA A 的功能。28.内部 RAM 的 4FH 单元,可用哪几种方式寻址?分别举例说明。答:1.直接寻址:MOV R1,4FH 2.间接寻址:M
22、OV R1,#4FH 和 MOV A,R1 29.编程:将立即数 55H 送入内部 RAM 的 30H 单元。(1)用立即寻址 MOV 30H,#55H(2)用寄存器寻址 MOV R1,#55H MOV 30H,R1(3)用寄存器间接寻址 MOV R1,#30H MOV R1,#55H 30.用指令实现下述数据传送:(1)内部 RAM 30H 单元的内容送内部 RAM40H 单元。答:MOV 40H,30H (2)外部 RAM 30H 单元的内容送 R0 寄存器 答:MOV R1,#30H MOVX A,R1 MOV R0,A (3)外部 RAM 30H 单元的内容送内部 RAM30H 单元
23、.学习好帮手 答:MOV R1,#30H MOVX A,R1 MOV 30H,A (4)外部 RAM 2000H单元的内容送内部 RAM20H 单元 答:MOV DPTR,#2000H MOVX A,DPTR MOV 20H,A (5)外部 ROM 2000H单元的内容送内部 RAM20H 单元 答:MOV DPTR,#2000H MOV A,#00H MOVC A,A+DPTR MOV 20H,(6)外部 ROM 2000H 单元内容送外部 RAM20H 单元。答:MOV DPTR,#2000H MOV A,#00H MOVC A,A+DPTR MOV R1,#20H MOVX R1,A 三
24、.编程题 1.试编程实现内部 RAM25H 单元与外部 RAM5500H 单元的数据交换。MOV DPTR,#5500H MOVX A,DPTR XCH A,25H MOVX DPTR,A 2.试编程实现外部 RAM2040H 单元的内容与 3040H 单元互换。MOV DPTR,#2040H MOVX A,DPTR MOV 30H,A MOV DPTR,#3040H MOVX A,DPTR XCH A,30H MOVX DPTR,A MOV DPTR,#2040H MOV A,30H MOVX DPTR,A 3.试编程实现两个无符号16 位数的减法。被减数和减数分别存放在 DATA1 和 D
25、ATA2 为首址的内部 RAM中,低位在低地址单元,高位在后,差存于 R3(低 8 位)和 R4(高 8 位)中.CLR C MOV R0,#DATA1 MOV A,R0 MOV R1,#DATA2 SUBB A,R1 MOV R3,A INC R0 INC R1 MOV A,R0 SUBB A,R1 MOV R4,A 4若外部 RAM 的(2000H)=X,(2001H)=Y,编程实现 Z=3X+2Y,结果存入内部 RAM 20H 单元(设 Z255)MOV DPTR,#2000H MOVX A,DPTR MOV B,#03H MUL AB MOV B,A;存 3X MOV DPTR,#20
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 指令系统 复习 试题 205
限制150内