Contents

1.数据传送指令

指令 参数 备注
mov dest,source 数据传送
CBW 字节转换成字
CWD 字转换成双字
LAHF FLAGS低8位装入AH寄存器
SAHF AH寄存器内容送到FLAGS低8位
LDS dest,source 设定数据段指针
LES dest,source 设定附加段指针
LEA dest,source 装入有效地址
PUSH source 将一个字压入栈顶
POP dest 将一个字从栈顶弹出
PUSHF 将标志寄存器FLAGS的内容压入栈顶
POPF 将栈顶内容弹出到标志寄存器FLAGS
XCHG dest,source 交换
XLAT source 表转换

2.算数运算指令

指令 参数 备注
汇编格式 指令的操作
AAA 加法的ASCII调整
AAD 除法的ASCII调整
AAM 乘法的ASCII调整
AAS 减法的ASCII调整
DAA 加法的十进制调整
DAS 减法的十进制调整
MUL source 无符号乘法
IMUL source 整数乘法
DIV source 无符号除法
IDIV 整数除法
ADD dest,source 加法
ADC dest,source 带进位加
SUB dest,source 减法
SBB dest,source 带借位减
CMP dest,source 比较
INC dest 加1
DEC dest 减1
NEG dest 求补

3.逻辑运算指令

指令 参数 备注
AND dest,source 逻辑‘与’
OR dest,source 逻辑‘或’
XOR dest,source 逻辑‘或非’
NOT dest 逻辑‘非’
TEST dest,source 测试(非破坏性逻辑‘与’)

4.移位指令

指令 参数 备注
RCL dest,count 通过进位循环左移
RCR dest,count 通过进位循环右移
ROL dest,count 循环左移
ROR dest,count 循环右移
SHL/SAL dest,count 逻辑左移/算数左移
SHR dest,count 逻辑右移
SAR dest,count 算术右移

5.串操作指令

指令 参数 备注
MOVS/MOVSB/MOVSW dest,source 字符串传送
CMPS/CMPSB/CMPSW dest,source 字符串比较
LODS/LODSB/LODSW source 装入字节串或字串到累加器
STOS/STOSB/STOSW dest 存储字节串或字串
SCAS/SCASB/SCASW dest 字符串扫描

6.程序控制指令

指令 参数 备注
CALL dest 调用一个过程(子程序)
RET [弹出字节数(必须为偶数)]从过程(子程序)返回
INT int_type 软件中断
INTO 溢出中断
IRET 从中断返回
JMP dest 无条件转移
JG/JNLE short_label 大于或不小于等于转移
JGE/JNL short_label 大于等于或不小于转移
JL/JNGE short_label 小于或不大于等于转移
JLE/JNG short_label 小于等于或不大于转移
JA/JNBE short_label 高于或不低于等于转移
JAE/JNB short_label 高于等于或不低于转移
JB/JNAE short_label 低于或不高于等于转移
JBE/JNA short_label 低于等于或不高于转移
JO short_label 溢出标志为1转移(溢出转移)
JNO short_label 溢出标志为0转移(无溢出转移)
JS short_label 符号标识为1转移(结果为负转移)
JNS short_label 符号标识为1转移(结果为正转移)
JC short_label 进位标志为1转移(有进位转移)
JNC short_label 进位标志为0转移(无进位转移)
JZ/JE short_label 零标志为1转移(等于或为0转移)
JNZ/JNE short_label 零标志为0转移(不等于或不为0转移)
JP/JPE short_label 奇偶标志为1转移(结果中有偶数个1转移)
JNP/JPO short_label 奇偶标志为0转移(结果中有奇数个1转移)
JCXZ short_label 若CX=0则转移
LOOP short_label CX不等于0时循环
LOOPE/LOOPZ short_label CX不等于0且ZF=1时循环
LOOPNE/LOOPNZ short_label CX不等于0且ZF=0时循环
STC 进位标志置1
CLC 进位标识置0
CMC 进位标志取反
STD 方向标志置1
CLD 方向标志置0
STI 中断标志置1(允许可屏蔽中断)
CLI 中断标志置0(禁止可屏蔽中断)
ESC CPU交权
HLT 停机
LOCK 总线封锁
NOP 无操作
WAIT 等待至TEST(上边有个横线)信号有效为止

7.输入/输出指令

指令 参数 备注
IN acc,source 从外设接口输入字节或字
OUT dest,acc 向外设接口输出字节或字

备注:
dest 目的操作数、目的串
source 源操作数、源串
acc 累加器
count 计数值
int_type 中断类型号
short_label 短距离标号

基于转载文章修改,原文链接:https://blog.csdn.net/hanqdi_/article/details/84785038