当前位置:文档之家› 8086汇编指令大全.

8086汇编指令大全.

不影响标志位
不允许寄存器或存储单元到除CS外的段寄存器
2入栈(出栈指令PUSH (POP
注意:
PUSH操作数不能是“立即数” POP操作数不能是段寄存器
CS
不影响标志位
先进后出
单操作符
3交换指令XCHG
注意:
只允许寄存器与存储单元之间的交换
不影响标志位
4换码指令XLAT
5地址传送指令LEA :偏移地址
ZF=0
SF符号标志位
OF溢出标志位
DF方向标志位
IF中断允许位IF=1时响应外部中断
TF跟踪标志位
操作数:[目的操作数(OPD ,源操作数(OPS ] ;立即操作数,寄存器操作数,存储器操作数。寻址方式:
1寄存器寻址例:INC AX ; MOV AX , BX
2寄存器间接寻址(寄存器只能是BX , DI , SI , BP ; [PA=(BX、DI、SI +DS》4或BP+SS》4]
6数据段指针送寄存器LDS :低地址的字送指定的通用寄存器(SI、高地址的字
送DS
7附加段指针送寄存器指令LES :与LDS相似,低地址的字送通用寄存器(DI、高
地址送ES
上三指令不影响标志位
8标志寄存器传送指令
LAHF :标志寄存器低八位送
AH
SAHF :AH送标志寄存器低八位
PUSHF :标志寄存器压入堆栈
标志寄存器:9个有效位,分6个状态寄存器和3个控制寄存器
CF当执行一个加法(减法使最高位产生进位(借位时CF=1否则
CF=0
PF指令执行的结果低8位有偶数个一时, CF=1否则
CF=0
AF当执行一个加法(减法使运算结果低4位向高4位有进位(借位时AF=1否则
AF+0
ZF当前运算结果为零, ZF=1否则
JMP JMP SHORT OPD(IP=IP+8位位移量
JMP NEAR PTR OPD(IP=IP+16位位移量上二条指令目的地址是
IP=OPD+IP JMP WORD PTR O PD (IP=EA
JMP FAR PTR OPD(IP=OPD的段内偏移地址CS=OPD段地址
JMP DWORD PTR OPD(IP=EA CS=EA+2 29条件转移指令
逻辑左移与算术左移SHL、SAL (低位补0
算术右移SAR (高位不变、CF为最后移入的值
逻辑右移SHR (高位补0、CF为最后移入的值27循环移位
左移ROL (CF为最后移入的值
右移ROR (CF为最后移入的值
带进位循环左移RCL (CF+OPD一起左循环
带进位循环右移RCR (OPD+CF一起右循环28无条件转移指令下
22字转换为双字指令CWD
23压缩的BCD码调整指令
DAA加法的十进制调整指令
DAS减法的十进制调整指令
24非压缩的BCD码调整指令
AAA加法的ASCII调整指令
AAS减法的ASCII调整指令
AAM乘法的ASCII调整指令
AAD除法的ASCII调整指令25逻辑与运算指令
ADD
OR
NOT TEST (OPD和OPS的内容不变26移位指令
POPF :栈顶内容送标志寄存器
9加法指令
ADD
目的操作数只能是寄存器或存储单元
对CF,OF,SF,PF,ZF,AF有影响
10加1指令
INC
对OF,SF,PF,ZF,AF有影响
11带位加法指令
ADC
在进行单精度运算时用ADD指令,在高精度低位运算时用ADD、高位用
ADC OPD=OPD+OPS+CF
字操作:DX , AX=AX*OPS
18有符号乘法指令IMUL
19无符号除法指令
DIV
字节的操作:AL=AX/(OPS的商
AH=AX/(OPS的余数
字的操作:
20有符号除法IDIV
21字节转换为字指令
CBW
把AL中的符号位扩展到AH中,如果AL的最高位为0,则AH=00H,如果最高位为1,则AH=FFH
12减法指令
SUB
对CF,OF,SF,PF,ZF,AF有影响
13带借位减法指令
SBB
OPD=OPD— OPS — CF对CF,OF,SF,PF,ZF,AF有影响
对CF,OF,SF,PF,ZF,AF有影响
14减1指令DEC
15比较指令CMP
16求补指令NEG
17无符号乘法指令
MUL
字节操作:
AX=AL*OPS
JZ (JE结果为0则转移(ZF=1
JNZ (JNE结果不为0则转移(ZF=0
JS结果为负则转移(SF=1
JNS结果为正则转移(SF=0
JO溢出则转移(OF=1
JNO不溢出则转移(OF=0
JP (JPE奇偶位为1则转Байду номын сангаас(PF=1
JNP (JPO奇偶位不为1则转移(PF=0
JC (JNAE , JB低于且不等于或进位位为1则转移(CF=1
JNC (JNE , JNB高于或等于或进位位为0则转移(CF=0
30
3寄存器相对寻址
4基址变址寻址
5相对基址变址寻址
6直接寻址
7立即数寻址
i.立即数寻址立即数寻址不能用在单操作数指令中
ii.在双操作数中,立即数寻址方式不能用于目的操作数字段
指令系统:
1数据传送指令mov
注意:
不允许在两个存储单元之间直接传送数据
不允许在两个段寄存器之间传送数据
不允许用立即数直接为段寄存器赋值
相关主题