2022年汇编指令表 .pdf
8086 汇编指令表指令名称指令形式标志位说明应用举例AAA AAA AF CF 加后非压缩BCD 码调整 ALAX AAA AAD AAD SF ZF PF 除前非压缩BCD 码调整 AXBi AAD AAM AAM SF ZF PF 乘后非压缩BCD 码调整 AX AAM AAS AAS AF CF 减后非压缩BCD 码调整 ALAX AAS ADC 同 ADD AF CF OF SF PF ZF 带进位加法(CF)DST(DST)+(SRC)+(CF) ADD ADD reg/mem, imm/reg ADD reg/mem AF CF OF SF PF ZF 加法ADD BYTE Ptr 87EAH, 39 AND AND DST, SRT reg/mem-imm/reg/mem PF SF ZF CF=OF=0 逻辑与(置不变 ) (设置 CF) AND AL,0FH AND AX,AX CALL CALL PRO 不影响标志位PUSH IP(now)&IP(IP)+disp16 CALL reg/mem PUSH IP(now)&IP(reg/mem) CALL FAR PTR PRO PUSH CS-IP&CS-IP(CS-IP)PRO CALL DWORD PTR mem PUSH CS-IP&IP(m)CS(m+2) CBW CBW 不影响将 AL 值带符号扩展到AX CBW CLC CLC CF=0 进位标志 CF 置 0 CLC CLD CLD DF=0 方向标志 DF 置 0( 地址增量 ) CLD CLI CLI IF=0 中断标志IF 置 0 CLD CMC CMC CF=-CF 进位标志 CF 取反CMC CMP 同 ADD AF CF OF PF SF ZF 操作数相减但结果不回送CMPS CMPS mem, mem CMPSB/W AF CF OF PF SF ZF 比较字符串(DS:SI)-(ES:DI) SI(SI)(+/-)1 DI(DI)(+/-)1 CWD CWD 不影响将 AX 带符号扩展到DX :AX CWD CWDE CWDE 不影响将 AX 带符号扩展到EAX CWDE DAA DAA AF CF PF SF ZF 加法后的 10 进制调整AL DAA DAS DAS AF CF PF SF ZF 减法后的 10 进制调整AL DAS DEC DEC reg/mem AF OF PF SF ZF(不影响CF )目标减 1 DEC BYTE Ptr 8A90H DIV DIV r/m8 AF CF OF PF SF ZF 无法预测无符号除法AX 除以 BL,商在 AL 中,余数在 AH 中DIV BL DIV r/m16 DX :AX 除以 BX ,商在AX 中,余数在DX 中DIV BX ESC ESC 不影响处理器交权ESC HLT HLT 不影响系统进入暂停状态HLT IDIV IDIV r/m8 AF CF OF PF SF ZF 无法预测有符号除法AX 除以 BL,商在 AL 中,余数在 AH 中IDIV BL IDIV r/m16 DX :AX 除以 BX ,商在AX 中,余数在DX 中IDIV BX IMUL IMUL r/m8 设置 CF OF S Z A P 无法预测有符号乘法:AXAL*r/m8 IMUL CL IMUL r/m16 有符号乘法:DX:AX AX*r/m16 IMUL CX IN IN AL/AX/EAX,imm8 不影响从 imm8端口读数据到AL/AX/EAX IN AL,0FFH 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - IN AL/AX/EAX,DX 标志位从 DX 指定的端口读数据到AL/AX/EAX IN AL,DX INC INC reg/mem OF SF ZF AF PF(不影响CF )目标加 1 INC BYTE Ptr 00459AF0 INT INT imm8 标志位被压栈IF=0 中断功能调用PUSH FLAGS-CS-IP imm8*4 中断向量表查CS/IP INT 21H IRET IRET 弹出标志位中断返回 POP IP-CS-FLAGS IRET JXX 条件转移JA rel8 CF=ZF=0 无符号数 (=JNBE) JAE rel8 CF=0 | ZF=1 无符号数 (=JNB) JB rel8 CF=1 & ZF=0 无符号数 (=JNLE) JGE rel8 SF=OF | ZF=1 有符号数 (=JNL) JL rel8 SFOF & ZF=0 有符号数 (=JNGE) JLE rel8 SFOF | ZF=1 有符号数 (=JNG) JNA rel8 CF=1 | ZF=1 无符号数 (=JBE) 不高于JNAE rel8 CF=1 & ZF=0 无符号数 (=JA) 不低等于JNC rel8 CF=0 无进位转移JNE rel8 ZF=0 不相等转移 (=JNZ) JNG rel8 SFOF | ZF=1 有符号数 (=JLE) 不大于JNGE rel8 SFOF & ZF=0 有符号数 (=JG) 不小等于JNO rel8 OF=0 无溢出转移JNP rel8 PF=0 奇状态转移 (=JPO) JNS rel8 SF=0 非负数转移JNZ rel8 ZF=0 非 0 转移 (=JNE) JO rel8 OF=1 溢出转移JP rel8 PF=1 偶状态转移 (=JPE) JPE rel8 PF=1 偶状态转移 (=JP) JPO rel8 PF=0 奇状态转移 (=JNP) JS rel8 SF=1 负数转移JZ rel8 ZF=1 等于 0 转移 (=JE) JMP JMP SHORT OPR 不影响标志位IP(IP)+disp8 -128B+127B 段内转移JMP NEAR PTR OPR IP(IP)+disp16 -32KB+32KB JMP WORD PTR OPR IP(OPR) JMP FAR PTR OPR IP(IP)opr&CS(CS)opr 段间转移JMP DWORD PTR OPR IP(OPR)&CS(OPR+2) LAHF LAHF 不影响AH=SF:ZF:0:AF:0:PF:1:CF LAHF LDS LDS DST, SRC 不影响DST(SRC) LDS DI,BX 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - Regmem 标志位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 PTRDI, DS:SI MUL MUL r/m8 设置 CF OF S Z A P 无法预测无符号乘法:AXAL*r/m8 MUL CL MUL r/m16 无符号乘法:DX:AXAX*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 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - 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 IPCS 子过程返回 (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(CL1 则 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-regreg-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 (不变反) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -