汇编语言常用指令

  • 格式:docx
  • 大小:17.50 KB
  • 文档页数:3

汇编语言常用指令
指令格式 说明
数据传送指令
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
无符号字节或字数据相除,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
无符号数 小于 JBtarg CF=1,X小于等于 JBEtarg CF=1或ZF=1,X<=Y
大于 JAtarg CF=0且ZF=0,X>Y
大于等于 JAEtarg CF=0或ZF=1,X>=Y
有符号数 小于
JLtarg SF@OF=1,X小于等于 JLEtarg SF@OF或ZF=1,X<=Y
大于 JGtarg SF@OF与ZF=0,X>Y
大于等于
JGEtarg SF@OF=0,X>=Y
循环指令
指令格式 说明
LOOP
CX=0,终止循环

LOOPZ/LOOPE
CX=0或ZF=0,终止循环

LOOPNZ/LOOPNE
CX=0或ZF=1,终止循环