汇编语言指令速查表汇总Word下载.docx

上传人:b****4 文档编号:16451613 上传时间:2022-11-23 格式:DOCX 页数:29 大小:40.37KB
下载 相关 举报
汇编语言指令速查表汇总Word下载.docx_第1页
第1页 / 共29页
汇编语言指令速查表汇总Word下载.docx_第2页
第2页 / 共29页
汇编语言指令速查表汇总Word下载.docx_第3页
第3页 / 共29页
汇编语言指令速查表汇总Word下载.docx_第4页
第4页 / 共29页
汇编语言指令速查表汇总Word下载.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

汇编语言指令速查表汇总Word下载.docx

《汇编语言指令速查表汇总Word下载.docx》由会员分享,可在线阅读,更多相关《汇编语言指令速查表汇总Word下载.docx(29页珍藏版)》请在冰豆网上搜索。

汇编语言指令速查表汇总Word下载.docx

带进位加法:

dst+src+CFdst

ADCreg,reg

1

ADCreg,mem

2

ADCreg,imm

ADCacc,imm

ADCmem,reg

ADCmem,imm

ADDdst,src

加法:

dst+srcdst

ADDreg,reg

ADDreg,mem

ADDreg,imm

ADDacc,imm

ADDmem,reg

ADDmem,imm

续表

ANDdst,src

逻辑与:

dstsrcdst

ANDreg,reg

P0

ANDreg,mem

ANDreg,imm

ANDacc,imm

ANDmem,reg

ANDmem,imm

ARPLdst,src

调整选择器的RPL域

ARPLreg/mem16,reg16

7

--Z---

BOUNDreg,mem

越界检查:

(80188+)

若reg值超出mem,则产生INT5

BOUNDreg16,mem32

INT+32

BOUNDreg32,mem64

BSFreg,src

从低到高扫描src,16/32位(386+)

若src=0,ZF清0,否则置1,位置reg

BSFreg,reg

6~35

?

Z?

BSFreg,mem

6~43

BSRreg,src

从高到低扫描src,16/32位(386+)

BSRreg,reg

BSRreg,mem

BSWAPreg32

反转reg32字节顺序(486+)

BTdst,src

位测试(386+)

由dst指定的位CF(16/32位)

BTreg,reg

4

C

BTreg,imm

BTmem,reg

9

BTmem,imm

BTCdst,src

位测试并变反(386+)

dst的指定位CF,然后该位变反,

(16/32位)

BTCreg,reg

BTCreg,imm

BTCmem,reg

13

BTCmem,imm

8

BTRdst,src

位测试并清0(386+)

dst的指定位CF,然后该位清0,

BTRreg,reg

BTRreg,imm

BTRmem,reg

BTRmem,imm

BTSdst,src

位测试并置1(386+)

dst的指定位CF,然后该位置1,

BTSreg,reg

BTSreg,imm

BTSmem,reg

BTSmem,imm

CALLdst

子程序调用

近调用:

返回的偏移地址进栈,

然后转至dst处执行;

远调用:

返回的段和偏移地址进栈,

然后转至dst处执行

CALLlabel(near)

CALLreg(near)

CALLmem(near)

CALLlabel(far)

CALLmem(far)

5

CBW

AL符号扩展成AX

CDQ

EAX符号扩展成EDX:

EAX

CLC

CF清0

-----0

CLD

DF清0

CLI

IF清0,即关中断

CLTS

清除CR0中任务切换标志(386+)

CMC

CF取反,即CFCF

-----C

CMOVccreg,src

条件成立srcreg,16/32位(586+)

cc:

参见Jcc指令。

CMOVccreg,reg

4~9

CMOVccreg,mem

CMPdst,src

比较:

dst-src,据此设置标志位

CMPreg,reg

CMPreg,mem

CMPreg,imm

CMPacc,imm

CMPmem,reg

CMPmem,imm

CMPSx

串比较:

[(E)SI]-ES:

[(E)DI],

然后(E)SI,(E)DI增或减Δ(1/2/4)

x:

B,W,D对应字节

(1)、字

(2)、双字(4)。

DF=0增,否则减

CMPSB

CMPSW

CMPSD

CMPXCHGdst,reg

acc-dst,等regdst,否则

dstacc(486+)

CMPXCHGreg/mem,reg

5,6

CMPXCHG8Bdst

EDX:

EAX-dst,等ECX:

EBXdst,否则EDX:

EAXdst(486+)

CMPXCHG8Bmem64

CPUID

CPU标识EAX,EBX,ECX,EDX

14

CWD

AX符号扩展成DX:

AX

CWDE

AX符号扩展成EAX

DAA

加法后的十进制调整AL

SZAPC

DAS

减法后的十进制调整AL

DECopr

opr自减1,即opr-1opr

DECreg

OSZAP-

DECmem

DIVsrc

无符号除法

8位:

AX÷

src,商AL,余数AH

16位:

DX:

src,商AX,余数DX

32位:

EAX÷

src,商EAX,余数EDX

DIVreg

17~41

DIVmem

ENTERm,n

建m字节局部空间,n级的栈帧(286+)

ENTERimm16,imm8

11+

HLT

暂停CPU,直到I/O中断发生

IDIVsrc

有符号除

IDIVreg

22~46

IDIVmem

IMULsrc

有符号乘法

AL×

srcAX

AX×

srcDX:

32位:

EAX×

srcEDX:

IMULreg

10~11

O?

IMULmem

IMULreg,src

有符号乘法reg×

srcreg(286+)

IMULreg,reg/mem

IMULreg,src,imm

有符号乘法src×

immreg(286+)

IMULreg,reg/mem,imm

INacc,src

端口数据acc

INacc,imm8

INacc,DX

INCopr

opr自加1,即opr+1opr

INCreg

INCmem

INSx

端口DX数据ES:

然后(E)DI增或减Δ(1/2/4)

B,W,D对应字节

(1)、字

(2)、双字(4);

若DF=0增,否则减

INSB

INSW

INSD

INTn

FLAGS进栈,IF,TF置0,从[4n]双字单元取

段和偏移地址,并转去执行(实地址模式)

INT3

INT+5

INTimm8

INT+6

INTO

若OF=1,则执行INT4

4,INT+5

INVD

使Cache无效

15

INVLPG

使TLB入口无效

29

IRET

中断返回:

从堆栈弹出返回的偏移

和段地址,再弹出标志寄存器内容

Jccopr

条件满足,则转移至opr

Jcclabel

JA/JNBEopr

高于(CF=0ZF=0)

JA/JNBElabel

JAE/JNB/JNCopr

高于等于(CF=0)

JAE/JNB/JNClabel

JB/JC/JNAEopr

低于(CF=1)

JB/JC/JNAElabel

JBE/JNAopr

低于等于(CF=1ZF=1)

JBE/JNAlabel

JE/JZopr

等于(ZF=1)

JE/JZlabel

JG/JNLEopr

大于(ZF=0SF=OF)

JG/JNLElabel

JGE/JNLopr

大于等于(SF=OF)

JGE/JNLlabel

JL/JNGEopr

小于(SF≠OF)

JL/JNGElabel

JLE/JNGopr

小于等于(ZF=1SF≠OF)

JLE/JNGlabel

JNE/JNZopr

不等于(ZF=0)

JNE/JNZlabel

JNOopr

无溢出(OF=0)

JNOlabel

JNSopr

非负数(SF=0)

JNSlabel

JOopr

溢出(OF=1)

JOlabel

JP/JPEopr

有偶数个1(PF=1)

JP/JPElabel

JPO/JNPopr

有奇数个1(PF=0)

JPO/JNPlabel

JSopr

负数(SF=1)

JSlabel

JCXZopr

若CX=0,则转移至opr

JCXZlabel

6/5

JECXZopr

若ECX=0,则转移至opr

JECXZlabel

JMPopr

转移至opr

近:

转移后仅可改变(E)IP

远:

转移后可改变(E)IP和CS

JMPlabel(near)

JMPreg(near)

JMPmem(near)

JMPlabel(far)

JMPmem(far)

LAHF

标志寄存器低字节AH

------

LARreg,dst

将dst指定的选择器访问权reg

LARreg,reg/mem

LDSreg,mem

将mem内容DS:

reg

LEAreg,mem

将mem的偏移地址reg

LEAVE

释放栈帧,即:

(E)BP(E)SP,POP(E)BP

LESreg,mem

将mem内容ES:

LFSreg,mem

将mem内容FS:

reg(386+)

LGDTmem

将mem内容GDTR(286+)

6

LGSreg,mem

将mem内容GS:

LIDTmem

将mem内容IDTR(286+)

LLDTsrc

srcLDTR(286+)

LLDTreg/mem

LMSWsrc

src机器状态字(CR0低16位)(286+)

LMSWreg/mem

LOCK

总线锁(以便其他处理器处理指令)

LOCK

LODSx

从串取:

[(E)SI]acc,

然后(E)SI增或减Δ(1/2/4)

B,W,D对应字节

(1)、字

(2)、双字(4);

LODSB

LODSW

LODSD

LOOPopr

(E)CX自减1,若(E)CX≠0则转移

LOOPlabel

5/6

LOOPE/LOOPZopr

(E)CX自减1,若ZF=1(E)CX≠0则转移

LOOPE/LOOPZlabel

7/8

LOOPNE/LOOPNZopr

(E)CX自减1,若ZF=0(E)CX≠0则转移

LOOPNE/LOOPNZlabel

LSLreg,src

src选择器确定的段界reg(286+)

LSLreg,reg/mem

LSSreg,mem

将mem内容SS:

LTRsrc

src任务寄存器TR(286+)

LTRreg16/mem16

MOVdst,src

数据传送:

srcdst

MOVreg,reg

MOVreg,mem

MOVreg,imm

MOVmem,reg

MOVmem,imm

MOVacc,mem

MOVmem,acc

控制寄存器内容传送(386+)

CRireg32,reg32CRi(i=0,2,3,4)

MOVreg32,CRi

MOVCRi,reg32

12~22

调试寄存器内容传送(386+)

DRireg32,reg32DRi(i=0~7)

MOVreg32,DRi

2~12

MOVDRi,reg32

11~12

段寄存器内容传送

segdst,srcseg(CS除外)

MOVreg/mem,seg

MOVseg,reg/mem

MOVSx

串传送:

[(E)SI]ES:

[(E)DI],然

后(E)SI、(E)DI增或减Δ(1/2/4)

MOVSB

MOVSW

MOVSD

MOVSXreg,src

src经符号扩展后reg(386+)

MOVSXreg,reg/mem

MOVZXreg,src

src经0扩展后reg(386+)

MOVZXreg,reg/mem

MULsrc

无符号乘法

MULreg

MULmem

NEGopr

opr求补(负),即-opropr

NEGreg

NEGmem

NOP

空操作

NOTopr

opr按位取反,即:

opropr

NOTreg

NOTmem

ORdst,src

逻辑或,dstsrcdst

ORreg,reg

ORreg,mem

ORreg,imm

ORmem,reg

ORmem,imm

ORacc,imm

OUTdst,acc

acc内容端口dst

OUTimm8,acc

12

OUTDX,acc

OUTSx

[(E)SI]内容DX端口,(386+)

OUTSB

OUTSW

OUTSD

POPdst

从堆栈弹出数据dst

((E)SP增2或4,seg不能为CS)

POPreg

POPmem

POPseg

3~12

POPA

数据出栈DI,SI,BP,BX,DX,CX,AX

(SP增2×

8)(286+)

POPAD

堆栈弹出数据EDI,ESI,EBP,EBX,EDX,

ECX,EAX((E)SP增4×

8)(386+)

POPF

数据出栈FLAGS((E)SP增2)(286+)

POPFD

数据出栈EFLAGS((E)SP增4)(386+)

PUSHsrc

src数据进栈((E)SP减2/4)

(reg32,mem32,imm,386+)

PUSHreg

PUSHmem

PUSHimm

PUSHseg

PUSHA

AX,CX,DX,BX,SP,BP,SI,DI进栈,

(SP减2×

PUSHAD

EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI进栈,((E)SP减4×

PUSHF

FLAGS进栈((E)SP减2)(286+)

PUSHFD

EFLAGS进栈((E)SP减4)(386+)

RCLdst,n

dst带进位循环左移n位

注:

n为imm8是386+支持

RCLreg,1

O----C

RCLmem,1

RCLreg,CL

7~24

RCLmem,CL

9~26

RCLreg,imm8

8~25

RCLmem,imm8

10~27

RCRdst,n

dst带进位循环右移n位

RCRreg,1

RCRmem,1

RCRreg,CL

RCRmem,CL

RCRreg,imm8

RCRmem,imm8

RDMSR

MSR[ECX]EDX:

EAX(586+)

20~24

RDTSC

自启动以来CPU执行的时钟周期数EDX:

EAX(586+)

28

REP串指令

当(E)CX≠0重复{(E)CX自减1,

再执行其后的串指令}

REPINSx

11+3n

REPLODSx

7+3n

REPMOVSx

6,13n

REPOUTSx

13+4n

REPSTOSx

6,9+3n

REPE/REPZ 

串指令

当(E)CX≠0ZF=1重复{(E)CX自

减1,再执行其后的串指令}

REPE/REPZCMPSx

7,8+4n

REPE/REPZSCASx

REPNE/REPNZ串指令

当(E)CX≠0ZF=0重复{(E)CX自

REPNE/REPNZCMPSx

REPNE/REPNZSCASx

RET[n]

子程序返回:

从堆栈弹出返回地

址,若有n则返回后(E)SP再增n。

近返回RETN:

只弹出偏移地址;

远返回RETF:

弹出偏移和段地址;

RETN

RETF

RETNimm16

RETFimm16

ROLdst,n

dst循环左移n位

n为imm8是386+支持

ROLreg,1

ROLmem,1

ROLreg,CL

ROLmem,CL

ROLreg,imm8

ROLmem,imm8

RORdst,n

dst循环右移n位

n为imm8是386+支

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1