8051中的算术组

在8051单片机中,算术组下有24条不同的指令。总共有64个操作码。进位标志(CY),辅助进位(AC)和溢出标志(OV)根据ADD,ADDC,SUBB等指令的结果而受影响。乘法和除法指令清除进位标志,并且也不影响AC标志。执行乘法后,当结果大于FFH时,OV标志将为1。否则为0。类似地,在除法之后,如果B的内容为00H,则OV标志为1,否则为0。DAA(十进制调整累加器)仅影响进位标志。

在下表中,我们将以机器周期,操作码数量等形式查看助记符,长度,执行时间。

助记符
字节数
执行时间处理时间操作码数
加,Rn
1
1
8
加A,a8
2
1
1
添加A,@Ri
1
1
2
添加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
达阿
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代表借贷减去。因此将从A中减去R5的内容。
4INC 40H
这是INC a8的一种。在这里,地址为40H的本地RAM中的内容将增加1。
5INC DPTR
可以将DPTR的内容增加1。此指令需要两个机器周期来执行。
6MUL AB
该指令用于将寄存器A和B的内容相乘。16位地址将存储在B和A寄存器中。B将保留MS字节,而A将保留LSByte。
7DIV AB
该指令用于将A寄存器的内容除以B寄存器。8位商存储在寄存器A中,其余8位存储在寄存器B中。