8051算术指令组


在8051微控制器中,算术指令组共有24条不同的指令,总共有64个操作码。进位标志(CY)、辅助进位标志(AC)和溢出标志(OV)会根据ADD、ADDC、SUBB等指令的结果而变化。乘法和除法指令会清除进位标志,并且不影响辅助进位标志。乘法执行后,如果结果大于FFH,则溢出标志为1,否则为0。类似地,除法执行后,如果除数B的内容在除法前为00H,则溢出标志为1,否则为0。DA A(十进制调整累加器)指令只影响进位标志。

在下表中,我们将看到指令助记符、字节数、执行时间(以机器周期为单位)、操作码数量等。

助记符
字节数
执行时间操作码数量
ADD A, Rn
1
1
8
ADD A, a8
2
1
1
ADD A, @Ri
1
1
2
ADD A, #d8
2
1
1
ADDC A, Rn
1
1
8
ADDC A, a8
2
1
1
ADDC A, @Ri
1
1
2
ADDC A, #d8
2
1
1
SUBB A, Rn
1
1
8
SUBB A, a8
2
1
1
SUBB A, @Ri
1
1
2
SUBB A, #d8
2
1
1
INC A
1
1
1
INC Rn
1
1
8
INC a8
2
1
1
INC @Ri
1
1
2
DEC A
1
1
1
DEC Rn
1
1
8
DEC a8
2
1
1
DEC @Ri
1
1
2
INC DPTR
1
2
1
MUL AB
1
4
1
DIV AB
1
4
1
DA A
1
1
1



示例

序号指令及说明
1ADD A, 32H
这是一个ADD A, #d8类型的指令。将立即数32H加到寄存器A中。结果也存储在A中。
2ADDC A, @R1
这是一个ADDC A, @Ri类型的指令。这意味着将寄存器R1指向的内部RAM位置上的内容加到A中。
3SUBB A, R5
这是一个SUBB A, Rn类型的指令。SUBB代表带借位的减法。因此,将R5的内容从A中减去。
4INC 40H
这是一个INC a8类型的指令。这里将地址为40H的局部RAM中的内容加1。
5INC DPTR
它可以将DPTR的内容加1。此指令需要两个机器周期来执行。
6MUL AB
此指令用于将寄存器A和B的内容相乘。16位结果将存储在B和A寄存器中。B将保存高位字节,A将保存低位字节。
7DIV AB
此指令用于将A寄存器的内容除以B寄存器的内容。8位商存储到A寄存器中,8位余数存储到B寄存器中。


更新于:2020年6月27日

11K+ 浏览量

开启你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.