指令大全

一般数据传输指令 MOV

压栈指令 PUSH OPRD

出栈指令 POP OPRD

交换指令 XCHG REG,MEM/REG

查表指令 XLAT

字节到字的扩展指令 CBW

字到双字的扩展指令 CWD

输入指令 IN acc,PORT(端口地址)

输出指令 OUT PORT,acc(AL/AX)

LEA指令 LEA REG,MEM (MEM必须是存储操作数)

LDS指令 LDS 通用寄存器,存储器操作数

LES指令 LES 通用寄存器,存储器操作数

标志传送指令 LAHF 将FLAGS的低8位装入AH

标志传送指令 SAHF 将AH内容写回到FLAGS中

标志传送指令 PUSHF 将标志寄存器内容压入当前栈顶

标志传送指令 POPF 将当前栈顶内容弹出寄存器

加法ADD指令 ADD OPRD1,OPRD2

加法ADC指令 ADC OPRD1,OPRD2

加法INC指令 INC OPRD (OPRD不能是段寄存器不能是立即数)

减法SUB指令 SUB OPRD1,OPRD2

减法SBB指令 SBB OPRD1,OPRD2

减法DEC指令 DEC OPRD

减法NEG指令 NEG OPRD (OPRD为8/16位寄存器或存储器操作数)

减法CMP指令 CMP OPRD1,OPRD2

无符号的乘法指令 MUL OPRD (OPRD不能说立即数)

带符号的乘法指令 IMUL OPRD

无符号除法指令 DIV OPRD

有符号除法指令 IDIV OPRD

“与”运算指令 AND OPRD1,OPRD2

”或“运算指令 OR OPRD1,OPRD2

”非“运算指令 NOT OPRD

”异或“运算指令 XOR OPRD1,OPRD2

”测试“指令 TEST OPRD1,OPRD2

非循环移位逻辑左移指令 SHL OPRD,CL

非循环移位算数左移指令 SAL OPRD,CL

非循环移位逻辑右移指令 SHR OPRD,CL

非循环移位算数右移指令 SAR OPRD,CL

不带进位位的循环左移指令 ROL

不带进位位的循环右移指令 ROR

带进位位的循环左移移指令 RCL

带进位位的循环右移移指令 RCR

串传送指令 MOVS OPRD1,OPRD2 (此格式仅用于源操作数需段重设的情况下)

串传送指令 MOVSB (用来字节传送)

串传送指令 MOVSW (用来字传送)

串比较指令 CMPS OPRD1,OPRD2

串比较指令 CMPSB

串比较指令 CMPSW

串扫描指令 SCAS OPRD (OPRD为目标操作数)

串扫描指令 SCASB

串扫描指令 SCASW

串装入指令 LODS OPRD (OPRD为源操作数)

串装入指令 LODSB

串装入指令 LODSW

串存储指令 STOS OPRD (OPRD为目标操作数)

串存储指令 STOSB

串存储指令 STOSW

无条件转移指令 JMP OPRD

无条件段内直接转移 JMP Label (Label为近地址标号)

无条件段内间接转移 JMP WORD PTR[BX]

无条件段间直接转移 JMP FAR Label (FAR Label为远地址标号)

无条件段间间接转移 JMP DWORD PTR[BX]

条件转移指令

​ 基于1个标志位状态实现转移的指令:

​ JC/JNC 判断CF的状态。常用于两个无符号数大小比较

​ JZ/JNZ 判断ZF的状态。常用于循环体的结束判断

​ JO/JNO 判断OF的状态。常用于有符号数溢出的判断

​ JP/JPE、JNP/JPO 判断PF的状态。用于判断运算结果低8位中的个数是否为偶数

​ JS/JNS 判断SF的状态。常用于判断数的性质

​ 基于2个或3个标志位状态实现转移的指令:

​ JA/JAE/JB/JBE 判断CF或CF+ZF的状态。常用于无符号数大小的比较

​ JG/JGE/JL.JLE 判断SF+OF或SF+OF+ZF的状态。常用于有符号数大小的比较

​ 基于CX内容转移的指令

JCXZ 可根据指令执行后CX的结果实现转移

无条件循环指令 LOOP LABEL

条件循环指令 LOOPZ Label →继续循环的条件:CX≠0,且ZF=1

条件循环指令 LOOPNZ Label→继续循环的条件:CX≠0,且ZF=0

段内调用指令 CALL TIMER

段内调用指令 CALL WORD PTR[SI]

段间调用指令 CALL FAR TIMRE

段间调用指令 CALL DWORD PTR[SI]

返回指令 RET

中断指令 INT n (n为中断类型码,n=0~255)

中断返回指令 IRET

标志位操作指令

​ 置标志位状态

​ CLC CF←0 ;清进位标志位

​ STC CF←1 ;进位标志位置位

​ CMC CF← 非CF ;进位标志位取反

​ CLD DF←0 ;清方向标志位,串操作从低地址到高地址

​ STD DF←1 ;方向标志位置位,串操作从高地址到低地址

​ CLI IF←0 ;清中断标志位,即关中断

​ STI IF←1 ;中断标志位置位,即开中断

更新于

请我喝[茶]~( ̄▽ ̄)~*

Chen 微信支付

微信支付

Chen 支付宝

支付宝

Chen 贝宝

贝宝