ADD
加法,将源操作数、目的操作数相加,结果存放在目的操作数中。操作数尺寸必须一致。
OF | DF | IF | SF | ZF | AF | PF | CF |
---|---|---|---|---|---|---|---|
* | * | * | * | * | * |
ADC
带进位加,将源操作数、目的操作数和进位标志相加。操作数尺寸必须一致
OF | DF | IF | SF | ZF | AF | PF | CF |
---|---|---|---|---|---|---|---|
* | * | * | * | * | * |
SUB
减法,从目的操作数中减去源操作数
OF | DF | IF | SF | ZF | AF | PF | CF |
---|---|---|---|---|---|---|---|
* | * | * | * | * | * |
SBB
带进位减,从源操作数减去目的操作数,然后再减去进位标志值。
OF | DF | IF | SF | ZF | AF | PF | CF |
---|---|---|---|---|---|---|---|
* | * | * | * | * | * |
MUL
无符号整数乘法。将AL/AX/EAX与源操作数相乘,如果源操作数是8位的,则与AL相乘,积存储在AX中;如果源操作数是16位的,则与AX相乘,积存储在EAX中;如果源操作数是32位的,则与EAX相乘,积存储在EDX:EAX中。
OF | DF | IF | SF | ZF | AF | PF | CF |
---|---|---|---|---|---|---|---|
* | ? | ? | ? | ? | * |
IMUL
有符号整数乘法。执行8位/16位/32位的有符号整数乘法操作。如果乘数是8位的,被乘数是AL,积在AX中;如果乘数是16位的,被乘数是AX,积在DX:AX中;如果乘数是32位的,被乘数是EAX,积在EDX:EAX中。如果16位的积扩展到AH,32位的积扩展到DX,或者64位的积扩展到EDX中,则进位和溢出标志置位。
OF | DF | IF | SF | ZF | AF | PF | CF |
---|---|---|---|---|---|---|---|
* | ? | ? | ? | ? | * |
DIV
无符号整数除法。执行8位/16位/32位的无符号整数除法操作。如果除数是8位的,被除数是AX,商在AL中,余数在AH中;如果除数是16位的,被除数是DX:AX,商在AX中,余数在DX中;如果除数是32位的,被除数是EDX:EAX,商在EAX中,余数在EDX中。
OF | DF | IF | SF | ZF | AF | PF | CF |
---|---|---|---|---|---|---|---|
? | ? | ? | ? | ? | ? |
IDIV
有符号整数除法。执行8位/16位/32位的有符号整数除法操作。如果除数是8位的,被除数是AX,商在AL中,余数在AH中;如果除数是16位的,被除数是DX:AX,商在AX中,余数在DX中;如果除数是32位的,被除数是EDX:EAX,商在EAX中,余数在EDX中。通常在执行IDV指令之前要使用CBW或CWD对除数进行符号扩展。
OF | DF | IF | SF | ZF | AF | PF | CF |
---|---|---|---|---|---|---|---|
? | ? | ? | ? | ? | ? |