AAA 加法的ASCII码或非压缩BCD码调整指令
AAD 除法的ASCII码或非压缩BCD码调整指令
AAM 乘法的ASCII码或非压缩BCD码调整指令
AAS 减法的ASCII码或非压缩BCD码调整指令
ADD 加法指令
ADC 带进位加法指令
AND 逻辑与运算
BSF 顺向扫描指令(从右向左扫描第一个含1的位,并把位号发至指定操作数)
BSR 逆向扫描指令(从左向右扫描第一个含1的位,并把位号发至指定操作数)
BT 位测试指令 格式: BT DST,SRC 测试由SRC指定的DST中的位,位值送CF
BTC 位测试并取反指令 格式: BTC DST,SRC 测试并取反由SRC指定的DST中的位,原位值送CF
BTR 位测试并复位指令 格式: BTR DST,SRC 测试并清0 由SRC指定的DST中的位,原位值送CF
BTS 位测试并置位指令 格式: BTS DST,SRC 测试并置1 由SRC指定的DST中的位,原位值送CF
CALL 子程序调用指令
CBW 字节转换为字 (把AL中字节的符号扩展到AH中去)
CDQ 双字扩展成四字 (把EAX中的字的符号扩展到EDX中去)
CLC 进位标志CF清0
CLD 方向标志DF清0
CLI 中断允许标志IF清0
CMC 进位标志CF取反
CMP 比较 (两操作数作减法,仅修改标志位,不回送结果)
CMPS 串比较指令
CMPSB 串比较指令_字符
CMPSD 串比较指令_双字
CMPSW 串比较指令_字
CWD 字扩展成双字 (把AX中的字的符号扩展到DX中去)
CWDE 字转换为双字 (把AX中的字符号扩展到EAX中去)
DAA 加法的十进制(压缩BCD码)调整指令
DAS 减法的十进制(压缩BCD码)调整指令
DEC 减 1 指令
DIV 无符号数除法指令 以上两条,结果回送:商回送AL,余数回送AH(字节运算),或商回送AX,余数回送DX(字运算)
HLT 停机指令(使CPU处于停机状态)
IDIV 带符号数除法指令 以上两条,结果回送:商回送AL,余数回送AH(字节运算),或商回送AX,余数回送DX(字运算)
IMUL 带符号数乘法指令 结果回送AH和AL(字节运算),或DX和AX(字运算)
IN I/O端口输入 (如: IN AL,61H) 输入端口由立即方式指定时,范围是 0-255;由寄存器DX指定时,其范围是 0-65535
INC 加 1 指令
INS 串输入指令
INSB 串输入指令_字符
INSD 串输入指令_双字
INSW 串输入指令_字
INT 内中断调用指令
IRET 中断返回指令
JA 无符号整数 高于 转移指令(A:Above)
JAE 无符号整数 高于等于 转移指令(A:Above E:Equel)
JB 无符号整数 低于 转移指令(B:Below)
JBE 无符号整数 低于等于 转移指令(B:Below E:Equel)
JC 有进位时转移指令
JCXZ 测试CX值为0转移指令
JE 相等转移指令
JECX 测试ECX值为0转移指令
JG 带符号整数 大于 转移指令(G:Greater)
JGE 带符号整数 大于等于 转移指令(G:Greater E:Equel)
JL 带符号整数 小于 转移指令(L:Less)
JLE 带符号整数 小于等于 转移指令(L:Less E:Equel)
JMP 无条件转移指令
JNA 无符号整数 不高于 转移指令(A:Above)
JNAE 无符号整数 不高于等于 转移指令(A:Above E:Equel)
JNBE 无符号整数 不低于等于 转移指令(B:Below E:Equel)
JNB 无符号整数 不低于 转移指令(B:Below)
JNC 无进位时转移指令
JNE 不相等转移指令
JNG 带符号整数 不大于 转移指令(G:Greater)
JNGE 带符号整数 不大于等于 转移指令(G:Greater E:Equel)
JNL 带符号整数 不小于 转移指令(L:Less)
JNLE 带符号整数 不小于等于 转移指令(L:Less E:Equel)
JNO 无溢出时转移指令
JNP 奇转移指令
JNS 非负数转移指令
JNZ 结果不为0转移指令
JO 溢出转移指令
JP 偶转移指令
JPE 偶转移指令
JPO 奇转移指令
JS 负数转移
JZ 结果为0转移指令
LAHF 标志寄存器传送,把标志装入AH
LDS 传送目标指针,把指针内容装入DS 例: LDS SI,STRING ;把 段地址:偏移地址 存到 DS:SI
LEA 装入有效地址 例: LEA DX,STRING ;把 偏移地址 存到DX
LES 传送目标指针,把指针内容装入ES 例: LES DI,STRING ;把 段地址:偏移地址 存到 ES:DI
LFS 传送目标指针,把指针内容装入FS 例: LFS DI,STRING ;把 段地址:偏移地址 存到 FS:DI
LGS 传送目标指针,把指针内容装入GS 例: LGS DI,STRING ;把 段地址:偏移地址 存到 GS:DI
LOCK 锁定前缀指令(使总线锁定信号有效)
LODS 取串指令(把源串中的元素(字或字节)逐一装入AL或AX中)
LODSB 取串指令_取字符
LODSD 取串指令_取双字
LODSW 取串指令_取字
LOOP 循环指令(CX不为零时循环)
LOOPE 相等循环指令
LOOPNE 不相等循环指令
LOOPNZ 不相等循环指令
LOOPZ 相等循环指令
LSS 传送目标指针,把指针内容装入SS 例: LSS DI,STRING ;把 段地址:偏移地址 存到 SS:DI
MOV 传送指令
SEG MOV AX ,SEG TAB -> 把TAB的段基地址送给AX寄存器
OFFSET MOV DI ,OFFSET TAB -> 把TAB的段偏移量送给DI寄存器
MOVS 串传送指令
MOVSB 串传送指令_传送字符
MOVSD 串传送指令_传送双字
MOVSW 串传送指令_传送字
MUL 无符号数乘法指令 结果回送AH和AL(字节运算),或DX和AX(字运算)
NEG 求反(即求补,以 0 减之)
NOP 空操作
NOT 逻辑非(取反)
OR 逻辑或运算
OUT I/O端口输出 (如: OUT 61H,AL) 输出端口由立即方式指定时,范围是 0-255;由寄存器DX指定时,其范围是 0-65535
OUTS 串输出指令
OUTSB 串输出指令_字符
OUTSD 串输出指令_双字
OUTSW 串输出指令_字
POP 出栈指令
POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈
POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈
POPF 16位标志出栈指令
POPFD 32位标志出栈指令
PUSH 入栈指令
PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈
PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈
PUSHF 16位标志入栈指令
PUSHFD 32位标志入栈指令
RCL 带进位的循环左移
RCR 带进位的循环右移
RET 子程序返回指令
ROL 循环左移
ROR 循环右移
SAHF 标志寄存器传送,把AH内容装入标志寄存器
SAL 算术左移(=SHL)
SAR 算术右移
SBB 带借位减法指令
SCAS 串扫描指令(把AL或AX的内容与目标串作比较,比较结果反映在标志位)
SCASB 串扫描指令_字符
SCASD 串扫描指令_双字
SCASW 串扫描指令_字
SETA 高于时置为1
SETAE 高于等于时置为1
SETB 低于时置为1
SETBE 低于等于时置为1
SETC 有进位时置为1
SETE 相等时置为1
SETG 大于时置为1
SETGE 大于等于时置为1
SETL 小于时置为1
SETLE 小于等于时置为1
SETNA 不高于时置为1
SETNAE 不高于等于时置为1
SETNB 不低于时置为1
SETNBE 不低于等于时置为1
SETNC 无进位时置为1
SETNE 不相等时置为1
SETNG 不大于时置为1
SETNGE 不大于等于时置为1
SETNL 不小于时置为1
SETNLE 不小于等于时置为1
SETNO 无溢出时置为1
SETNP 结果低8位有奇数个1时置为1
SETNS 非负时置为1
SETNZ 不等于0时置为1
SETO 溢出时置为1
SETP 结果低8位有偶数个1时置为1
SETPE 结果低8位有偶数个1时置为1
SETPO 结果低8位有奇数个1时置为1
SETS 为负时置为1
SETZ 等于0时置为1
SHL 逻辑左移
SHLD 双精度左移指令
SHR 逻辑右移
SHRD 双精度右移指令
STC 进位标志CF置1
STD 方向标志DF置1
STI 中断允许标志IF置1
STOS 存串指令(是LODS的逆过程)
STOSB 存串指令_存字符
STOSD 存串指令_存双字
STOSW 存串指令_存字
SUB 减法指令
TEST 测试 (两操作数作与运算,仅修改标志位,不回送结果)
WAIT 等待指令(使CPU处于等待状态)
XADD 先交换再累加 (结果在第一个操作数里)
XCHG 交换字或字节 (至少有一个操作数为寄存器,段寄存器不可作为操作数)
XLAT 字节查表转换
XOR 逻辑异或运算