(完整版)第三章指令系统
- 格式:doc
- 大小:45.01 KB
- 文档页数:5
寻址方式指令系统
数据传送指令算术运算指令逻辑运算指令串操作指令
控制转移指令处理器控制指令
通用传送指令
累加器专用传送指令
地址传送指令
标志传送指令
对标志位的影响: 除SAHF和POPF指令外,其余的所有数据传送类指令
格式:
功能:
操作数类型:
DS,100H
用
堆栈:执行
PUSH
POP
SS指向堆栈段的起始位置SP指定栈顶
PUSH AX PUSH DS POP DS POP AX
格式:
oprd1,
立即数、段寄存器和
不影响
通用传送指令
累加器专用传送指令地址传送指令
标志传送指令
LEA (Load Effective Address)
LDS (Load pointer into register and DS) LES (Load pointer into register and ES)
LEA LEA
LEA
数据传送指令算术运算指令逻辑运算指令串操作指令
控制转移指令处理器控制指令
实现二进制
所有算术运算指令均所有算术运算指令均
四则运算是计算机经常进行的一种操作。
请注意算术运算指令对
只有一个操作数:寄存器或存储单元对操作数加
用于计数器和地址指针的调整
不影响进位
对操作数减
用于计数器和地址指针的调整不影响进位。
第三章指令系统习题参考答案(三)
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,@R1或@DPTR)
(4)变址寻址。
对应的空间有:
·ROM空间(采用@A+DPTR,@A+PC)
(5)相对寻址。
·ROM空间(采用JC rel)
(6)位寻址。
·片内RAM的20H~2FH单元的128可寻址位
·SFR的可寻址位
3、访问特殊功寄存器SFR可以采用哪些寻址方式?
答:直接寻址、位寻址
4、访问内部RAM单元可以采用哪些寻址方式?
答:寄存器寻址、直接寻址、寄存器间接寻址
5、访问外部RAM单元可以采用哪些寻址方式?
答:寄存器间接寻址
6、访问外部程序存储器可以采用哪些寻址方式?
答:立即寻址、变址寻址、相对寻址
7、为什么说布尔处理功能是80C51单片机的重要特点?
答:布尔处理功能是MCS-51系列单片机的一个重要特征,在物理结构
上,MCS-51单片机有一个布尔(位)处理器,对位地址空间具有丰富的位操作指令。
它在进行位操作时,以进位标志做为位累加器。
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
即最终结果为(R1)=7FH, (40H)=40H, (30H)=08H,( A)=60H
12、若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,
(20)=0FH,试指出CY、AC和OV的值。
答:(1)MOV A, @R0 ; (A)=2CH, R0=40H
(2)MOV 40H,#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.
答:(1) 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,结果存入内部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中。
答:MOV A, R2
MOV 40H,R1
MOV R1,#40H
XCHD A,@R1
MOV R1,A
18、试编写程序,将内部RAM的20H和21H单元的两个无符号数相乘,结果
存放在R2、R3中,R2中存放高8位,R3存放低8位。
答:MOV A,20H
MOV B,21H
MUL AB
MOV R2, B
MOV R3, A
19、若(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
20、若单片机的主频为12MHz,试用循环转移指令编写延时20ms的延时子程
序,并说明这种软件延时方式的优缺点。
答:分析:一个机器周期=12个晶振周期=1us
利用一对内外循环,运行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 $。