在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 |
序号 | 说明及描述 |
---|---|
1 | ADD A,32H 这是ADD A,#d8类型的指令。立即数据32H被添加到寄存器A。结果也存储在A中。 |
2 | ADDC A,@ R1 这是类型ADDC A,@Ri的指令。这意味着将寄存器R1指向的内部RAM位置上的内容添加到A中。 |
3 | SUBB A,R5 这是SUBB A,Rn类型的指令。SUBB代表借贷减去。因此将从A中减去R5的内容。 |
4 | INC 40H 这是INC a8的一种。在这里,地址为40H的本地RAM中的内容将增加1。 |
5 | INC DPTR 可以将DPTR的内容增加1。此指令需要两个机器周期来执行。 |
6 | MUL AB 该指令用于将寄存器A和B的内容相乘。16位地址将存储在B和A寄存器中。B将保留MS字节,而A将保留LSByte。 |
7 | DIV AB 该指令用于将A寄存器的内容除以B寄存器。8位商存储在寄存器A中,其余8位存储在寄存器B中。 |