8086汇编指令表
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8086汇编指令表
Reg ←mem
标志位 DS ←(SRC+2) LSS 同LDS 不影响 指针送寄存器和SS LES 同LDS 不影响 指针送寄存器和ES LFS 同LDS 不影响 指针送寄存器和FS LGS 同LDS 不影响 指针送寄存器和GS
LEA LEA r16,m 不影响 标志位 将源操作数的有效地址送r16 LEA SI,[BX] LEA r32,m 将源操作数的有效地址送r32 LEA STRING LOCK LOCK 不影响 总线锁定
LOCK LODS LODS mem LODSB/W 不影响 标志位 装入串:AL/AX ←(DS:SI) SI ←(SI)(+/-)1
LOOP
LOOP rel8
不影响 CX ←(CX)-1---(CX)≠0,则循环 LOOPE
LOOPZ
LOOPE rel8
不影响 标志位 CX ←(CX)-1
(CX)≠0且ZF=1,则循环 LOOPNE
LOOPNZ LOOPNE rel8
不影响 标志位 CX ←(CX)-1
(CX)≠0且ZF=0,则循环
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
(不变\反)