汇编语言常用指令
指令格式
说明
数据传送指令
MOV
不能实现存储单元之间的数据传送
XCHG
交换两寄存器或寄存器和存储单元的数据
LEA
计算单位的偏移量,送入指定寄存器
PUSH
压栈操作,可跟寄存器、存储单元
POP
弹出数据,注意两者顺序
标志传送指令
对AH操作
指令格式
说明
算数运算指令
加法指令
ADD
ADC
计算时,加上CF位
INC
自加1
减法指令
SUB
SBB
计算时,减去CF位
DEC
自减1
CMP
两数相减,目的操作数不能是立即数,结果只影响标志位,不送入目的地址
乘法指令
MUL
无符号字节或字数据相乘,与AL(AX)相乘,乘积为(双)字类型,存放在AX(DX ,AX)中
IMUL
有符号数相乘
除法指令
DIV <src>
无符号字节或字数据相除,AX(DX,AX)的内容除以src的内容,商放在AL(AX)中,余数放在AH(DX)中。
IDIV
有符号数相除
指令格式
说明
位操作指令
逻辑运算
NOT
AND
汇编语言结束指令
OR
XOR
TEST
两数按位相与,结果只影响标志位,不送入目的地址
移位指令
SHL/SAL
左移,高位存入CF,低位补零,可与CL搭配使用
SHR/SAR
右移,低位存入CF,高位补零,可与CL搭配使用
ROL,ROR
循环左/右移,最高/低位移到最低/高位,同时存入CF
RCL,RCR
运算时,与CF构成一个环
DOS功能调用
说明
01H
带回显的键盘输入,作CTRL_BREAK检查
02H
字符显示
07H
不带回显的键盘字符输入,按下Crtl+C和Tab键无反应
08H
不带回显的键盘字符输入,作CTRL_BREAK检查
09H
显示字符串,以’$’作为结束标志
0AH
字符串输入
条件转移指令表
类型
名称
指令格式
测试/转移条件
                          单标志判断
测试进位标志CF
JC/JNC targ
CF=1/0时,跳转到targ
测试零标志ZF
JZ/JNZ targ
ZF=1/0时,跳转到targ
测试溢出标志OF
JO/JNO targ
测试奇偶标志PF
JP/JNP targ
测试符号标志SF
JS/JNS targ
两数之间关系判断
相等
相等
JE targ
ZF=1,X=Y
不相等
JNE targ
ZF=0,X!=Y
无符号数
小于
JB targ
CF=1,X<Y
小于等于
JBE targ
CF=1或ZF=1,X<=Y
大于
JA targ
CF=0且ZF=0,X>Y
大于等于
JAE targ
CF=0或ZF=1,X>=Y
有符号数
小于
JL targ
SF@OF=1,X<Y
小于等于
JLE targ
SF@OF或ZF=1,X<=Y
大于
JG targ
SF@OF与ZF=0,X>Y
大于等于
JGE targ
SF@OF=0,X>=Y
循环指令
指令格式
说明
LOOP
CX=0,终止循环
LOOPZ/LOOPE
CX=0或ZF=0,终止循环
LOOPNZ/LOOPNE
CX=0或ZF=1,终止循环

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。