*指令集:
| ADD,ADC,INC(不影响CF) |
| SUB,SBB,CMP,DEC(不影响CF), |
| NEG(OPR = 0, CF = 0,否则CF = 1;OPR = 80|8000|8000 0000,OF = 1, 否则OF = 0) |
| MUL,IMUL (仅对CF、OF有影响, 对其他标志位无定义) 操作数8位 AL * SRC -> AX 操作数16位 AX * SRC -> DX:AX 乘积的高半部分不为0或符号扩展时,CF = OF = 1(高半部分未用到,则为0) |
| DIV,IDIV(对各标志位无定义) 操作数8位 AX / OPR, 商 -> AL , 余数 -> AH 操作数16位 (DX:AX) / OPR, 商 -> AX, 余数 -> DX 对于IDIV指令,余数与被除数符号相同 若商溢出(超过8 / 16位表示范围), 则商无法表示 若除数位0,则除法无法计算 |
| 类型转换指令,不影响标志位 CBW; AL -> AX , 字节转换成字 CWD; AX -> DX:AX,字转换成双字 用于有符号数除法时,被除数的位数扩展 无符号扩展,直接用0扩展 例:AL为被除数,则扩展指令为 MOV AH, 0; |
| 位操作类指令 NOT , AND, TEST, OR , XOR(NOT对所有标志位无影响, 其他指令置CF = OF = 0, 正常影响SF和ZF) |
| 移位指令 逻辑移位: SHL,SHR 无符号数的乘除2操作 算术移位: SAL,SAR 逻辑移位(CF: 按照数据移出位设置; SF、OF:根据移位后结果影响;OF:是否改变符号位,改变0F = 1,否则OF = 0,移位次数不为1时,无定义) 循环移位: ROL,ROR 带进位循环移位:RCL,RCR |
浙公网安备 33010602011771号