算术运算符
- ADC:带进位加法
- ADD:二进制数加法
- DEC:减一
- DIV:无符号数除法
- IDIV:带符号数(整数)除法
- IMUL:带符号数(整数)乘法
- INC:加一
- MUL:无符号书乘法
- NEG:求补
- SBB:带借位减法
- SUB:二进制减法
- XADD:交换并相加
2.ASCII-BCD转换
- AAA:加后ASCII调整
- AAD:除前ASCII调整
- AAM:乘后ASCII调整
- AAC:减后ASCII调整
- DAA:加后十进制调整
- DAS:减后十进制调整
3.移位
- RCL:带进位循环左移
- RCR:带进位循环右移
- ROL:循环左移
- ROR:循环右移
- SAL:算术左移
- SAR:算术右移
- SHL:逻辑左移
- SHR:逻辑右移
- SHLD:双精度左移
- SHRD:双精度右移
4.比较
- BSF/BSR:位扫描
- BT/BTC/BR/BB:位测试
- CMP:比较
- CMPSN:串比较
- CMPXCHG:比较交换
- CMPXCHG8B:比较并换?lt;br>TEST:测试位
5.数据传送
- LDS:装如数据段寄存器
- LEA:装入有效地址
- LES:装入附加段寄存器
- LODS:从串取
- LSS:装入堆栈段寄存器
- MOV:传送数据
- MOVS:串传送
- MOVSX:带符号扩展传送
- MOVZX:带零扩展传送
- STOS:存入串
- XCHG:交换
- XLAT:换码
6.标志操作
- CLC:清除位标志
- CLD:清除方向标志
- CLI:清除中断标志
- CMC:进位标志求反
- LAHF:标志送AH
- POPF:标志出栈
- PUSHF:标志进栈
- SAHF:AH送标志寄存器
- STC:进位标志置1
- CTD:方向标志置1
- STI:中断标志置1
7.输入/输出
- IN:输入字节或字
- INSN:串输入
- OUT:输出字节或字
- OUTSN:穿输出
8.逻辑操作
- AND:逻辑与
- NOT:逻辑非
- OR:逻辑或
- XOR:异或
9.循环
- LOOP:循环直到完成
- LOOPE:相等时循环
- LOOPZ:为零是循环
- LOOPNE:不相等时循环
- LOOPPNZ:不为零是循环
- LOOPPNEW:不相等时循环
- LOOPNZW:不为零时循环
10.处理器控制
- HLT:进入暂停状态
- LOCK:封锁总线
- NOP:无操作
- WAIT:置处理器于等待状态
11.堆栈操作
- ENTER:建立堆栈帧
- LEAVE:结束堆栈帧
- POP:字出栈
- POPF:标志出栈
- POPA:所有通用寄存器出栈
- PUSH:字进栈
- PUSHA:所有通用积存器进栈
- PUSHF:标志进栈
12.串操作
- CMPS:串比较
- LODS:从串取
- MOVS:串传送
- REP:串重复
- REPE:相等时重复
- REPZ:为零时重复
- REPNE:不相等时重复
- REPNZ:不为零时重复
- SCAS:串扫描
- STDS:存入串
13.转移(条件)
- INT溢出中断
- JA:高于则转移
- JAE:高于或等于则转移
- JB:低于则转移
- JBE:低于或等于则转移
- JC:进位为1则转移
- JCXZ:CX为零则转移
- JE:相等则转移
- JG:大于则转移
- JGE:大于或等于则转移
- JL:小于则转移
- JLE:小于或等于
- JNC:进位为零则转移
- JNE:不相等则转移
- JNG:不大于则转移
- JNGE:不大于或等于则转移
- JNL:不小于则转移
- JNLE:不小于或等于则转移
- JNA:不高于则转移
- JNB:不低于则转移
- JNBE:不低于或等于则转移
- JNAE:不高于或等于则转移
- JN不溢出则转移
- JNP:奇偶位为0则转移
- JNZ:结果不为零则转移
- JNS:结果为正则转移
- J若溢出则转移
- JP:奇偶位为1则转移
- JPE:奇偶性为偶则转移
- JP奇偶性为奇则转移
- JS:结果为负则转移
- JZ:结果为零则转移
14.转移(无条件)
- CALL:调用过程
- INT:中断
- IRET:中断返回
- JMP:无条件转移
- RET:返回
- RETN/RETF:近返回/远返回
15.类型转换
- CBW:字节转换为字
- CDQ:双字转换为四字
- CWD:字转换为双字
- CWDE:字转换为扩展