MCS-51单片机指令系统
- 格式:ppt
- 大小:1.26 MB
- 文档页数:86


第三章MCS51单片机的指令系统和汇编语言程序示例(第5、6、7节)
1. 试分析单片机执行下列指令后累加器A和PSW中各标志位的变化状况?
(1)MOV A,#19H
ADD A,#66H
(2)MOV A,#5AH
ADD A,#6BH
2. 已知:A=85H,R0=30H,(30H)=11H, (31H)=0FFH,C=1,试计算单片机执行下列指令后累加器A和C中的值各是多少?
(1) ADDC A,R0, (2)ADDC A,31H
(3) ADDC A,@R0, (4) ADDC A,#85H
3. 已知M1和M2中分别存放两个16位无符号数的低8位,M1+1和M2+1中分别存放两个16位无符号数的高8位,计算两数之和(低8位存放在M1,高8位存放在M1+1,设两数之和不超过16位)。
4. 试分析单片机执行下列指令后累加器A和PSW中各标志位的变化状况?
CLR C
MOV A,#52H
SUBB A,#0B4H
5. 已知:A=0DFH,R1=40H,R7=19H,(30H)=00H,(40H)=0FFH,试分析单片机执行下列指令后累加器A和PSW中各标志位的变化状况?
(1) DEC A (2) DEC R7 (3) DEC 30H (4) DEC @R1
6. 试写出能完成85+59的BCD加法程序,并对工作过程进行分析。
7. 已知:两个8位无符号乘数分别放在30H和31H单元中,编程实现他们乘积的低8位存放在32H,高8位存放在33H。
8. 已知:R0=30H,(30H)=0AAH,试分析执行下列指令后累加器A和30H单元的内容是什么?
(1) MOV A, #0FFH ANL A, R0
(2) MOV A, #0FH ANL A, 30H
(3) MOV A, #0F0H ANL A, @R0
(4) MOV A, #80H ANL 30H, A
237 附录三 MCS-51指令表
十六进制代码 助 记 符 功 能 对标志影响
P OV AC Cy 字节数 周期数
算 术 运 算 指 令
28—2F
25
26,27
24
38—3F
35
36,37
34
98—9F
95
96,97
94
04
08—0F
05
06,07
A3
14
18—1F
15
18,17
A4
84
D4 ADD A,Rn
ADD A,direct
ADD A,@Ri
ADD A,#data
ADDC A,Rn
ADDC A,direct
ADDC A,@Ri
ADDC A,#data
SUBB A,Rn
SUBB A,direct
SUBB A,@Ri
SUBB A,#data
INC A
INC Rn
INC direct
INC @Ri
INC DPTR
DEC A
DEC Rn
DEC direct
DEC @Ri
MUL AB
DIV AB
DA A A(A)+(Rn)
A(A)+(direct)
A(A)+((Ri))
A(A)+data
A(A)+(Rn)+(Cy)
A(A)+(direct)+(Cy)
A(A)+((Ri))-(CY)
A(A)+data+(CY)
A(A)-(Rn)-(CY)
A(A)-(direct)-(CY)
A(A)-((Ri))-(CY)
A(A)-data-(CY)
A(A)+1
Rn(Rn)+1
direct(direct)+1
(Ri)((Ri))+1
DPTR(DPTR)+1
A(A)-1
Rn(Rn)-1
direct(direct)-1
MCS-51单片机指令表
序号__-__-__年__-__序号__-__
附录1MCS-51单片机指令表
数据传送类指令
指令格式指令功能字节MOVA,RnRn内容传送到A1MOVA,direct直接地址内容传送到A2MOVA,@Ri间接RAM单元内容送A1MOVA,#data立即数送到A2MOVRn,AA内容送到Rn1MOVRn,direct直接地址内容传送到Rn2MOVRn,#data立即数传送到Rn2MOVdirect,AA传送到直接地址2MOVdirect,RnRn传送到直接地址2MOVdirect2,直接地址传送到直接地址
3
direct1
MOVdirect,@Ri间接RAM内容传送到直接地址2MOVdirect,#data立即数传送到直接地址3MOV@Ri,AA内容送间接RAM单元1MOV@Ri,direct直接地址传送到间接__@Ri,#data立即数传送到间接__CA,@A+DPTR代码字节送A(DPTR为基址)1MOVCA,@A+PC代码字节送A(PC为基址)1MOVXA,@Ri外部RAM(8地址)内容传送到A1MOVXA,@DPTR外部RAM内容(16地址)传送到A1__,#data1616位常数加载到数据指针1MOVX@Ri,AA内容传送到外部RAM(8地址)1MOVX@DPTR,AA内容传送到外部RAM(16地址)1PUSHdirect直接
地址压入堆栈2POPdirect直接地址弹出堆栈2XCHA,RnRn内容和A交换1XCHA,direct直接地址和A交换2XCHA,@Ri间接RAM内容A交换1XCHDA,@Ri间接RAM内容和A交换低4位字
1
节
算术运算类指令
指令格式指令功能字节INCAA加11INCRnRn加11INCdirect直接地址加12INC@Ri间接RAM加11__数据指针加11DECAA减11DECRnRn减11DECdirect直接地址减12
MCS-51单片机指令系统
MCS-51单片机指令系统系统包括111条指令,按功能可以划分为一下5类:
数据传送指令(29条)
算术运算指令(24条)
逻辑运算及移位指令(24条)
控制转移指令(17条)
位操作指令(17条)
指令系统中的符号说明
符号 含义
Rn 表示当前选定寄存器组的工作寄存器R0~R7
Ri 表示作为间接寻址的地址指针R0~R1
#data 表示8位立即数,即00H~FFH
#data16 表示16位立即数,即0000H~FFFFH
addr16 表示16位地址,用于64K范围内寻址
addr11 表示11位地址,用于2K范围内寻址
direct 8位直接地址,可以是内部RAM区的某一单元或某一专用功能寄存器的地址
Rel 带符号的8位偏移量(-128~+127)
Bit 位寻址区的直接寻址位
(X) X地址单元中的内容,或X作为间接寻址寄存器时所指单元的内容
← 将 ← 后面的内容传送到前面去
一、数据传送指令(29条)
1.内部8位数据传送指令(15条)
内部8位数据传送指令共15条,主要用于MCS-51单片机内部RAM与寄存器之间的数据传送。指令基本格式:
MOV
,
(1) 以累加器A为目的地址的传送指令
助记符格式 相应操作 机器周期
MOV A,Rn A←Rn 1
MOV A,direct A←(direct) 1
MOV A,@Ri A←(Ri) 1
MOV A,#data A←#data 1
(2) 以Rn为目的地址的传送指令
助记符格式 相应操作 机器周期
MOV Rn,A Rn←A 1
MOV Rn,direct Rn←(direct) 1 MOV Rn,#data Rn←#data 1
(3) 以直接地址为目的地址的传送指令
助记符格式 相应操作 机器周期