第三章指令系统
- 格式:docx
- 大小:19.78 KB
- 文档页数:4
第三章指令系统习题参考答案(三)
1、80C51 系列单片机的指令系统有何特点?
答:80c51的指令系统的特点有:(1)执行时间短。
一个机器周期指令有64 条,2个时间周期指令有45条,而4个机器周期指令仅有2条(即乘法和除法指令);(2)指令编码字节少。
单字节的指令有49 条,双字节的指令有45 条,三字节的指令仅有17条;(3)位操作指令丰富。
这是80c51单片机面向控制特点的重要保证。
2、80C51 单片机有哪几种寻址方式?各寻址方式所对应的寄存器或存储器空间如
何?
答:( 1 )寄存器寻址。
对应的寄存器有:
•工作寄存器R0~R7
•累加器A
•寄存器B
•数据指针DPTR
(2)直接寻址。
对应的存储空间有:
•片内RAM氐128字节(以地址形式表示)
•SFR(以地址形式或SFR符号形式表示,但符号将转换为相应的SFR
地址)
(3)寄存器间接寻址。
对应的空间有:
•片内RAM采用@R0 @R1或SP);
•片外RAM(采用@R0 @只或@DPTR
(4)变址寻址。
对应的空间有:
• RO腕间(采用@A+DPTR,@A+PC
(5)相对寻址。
• RO腕间(采用JC rel )
(6)位寻址。
•片内RAM勺20H~2FH单元的128可寻址位
• SFR的可寻址位
3、访问特殊功寄存器SFR 可以采用哪些寻址方式?答:直接寻址、位寻址
4、访问内部RAM 单元可以采用哪些寻址方式?答:寄存器寻址、直接寻址、寄存
器间接寻址
5、访问外部RAM 单元可以采用哪些寻址方式?答:寄存器间接寻址
6、访问外部程序存储器可以采用哪些寻址方式?答:立即寻址、变址寻址、相对寻
址
7、为什么说布尔处理功能是80C51 单片机的重要特点?答:布尔处理功能是
MCS-51 系列单片机的一个重要特征,在物理结构上,MCS-51 单片机有一个布尔(位)处理器,对位地址空间具有丰富的位操作指令。
它在进行位操作时,以进位标志做为位累加器。
1
8、对于80C52 单片机几个内部RAM 还存在高128 字节,应采用何种方式
访问?
答:对片外RAM 进行访问时,需要以下四条指令进行:
读:
(1) MOVX A,@DPTR;
( 2 ) MOVX A,@Ri;
写:
( 3) MOVX@DPTR,A;
( 4) MOVX@ Ri,A;
9、试根据指令编码表写出下列指令的机器码。
1) MOV A , #88H
2) MOV R3, 50H
3) MOV P1.1, #55H
4) ADD A,@R1
5) SETB 12H
答: 指令对应的机器码为
(1) 74H
(2) ABH
(3) 75H
(4) 27H
10、完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下每种操
作的指令序列。
(1)将R0 的内容传送到R1;
(2)内部RAM 单元60 睥内容传送到寄存器R2;
(3)外部RAM 单元1000H 的内容传送到内部RAM 单元60H;
(4)外部RAM 单元1000H 的内容传送到寄存器R2;
(5)外部RAM 单元10000H 的内容传送到外部RAM 单元2000H。
答:(1)MOV A, R0;
MOV R1,A;
(2) MOV R2,60H;
(3)MOV DPTR,#1000H;
MOVX A,@DPTR;
MOV 60H,A;
(4) MOV DPTR,#1000H;
MOVX A,@DPTR;
MOV R2,A;
(5) MOV DPTR,#1000H;
MOVX A,@DPTR;
MOV R0,#2000H;
MOVX @R0,A;
11、若(R1)= 30H, (A)= 40H , (30H)= 60H , (40H)= 08H。
试
分析执行下列程序段后上述各单元内容的变化。
答:MOVX A,@R1 ;A=60H
MOV @R1,40H ; (30H)=08H
MOV 40H,A ;(40H)=40H
MOV R1,#7FH ;(R1)=7FH
2
即最终结果为(R1)=7FH, (40H)=40H, (30H)=08H,( A)=60H
12、若(A) = E8H , (RO) = 40H , ( R1) = 20H , ( R4) = 3AH , (40H) = 2CH ,
(20)= 0FH,试指出CY、AC和OV的值。
答:(1) MOV A, @R0; (A)=2CH, R0=40H
( 2 ) MOV40H,#0FH; (40H)=0FH
( 3 ) ADD A,R4; (A)=22H, (CY)=1, (AC)=1, (OV)=0
( 4 ) SWAP A; (A)=8EH
( 5 ) DEC@R1; (20H)=0EH, (R1)=20H
( 6 XCHD A, @R1; (A)=EFH, (20H)=08H, (R1)=20H 13、若(50H)= 40H,试写出执行以下程序段后累加器A、寄存器R0及内部
RAM 答:的40H、41H 和42H 单元中的内容各为多少?
MOV A ,50H ; (A)=40H
MOV R0, A ; (R0)=40H
MOV A,#00H ; (A)=00H
MOV @R0, A ; (40H)=00H
MOV A ,3BH ; (A)=(3BH)
MOV 41H, A ; (41H)=(3BH)
MOV 42H, 41H ; (42H)=(3BH)
即最终结果为 (R0) =40H , (40H)=00H , (A)=(3BH) ,(41H)=(3BH) ,
(42H)=(3BH)
14、试用位操作指令实现下列逻辑操作。
要求不得改变未涉及位的内容 ( 1 )使ACC 。
0 置位;
( 2)清除累加器高4位; ( 3)清除ACC.3, ACC.4, ACC.5, ACC.6.
答:⑴CLR ACC.0 ;使ACC.0置位
(2) CLR ACC.7
CLR ACC.6
CLR ACC.5
CLR ACC.4
(3) CLR ACC.3
CLR ACC.4
CLR ACC.5
CLR ACC.6
15、试编写程序,将内部RAM 的20H、21H 和22H 三个连续单元的内容存入
2FH 、2EH 和2DH 单元。
答:MOV A,20H
MOV R0,#2FH
LOOP: MOV @R0,A
INC A
DEC R0
CJNE R0,#2CH, LOOP
SJMP $
16、试编写程序,完成两个16位数的减法:F4DH —2B4EH ,结果存入内部
3
20、
RAM 的30H 和31H , 31H 单元存差的高8位,30H 单元存差的低8位 答: CLR C
MOV A, #4DH
MOV R0,#4EH
SUBB A,R0
MOV 30H, R0
MOV A,#7FH
MOV R0,#2BH
SUBB A,R0
MOV 31H, R0
17、试编写程序,将R1中的低4位数与R2中的高4位数合并成一个8位数, 并将其存入在 R1 中
利用一对内外循环,运行 20000个机器周期,从而延迟 20ms 。
汇编程序如下:
LOOP: MOV R1,#00H
INC R1
NEXT: MOV R0,#00H
INC R0
NOP
CJNE R0,#13H , NEXT
NOP
CJNE R1,#C8H,LOOP
SJMP $ MOV R1,#40H
XCHD A,@R1
MOV R1,A
试编写程序, 将内部 RAM 的 20H 和 21H 单元的两个无符号数相乘,结果 存放在 R2、 R3中,R2中存放高8位,R3存放低8位。
答: MOV A,20H
MOV B,21H
MUL AB MOV R2, B
MOV R3, A
若(CY )= 1, ( P1) =10100011B, ( P3)= 01101100B 试指出执行下列 程序段后, CY 、 P1 口及 P3 口内容的变化情况。
答: MOV P1.3, C
MOV P1.4, C ; (P1)=10111011B
MOV C, P1.6 ; (CY)=0
MOV P3.6, C
MOV C, P1.0 ; (CY)=1
MOV P3.4, C ; (P2)=00111100B
即最终为 ( CY ) =1 ,(P1)=10111011B ,(P2)=00111100B
答:MOV A, R2
MOV 40H,R1
18、 19 、 若单片机的主频为12MHz ,试用循环转移指令编写延时 20ms 的延时子程 序,并说明这种软件延时方式的优缺点。
分析:一个机器周期 =12 个晶振周期 =1us。