1、可用于 8/16 位计算。
2、INC 不影响 CF 标志。
3、影响标志:CF 进位、ZF 零、SF 负、OF 溢出。
ADD DST, SRC | DST = DST + SRC |
ADC DST, SRC | DST = DST + SRC + CF 带进位 |
INC OPR | OPR = OPR + 1 |
DEC 不影响 CF 标志,其他同上。
SUB DST, SRC | DST = DST - SRC |
SBB DST, SRC | DST = DST - SRC - CF 带进位 |
DEC OPR | OPR = OPR - 1 |
NEG OPR | 求补,OPR = -OPR + 1 |
CMP OPR1, OPR2 | 比较指令,执行减法但仅设置标志位 |
1、总是与 AL 或 AX 相乘。
2、与 AL 相乘时,结果位于 AX。
3、与 AX 相乘时,结果位于 DX、AX。
4、影响标志:高位为 0 则 OF=0、CF=0,否则全为 1,其他标志位无意义。
MUL SRC | 无符号乘法 |
IMUL SRC | 有符号乘法 |
1、被除数总是 AX 或 DX、AX。
2、结果超过 8 位或 16 位时将产生除法溢出终止程序。
DIV | 无符号除法 |
IDIV | 有符号除法 |
CBW | AL 扩展到 AX |
CWD | AX 扩展到 DX |
1、应在进行压缩 BCD 码加减运算后使用。
2、调整 AL,高四位为十位,低四位为个位。
DAA | 加法十进制调整指令,OF 标志无定义,影响其他所有标志 |
DAS | 减法十进制调整指令,OF 标志无定义,影响其他所有标志 |
1、应在进行非压缩 BCD 码加减乘运算后使用,除法调整除外。
2、调整 AX,高 8 位为十位,低 8 位为个位。
AAA | 加法 ASCII 调整指令 |
AAS | 减法 ASCII 调整指令 |
AAM | 乘法 ASCII 调整指令,仅将 AL 简单扩展到 AX |
AAD | 除法 ASCII 调整指令,将 AX 非压缩 BCD 码调整为二进制到 AL |