汇编语言指令整理(还没整理好,定个时)

汇编语言指令整理

目录

汇编语言指令整理

一、通用数据传送指令集

MOV

MOVSX

MOVZX

XCHG

XADD

XLAT

PUSH,POP

PUSHF,POPF,PUSHA,POPA

XLAT(XLATB)

CMPXCHG

输入输出端口传送指令

IN

OUT

目的地址传送指令

LEA

LDS

LES

LFS

LGS

LSS

标志传送指令

LAHF

SAHF

PUSHF

POPF

PUSHD

POPD

二、算数运算指令

ADD,ADC

SUB,SBB

INC,DEC

NEG

MUL,IMUL

DIV,IDIV

CBW,CWD

AAA,AAS,AAM,AAD

DAA,DAS

CBW,CWD,CWDE,CDQ

三、逻辑运算指令

AND

OR

XOR

NOT

TEST

SHL,SHR

SAL,SAR

ROL,ROR

RCL,RCR

四、串运算指令

MOVSB,MOVSW,MOVSD

CMPSB,CMPSW,CMPSD

SCAS

LODSB,LODSW

STOSB,STOSW

REP,REPE,REPNE

REPZ,REPNZ

REPC,REPNC

五、程序转移指令

无条件转移指令

JMP

CALL

REP,RETF

条件转移指令

JA,JNBE

JAE,JNB

JB,JNAE

JBE,JNA

JXX

循环控制指令

LOOP

LOOPE,LOOPZ

LOOPNE,LOOPNA

JCXZ

JECXZ

中断指令

INT

INTO

IRET

处理器控制指令

HLT

WAIT

ESC

LOCK

NOP

STC,CLC

CMC

STD,CLD

STI,CLI

六、伪指令

DW

PROC

ENDP

SEGMENT

ASSUME

ENDS

END

七、标志处理指令

CLC,STC

CMC

CLD,STD

CLI,STI

NOP

HLT

WAIT

ESC

LOCK


一、通用数据传送指令集

MOV

功能:把源操作数送给目标操作数

用法:MOV 目标操作数,源操作数

格式:

MOV r1,r2  #把r2送给r1
MOV r,data

是否改变标志位:否

MOVSX

功能:

语法:

格式:

是否改变标志位:

MOVZX

功能:

语法:

格式:

是否改变标志位:

XCHG

功能:

语法:

格式:

是否改变标志位:

XADD

XLAT

PUSH,POP

功能:

语法:

格式:

是否改变标志位:

PUSHF,POPF,PUSHA,POPA

功能:

语法:

格式:

是否改变标志位:

XLAT(XLATB)

功能:

语法:

格式:

是否改变标志位:

CMPXCHG

功能:

语法:

格式:

是否改变标志位:

输入输出端口传送指令

IN

功能:

语法:

格式:

是否改变标志位:

OUT

功能:

语法:

格式:

是否改变标志位:

目的地址传送指令

LEA

功能:

语法:

格式:

是否改变标志位:

LDS

功能:

语法:

格式:

是否改变标志位:

LES

功能:

语法:

格式:

是否改变标志位:

LFS

功能:

语法:

格式:

是否改变标志位:

LGS

功能:

语法:

格式:

是否改变标志位:

LSS

功能:

语法:

格式:

是否改变标志位:

标志传送指令

LAHF

功能:

语法:

格式:

是否改变标志位:

SAHF

功能:

语法:

格式:

是否改变标志位:

PUSHF

功能:

语法:

格式:

是否改变标志位:

POPF

功能:

语法:

格式:

是否改变标志位:

PUSHD

功能:

语法:

格式:

是否改变标志位:

POPD

功能:

语法:

格式:

是否改变标志位:

二、算数运算指令

ADD,ADC

功能:

语法:

格式:

是否改变标志位:

SUB,SBB

功能:

语法:

格式:

是否改变标志位:

INC,DEC

功能:

语法:

格式:

是否改变标志位:

NEG

功能:

语法:

格式:

是否改变标志位:

MUL,IMUL

功能:

语法:

格式:

是否改变标志位:

DIV,IDIV

功能:

语法:

格式:

是否改变标志位:

CBW,CWD

功能:

语法:

格式:

是否改变标志位:

AAA,AAS,AAM,AAD

功能:

语法:

格式:

是否改变标志位:

DAA,DAS

功能:

语法:

格式:

是否改变标志位:

CBW,CWD,CWDE,CDQ

功能:

语法:

格式:

是否改变标志位:

三、逻辑运算指令

AND

功能:

语法:

格式:

是否改变标志位:

OR

功能:

语法:

格式:

是否改变标志位:

XOR

功能:

语法:

格式:

是否改变标志位:

NOT

功能:

语法:

格式:

是否改变标志位:

TEST

功能:

语法:

格式:

是否改变标志位:

SHL,SHR

功能:

语法:

格式:

是否改变标志位:

SAL,SAR

功能:

语法:

格式:

是否改变标志位:

ROL,ROR

功能:

语法:

格式:

是否改变标志位:

RCL,RCR

功能:

语法:

格式:

是否改变标志位:

:以上八种移位指令,移位次数可达255次,移位一次可以直接用操作码,移位大于一次时,需要由寄存器CL给出移位次数。

四、串运算指令

MOVSB,MOVSW,MOVSD

功能:

语法:

格式:

是否改变标志位:

CMPSB,CMPSW,CMPSD

功能:

语法:

格式:

是否改变标志位:

SCAS

功能:

语法:

格式:

是否改变标志位:

LODSB,LODSW

功能:

语法:

格式:

是否改变标志位:

STOSB,STOSW

功能:

语法:

格式:

是否改变标志位:

REP,REPE,REPNE

功能:

语法:

格式:

是否改变标志位:

REPZ,REPNZ

功能:

语法:

格式:

是否改变标志位:

REPC,REPNC

功能:

语法:

格式:

是否改变标志位:

###

五、程序转移指令

无条件转移指令

JMP

功能:

语法:

格式:

是否改变标志位:

CALL

功能:

语法:

格式:

是否改变标志位:

REP,RETF

功能:

语法:

格式:

是否改变标志位:

条件转移指令

JA,JNBE

功能:

语法:

格式:

是否改变标志位:

JAE,JNB

功能:

语法:

格式:

是否改变标志位:

JB,JNAE

功能:

语法:

格式:

是否改变标志位:

JBE,JNA

功能:

语法:

格式:

是否改变标志位:

JXX

功能:

语法:

格式:

是否改变标志位:

注JXX:

  • A: ABOVE, 当 C=0,Z=0 时成立

  • B: BELOW, 当 C=1 时成立

  • C: CARRY, 当弁时成立 CXZ: CX寄存器的值为0(ZERO)时成立

  • E: EQUAL, 当 Z=1 时成立

  • G: GREATER(大于),当 Z=0 且 S=0 时成立

  • L: LESS(小于),当 S 不为零时成立

  • N: NOT(相反条件),需和其它符号配合使用

  • O: OVERFLOW,O=1 时成立

  • P: PARITY,P=1 时成立

  • PE: PARITY EVEN,P=1 时成立

  • PO: PARITY ODD,P=0 时成立

  • S: SIGN,S=1 时成立

  • Z: ZERO,Z=1 时成立

    ##

循环控制指令

LOOP

功能:

语法:

格式:

是否改变标志位:

LOOPE,LOOPZ

功能:

语法:

格式:

是否改变标志位:

LOOPNE,LOOPNA

功能:

语法:

格式:

是否改变标志位:

JCXZ

功能:

语法:

格式:

是否改变标志位:

JECXZ

功能:

语法:

格式:

是否改变标志位:

中断指令

INT

功能:

语法:

格式:

是否改变标志位:

INTO

功能:

语法:

格式:

是否改变标志位:

IRET

功能:

语法:

格式:

是否改变标志位:

处理器控制指令

HLT

功能:

语法:

格式:

是否改变标志位:

WAIT

功能:

语法:

格式:

是否改变标志位:

ESC

功能:

语法:

格式:

是否改变标志位:

LOCK

功能:

语法:

格式:

是否改变标志位:

NOP

功能:

语法:

格式:

是否改变标志位:

STC,CLC

功能:

语法:

格式:

是否改变标志位:

CMC

功能:

语法:

格式:

是否改变标志位:

STD,CLD

功能:

语法:

格式:

是否改变标志位:

STI,CLI

功能:

语法:

格式:

是否改变标志位:

六、伪指令

DW

功能:

语法:

格式:

是否改变标志位:

PROC

功能:

语法:

格式:

是否改变标志位:

ENDP

功能:

语法:

格式:

是否改变标志位:

SEGMENT

功能:

语法:

格式:

是否改变标志位:

ASSUME

功能:

语法:

格式:

是否改变标志位:

ENDS

功能:

语法:

格式:

是否改变标志位:

END

功能:

语法:

格式:

是否改变标志位:

七、标志处理指令

CLC,STC

功能:

语法:

格式:

是否改变标志位:

CMC

功能:

语法:

格式:

是否改变标志位:

CLD,STD

功能:

语法:

格式:

是否改变标志位:

CLI,STI

功能:

语法:

格式:

是否改变标志位:

NOP

功能:

语法:

格式:

是否改变标志位:

HLT

功能:

语法:

格式:

是否改变标志位:

WAIT

功能:

语法:

格式:

是否改变标志位:

ESC

功能:

语法:

格式:

是否改变标志位:

LOCK

功能:

语法:

格式:

是否改变标志位:

Contributed By Tianyu Yin,Beijing Institute of Technology

###

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值