8086汇编指令表
MOV MOV DST,SRC
DST≠CS、IP和imm
不影响
标志位
MOV
[9AF0H],AL
MOVS MOVS mem, mem
MOVSB/W
不影响
标志位
字符串传送ES:DI←(DS:SI)
SI←(SI)(+/-)1
DI←(DI)(+/-)1
MOVS
ES:BYTE
PTR[DI],
DS:[SI]
MUL MUL r/m8 设置CF OF
S Z A P无法预
测
无符号乘法:AX←AL*r/m8 MUL CL MUL r/m16 无符号乘法:DX:AX←AX*r/m16 MUL CX
NEG NEG reg/mem CF OF SF
ZF AF PF
求补:取反加一
0-(DST)
NEG CL
NOP NOP 不影响空操作NOP NOT NOT reg/mem 不影响按位取反NOT CL
OR 同AND PF SF ZF
CF=OF=0
逻辑或
OR AL,0FH
(不变\置1)
OUT OUT imm8,AL/AX/EAX 不影响
标志位
将AL/AX/EAX输出到imm8指定端
口
OUT 0FFH,AL OUT DX,AL/AX/EAX 将AL/AX/EAX输出到DX指定的端口OUT DX,AL
POP POP DST
DST!=imm & CS
不影响
标志位
DST←((SP)+1,(SP))
SP←(SP)+2
POP WORD
Ptr [87EAH]
POPF POPF 设置所有标志位从堆栈中弹出16位标志寄存器POPF
PUSH PUSH SRC
8086 SRC!=imm
不影响
标志位
SP<--(SP)-2
((SP)+1,(SP))←(SRC) [SP循
环]
PUSH WORD
Ptr [87EAH]
PUSHF PUSHF 不影响压栈16位标志寄存器PUSHF RCL 同SHL 同ROL
带进位循环左移
RCL AL,1
RCR 同SHL 同ROL
带进位循环右移
RCR AL,1
ROL 同SHL 移一位后符号位
改变则OF=1 循环左移:
ROL AL,1
ROR 同SHL 同ROL
循环右移:
ROR AL,1
REP REP String operation 不影响
标志位
CX=0则终止---CX←(CX)-1
---串操作---SI/DI增量
REPZ REPE REPE String operation
AF CF OF
PF SF ZF
CX=0||ZF=0则终止
---CX←(CX)-1
---串比较---SI/DI增量
REPNZ REPNE REPNE String operation
AF CF OF
PF SF ZF
CX=0||ZF=1则终止---
CX←(CX)-1
---串比较---SI/DI增量
RET RET 恢复压栈标志位
POP IP[CS]
子过程返回(Near)/(Far) RET RET imm16 子过程返回后SP←(SP)+imm16 RET 08
SAHF SAHF SF ZF AF PF
CF
(SF:ZF:0:AF:0:PF:1:CF)←AH SAHF
SAL 同SHL 移入CF
OF PF SF ZF
算术左移:[所有移位]如果操作数符号位
改变,则OF=1(CL≠1则OF无定义)
SAL AL,1
SAR 同SHL 移入CF
OF PF SF ZF 算术右移
SAR AL,1
SHL SHL reg/mem, 1
SHL reg/mem, CL
移入CF
OF PF SF ZF 逻辑左移
SHL AL,1
SHL AL,CL
SHR 同SHL 移入CF
OF PF SF ZF 逻辑右移
SHR AL,1
SBB 同SUB AF CF OF
SF PF ZF
带借位减法(CF)
DST←(DST)-(SRC)-(CF)
SCAS SCAS mem
SCASB/W
OF SF ZF
AF PF CF
扫描字符串(ES:DI)-(AL/AX)
DI←(DI)(+/-)1
STC STC CF=1 进位标志CF置1 STC STD Std DF=1 方向标志DF置1(地址减量) STD STI STI IF=1 中断标志IF置1(开中断) STI
STOS STOS mem
STOSB
不影响
标志位
存入串(ES:DI)←(AL/AX)
DI←(DI)(+/-)1
SUB SUB reg/mem, imm/reg
SUB reg, mem
AF CF OF
SF PF ZF
减法
SUB BYTE Ptr
[87EAH], 39
TEST 同AND PF SF ZF
CF=OF=0
逻辑与测试,但是不改变目的操作数,只
设置相关标志位
TEST AL, 1FH
WAIT WAIT 不影响等待,检查非屏蔽浮点异常WAIT
XCHG XCHG OPR1,OPR2
reg-reg\reg-mem
不影响
标志位
目的操作数和源操作数的值交换
操作数不允许为段寄存器
XCHG AX,BX
XLAT XLAT [TABLE] 不影响
标志位
LEA BX, TABLE;表首址给BX
MOV AL, 4;待转换内容到AL
AL←((BX)+(AL))
XLAT
XOR 同AND PF SF ZF
CF=OF=0
逻辑异或
XOR AL,0FH
(不变\反)。