8086 微处理器中的算术指令
这些指令用于执行算术运算,例如加法、减法、乘法、除法等。在 8086 中,目标地址不必是累加器。
让我们看看 8086 微处理器的算术指令。这里 D 和 S 分别代表目标和源。D 和 S 可以是寄存器、数据或内存地址。
操作码 | 操作数 | 描述 |
---|---|---|
ADD | D,S | 用于将提供的字节加到字节/字加到字。 |
ADC | D,S | 用于带进位的加法。 |
INC | D | 用于将提供的字节/字加 1。 |
AAA | ---- | 用于加法后调整 ASCII 码。 |
DAA | ---- | 用于加法/减法运算后调整十进制数。 |
SUB | D,S | 用于从字节减去字节/从字减去字。 |
SBB | D,S | 用于执行带借位的减法。 |
DEC | D | 用于将提供的字节/字减 1。 |
NEG | D | 用于取反提供的字节/字的每一位并加 1/求二进制补码。 |
CMP | D | 用于比较 2 个提供的字节/字。 |
AAS | ---- | 用于减法后调整 ASCII 码。 |
DAS | ---- | 用于减法后调整十进制数。 |
MUL | 8 位寄存器 | 用于将无符号字节乘以字节/字乘以字。 |
IMUL | 8 位或 16 位寄存器 | 用于将有符号字节乘以字节/字乘以字。 |
AAM | ---- | 用于乘法后调整 ASCII 码。 |
DIV | 8 位寄存器 | 用于将无符号字除以字节或将无符号双字除以字。 |
IDIV | 8 位或 16 位寄存器 | 用于将有符号字除以字节或将有符号双字除以字。 |
AAD | ---- | 用于除法后调整 ASCII 码。 |
CBW | ---- | 用于用低字节的符号位的副本填充字的高字节。 |
CWD | ---- | 用于用低字的符号位的副本填充双字的高字。 |
广告