常用汇编指令集合
———————–算数运算指令———————–
ADD 加法
ADC 带位加法
SBB 带位减法
SUB 减法.
INC 加法.
NEC 求反(以0减之).
NEG 求反然后加1,假如NEG AL相当于Not AL; INC AL
CMP 比较.(两操作数作减法,仅修改标志位,不回送结果).
INC DPTR 数据指针寄存器值加1 (说明:将16位的DPTR加1,当DPTR的低字节(DPL)从FFH溢出至00H时,会使高字
节(DPH)加1,不影响任何标志位)
MUL A B 将累加器的值与B寄存器的值相乘,乘积的低位字节存回累加器,高位字节存回B寄存器(说明:将累加
器A和寄存器B内的无符号整数相乘,产生16位的积,低位字节存入A,高位字节存入B寄存器.如果积大于FFH,则溢出
标志位(OV)被设定为1,而进位标志位为0)
IMUL 整数乘法. 以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算),
DIV A B 将累加器的值除以B寄存器的值,结果的商存回累加器,余数存回B寄存器(说明:无符号的除法运算,
将累加器A除以B寄存器的值,商存入A,余数存入B。执行本指令后,进位位(C)及溢出位(OV)被清除为0)
IDIV 整数除法. 以上两条,结果回送: 商回送AL,余数回送AH, (字节运算); 或 商回送AX,余数回送DX, (字运
算).
AAA 加法的ASCII码调整.
DAA 加法的十进制调整.
AAS 减法的ASCII码调整.
DAS 减法的十进制调整.
AAM 乘法的ASCII码调整.
AAD 除法的ASCII码调整.
CBW 字节转换为字. (把AL中字节的符号扩展到AH中去)
CWD 字转换为双字. (把AX中的字的符号扩展到DX中去)
CWDE 字转换为双字. (把AX中的字符号扩展到EAX中去)
CDQ 双字扩展. (把EAX中的字的符号扩展到EDX中去)
———————–逻辑运算指令———————————
AND 与运算.
OR 或运算.
XOR 异或运算.
NOT 取反.
TEST 测试.(两操作数作与运算,仅修改标志位,不回送结果).
SHL 逻辑左移.
SHR 逻辑右移.
SAL 算术左移.(=SHL)
SAR 算术右移. (左移是一样的,右移是不同的.逻辑右移补0,算术右移补最高位)
ROL 循环左移. ( ((unsigned char)a) << 5 ) | ( ((unsigned char)a) >> 3 )
rol eax,cl ==> eax=(eax<