二、算术指令 1.加法指令 ADD(add)加法 ADC(add with carry)带进位加法 INC(increment)加1 .ADD 加法指令 格式: ADD DST,SRC 执行的操作:(DST)<-(SRC)+(DST) .ADC 带进位加法指令 格式: ADC DST,SRC 执行的操作:(DST)<-(SRC)+(DST)+CF .ADD 加1指令 格式: INC OPR 执行的操作:(OPR)<-(OPR)+1
2.减法指令 SUB(subtract)减法 SBB(subtract with borrow)带借位减法 DEC(Decrement)减1 NEG(Negate)求补 CMP(Compare)比较 .SUB 减法指令 格式: SUB DST,SRC 执行的操作:(DST)<-(DST)-(SRC) .SBB 带借位减法指令 格式: SBB DST,SRC 执行的操作:(DST)<-(DST)-(SRC)-CF .DEC 减1指令 格式: DEC OPR 执行的操作:(OPR)<-(OPR)-1 .NEG 求补指令 格式: NEG OPR 执行的操作:(OPR)<- -(OPR) .CMP 比较指令 格式: CMP OPR1,OPR2 执行的操作:(OPR1)-(OPR2) 该指令与SUB指令一样执行减法操作,但不保存结果,只是根据结果设置条件标志西半球.
3.乘法指令 MUL(Unsigned Multiple)无符号数乘法 IMUL(Signed Multiple)带符号数乘法 .MUL 无符号数乘法指令 格式: MUL SRC 执行的操作: 字节操作数:(AX)<-(AL)*(SRC) 字操作数:(DX,AX)<-(AX)*(SRC) .IMUL 带符号数乘法指令 格式: IMUL SRC 执行的操作:与MUL相同,但必须是带符号数,而MUL是无符号数.
4.除法指令 DIV(Unsigned divide)无符号数除法 IDIV(Signed divide)带符号数除法
CBW(Convert byte to word)字节转换为字 CWD(Contert word to double word)字转换为双字 .DIV 无符号数除法指令 格式: DIV SRC 执行的操作: 字节操作:(AL)<-(AX)/(SRC)的商 (AH)<-(AX)/(SRC)的余数 字操作: (AX)<-(DX,AX)/(SRC)的商 (AX)<-(DX,AX)/(SRC)的余数 .IDIV 带符号数除法指令 格式: DIV SRC 执行的操作:与DIV相同,但操作数必须是带符号数,商和余数也均为带符号数,且余数的符号与被除数的符号相同. .CBW 字节转换为字指令 格式: CBW 执行的操作:AL的内容符号扩展到AH.即如果(AL)的最高有效位为0,则(AH)=00;如(AL)的最高有效位为1,则(AH)=0FFH .CWD 字转换为双字指令 格式: CWD 执行的操作:AX的内容符号扩展到DX.即如(AX)的最高有效位为0,则(DX)=0;否则(DX)=0FFFFH. 这两条指令都不影响条件码.
三、逻辑指令 1.逻辑运算指令 AND(and) 逻辑与 OR(or) 逻辑或 NOT(not) 逻辑非 XOR(exclusive or)异或 TEST(test) 测试 .AND 逻辑与指令 格式: AND DST,SRC 执行的操作:(DST)<-(DST)^(SRC) .OR 逻辑或指令 格式: OR DST,SRC 执行的操作:(DST)<-(DST)V(SRC) .NOT 逻辑非指令 格式: NOT OPR 执行的操作:(OPR)<-(OPR) .XOR 异或指令 格式: XOR DST, 执行的操作:(DST)<-(DST)V(SRC) .TEST 测试指令 格式: TEST OPR1,OPR2 执行的操作:(DST)^(SRC) 两个操作数相与的结果不保存,只根据其特征置条件码
2.移位指令 SHL(shift logical left) 逻辑左移 SAL(shift arithmetic left) 算术左移 SHR(shift logical right) 逻辑右移 SAR(shift arithmetic right) 算术右移 ROL(Rotate left) 循环左移 ROR(Rotate right) 循环右移 RCL(Rotate left through carry) 带进位循环左移 RCR(Rotate right through carry) 带进位循环右移 格式: SHL OPR,CNT(其余的类似) 其中OPR可以是除立即数以外的任何寻址方式.移位次数由CNT决定,CNT可以是1或CL. 循环移位指令可以改变操作数中所有位的位置;移位指令则常常用来做乘以2除以2操作.其中算术移位指令适用于带符号数运算,SAL用来乘2,SAR用来除以2;而逻辑移位指令则用来无符号数运算,SHL用来乘2,SHR用来除以2.
 
2/2 首页 上一页 1 2 |