您的位置:首页 > 其它

基本指令的汇编格式

2014-09-28 08:40 134 查看
指令符号说明 

符号说明
r8任意一个8位通用寄存器AH、AL、BH、BL、CH、CL、DH、DL
r16任意一个16位通用寄存器AX、BX、CX、DX、SI、DI、BP、SP
reg代表r8、r16
seg段寄存器CS、DS、ES、SS
m8一个8位存储器操作数单元
m16一个16位存储器操作数单元
mem代表m8、m16
i8一个8位立即数
i16一个16位立即数
imm代表i8、i16
dest目的操作数
src源操作数
label标号

8086指令对状态标志的影响
 
 
状态符号说明
 
符号
说明

标志位不受影响(没有改变)
0
标志位复位(置0)
1
标志位置位(置1)
x
标志位按定义功能改变
#
标志位按指令的特定说明改变
u
标志位不确定(可能为0,也可能为1)
 
 
指令对状态标志的影响(未列出的指令不影响标志)
 
指令
OF
SF
ZF
AF
PF
CF
SAHF

#
#
#
#
#
POPF/ IRET
#
#
#
#
#
#
ADD/ADC/SUB/SBB/CMP/NEG/CMPS/SCAS
x
x
x
x
x
x
INC/DEC
x
x
x
x
x

MUL/IMUL
#
u
u
u
u
#
DIV/IDIV
u
u
u
u
u
u
DAA/DAS
u
x
x
x
x
x
AAA/AAS
u
u
u
x
u
x
AAM/AAD
u
x
x
u
x
u
AND/OR/XOR/TEST
0
x
x
u
x
0
SAL/SAR/SHL/SHR
#
x
x
u
x
#
ROL/ROR/RCL/RCR
#




#
CLC/STC/CMC





#
16/32位基本指令的汇编格式
指令类型指令汇编格式指令功能简介
 
MOV reg/mem,imm
dest←src
传送指令MOV reg/mem/seg,reg
 

 
 
MOV reg/seg,mem
 

 
 
MOV reg/mem,seg
 

 
交换指令XCHG reg,reg/mem
reg←→reg/mem
 
CHG reg/mem,reg
 

 
转换指令XLAT label
al←ds:[(e)bx+al]
 
XLAT
 

 
 
PUSH  reg/mem/seg
寄存器/存储器入栈
 
PUSH imm
立即数入栈
 
POP reg/seg/mem
出栈
堆栈指令PUSHA
保护所有r16
 
POPA
恢复所有r16
 
PUSHAD
保护所有r32
 
POPAD
恢复所有r32
 
LAHF
AH←FLAG低字节
 
SAHF
FLAG低字节←AH
标志传送PUSHF
FLAGS入栈
 
POPF
FLAGS出栈
 
PUSHFD
EFLAGS入栈
 
POPFD
EFLAGS出栈
 
LEA r16/r32,mem
r16/r32←16/32位有效地址
 
LDS r16/r32,mem
DS: r16/r32←32/48位远指针
地址传送LES r16/r32,mem
ES: r16/r32←32/48位远指针
 
LFS r16/r32,mem
FS: r16/r32←32/48位远指针
 
LGS r16/r32,mem
GS: r16/r32←32/48位远指针
 
LSS r16/r32,mem
SS: r16/r32←32/48位远指针
输入输出IN AL/AX/EAX,i8/DX
AL/AX/EAX←I/O端口i8/[DX]
 
OUT i8/DX,AL/AX/EAX        
I/O端口i8/[DX]←AL/AX/EAX
 
ADD reg,imm/reg/mem
dest←dest+src
 
ADD mem,imm/reg
 

 
加法运算ADC reg,imm/reg/mem
dest←dest+src+CF
 
ADC mem,imm/reg
 

 
 
INC reg/mem
reg/mem←reg/mem+1
 
SUB reg,imm/reg/mem
dest←dest-src
 
SUB mem,imm/reg
 

 
 
SBB reg,imm/reg/mem
dest←dest-src-CF
减法运算SBB mem,imm/reg
 

 
 
DEC reg/mem
reg/mem←reg/mem-1
 
NEG reg/mem
reg/mem←0-reg/mem
 
CMP reg,imm/reg/mem
dest-src
 
CMP mem,imm/reg
 

 
 
MUL reg/mem
无符号数值乘法
 
IMUL reg/mem
有符号数值乘法
乘法运算IMUL r16,r16/m16/i8/i16
r16←r16×r16/m16/i8/i16
 
IMUL r16,r/m16,i8/i16
r16←r/m16×i8/i16
 
IMUL r32,r32/m32/i8/i32
r32←r32×r32/m32/i8/i32
 
IMUL r32,r32/m32,i8/i32
r32←r32/m32×i8/i32
除法运算DIV reg/mem
无符号数值除法
 
IDIV reg/mem
有符号数值除法
 
CBW
把AL符号扩展为AX
 
CWD
把AX符号扩展为DX.AX
 
CWDE
把AX符号扩展为EAX
符号扩展CDQ
把EAX符号扩展为EDX.EAX
 
MOVSX r16,r8/m8
把r8/m8符号扩展并传送至r16
 
MOVSX r32,r8/m8/r16/m16
把r8/m8/r16/m16符号扩展并传送至r32
 
MOVZX r16,r8/m8
把r8/m8零位扩展并传送至r16
 
MOVZX r32,r8/m8/r16/m16    
把r8/m8/r16/m16零位扩展并传送至r32
 
DAA
将AL中的加和调整为压缩BCD码
 
DAS
将AL中的减差调整为压缩BCD码
十进制调整AAA
将AL中的加和调整为非压缩BCD码
 
AAS
将AL中的减差调整为非压缩BCD码
 
AAM
将AX中的乘积调整为非压缩BCD码
 
AAD
将AX中的非压缩BCD码扩展成二进制数
 
AND reg,imm/reg/mem
dest←dest AND src
 
AND mem,imm/reg
 

 
 
OR reg,imm/reg/mem
dest←dest OR src
逻辑运算OR mem,imm/reg
 

 
 
XOR reg,imm/reg/mem
dest←dest XOR src
 
XOR mem,imm/reg
 

 
 
TEST reg,imm/reg/mem
dest AND src
 
TEST mem,imm/reg
 

 
 
NOT reg/mem
reg/mem←NOT reg/mem
 
SAL reg/mem,1/CL/i8
算术左移1/CL/i8指定的次数
移位SAR reg/mem,1/CL/i8
算术右移1/CL/i8指定的次数
 
SHL reg/mem,1/CL/i8
与SAL相同
 
SHR reg/mem,1/CL/i8
逻辑右移1/CL/i8指定的次数
 
ROL reg/mem,1/CL/i8
循环左移1/CL/i8指定的次数
循环移位ROR reg/mem,1/CL/i8
循环右移1/CL/i8指定的次数
 
RCL reg/mem,1/CL/i8
带进位循环左移1/CL/i8指定的次数
 
RCR reg/mem,1/CL/i8
带进位循环右移1/CL/i8指定的次数
 
MOVS[B/W/D]
串传送
 
LODS[B/W/D]
串读取
 
STOS[B/W/D]
串存储
 
CMPS[B/W/D]
串比较
串操作SCAS[B/W/D]
串扫描
 
INS[B/W/D]
I/O串输入
 
OUTS[B/W/D]
I/O串输出
 
REP
重复前缀
 
REPZ / REPE
相等重复前缀
 
REPNZ / REPNE
不等重复前缀
 
JMP label
无条件直接转移
 
JMP r16/r32/m16
无条件间接转移
转移Jcc label
条件转移
 
JCXZ label
CX等于0转移
 
JECXZ label
ECX等于0转移
 
LOOP label
cx←cx-1;若cx≠0,循环
循环LOOPZ / LOOPE label
cx←cx-1;若cx≠0且ZF=1,循环
 
LOOPNZ / LOOPNE label
cx←cx-1;若cx≠0且ZF=0,循环
 
CALL label
直接调用
子程序CALL r16/m16
间接调用
 
RET
无参数返回
 
RET i16
有参数返回
 
INT i8
中断调用
中断IRET
中断返回
 
INTO
溢出中断调用
 
ENTER i16,i8
建立堆栈帧
高级语言支持LEAVE
释放堆栈帧
 
BOUND r16/r32,mem
边界检测
 
CLC        
CF←0
 
STC
CF←1
 
CMC
CF←~CF
处理器控制CLD
DF←0
 
STD
DF←1
 
CLI
IF←0
 
STI
IF←1
 
NOP
空操作指令
 
WAIT
等待指令
 
HLT
停机指令
 
LOCK
封锁前缀
 
SEG:
段超越前缀
 
ESC i8,reg/mem
交给浮点处理器的浮点指令
保护方式类指令


 

 call [eax] 虚函数 寄存器间接寻址

mov ax,[di+06] 用于结构体

基址变址寻址

栈为函数服务

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: