8086指令系统一览表资料.docx

上传人:b****4 文档编号:12018418 上传时间:2023-04-16 格式:DOCX 页数:45 大小:237.24KB
下载 相关 举报
8086指令系统一览表资料.docx_第1页
第1页 / 共45页
8086指令系统一览表资料.docx_第2页
第2页 / 共45页
8086指令系统一览表资料.docx_第3页
第3页 / 共45页
8086指令系统一览表资料.docx_第4页
第4页 / 共45页
8086指令系统一览表资料.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

8086指令系统一览表资料.docx

《8086指令系统一览表资料.docx》由会员分享,可在线阅读,更多相关《8086指令系统一览表资料.docx(45页珍藏版)》请在冰豆网上搜索。

8086指令系统一览表资料.docx

8086指令系统一览表资料

附录

附录一ASCII码表

 

附录二8086指令系统一览表

 

类型

汇编指令格式

功能

操作数说明

时钟周期数

字节数

MOVdst,src

(dst)←(src)

mem,reg

reg,mem

reg,reg

reg,imm

mem,imm

seg,reg

seg,mem

mem,seg

reg,seg

mem,acc

acc,mem

9+EA

8+EA

2

4

10+EA

2

8+EA

9+EA

2

10

10

2~4

2~4

2

2~3

3~6

2

2~4

2~4

2

3

3

PUSHsrc

(SP)←(SP)-2

((SP)+1,(SP))←(src)

reg

seg

mem

11

10

16+EA

1

1

2~4

POPdst

(dst)←((SP)+1,(SP))

(SP)←(SP)+2

reg

seg

mem

8

8

17+EA

1

1

2~4

XCHGop1,op2

(op1)←→(op1)

reg,mem

reg,reg

reg,acc

17+EA

4

3

2~4

2

1

INacc,port

INacc,DX

(acc)←(port)

(acc)←((DX))

10

8

2

1

OUTport,acc

OUTDX,acc

(port)←(acc)

((DX))←(acc)

10

8

2

1

XLAT

11

1

LEAreg,src

(reg)←src

reg,mem

2+EA

2~4

LDSreg,src

(reg)←src

(DS)←(src+2)

reg,mem

16+EA

2~4

LESreg,src

(reg)←src

(ES)←(src+2)

reg,mem

16+EA

2~4

LAHF

(AH)←(FR低字节)

4

1

SAHF

(FR低字节)←(AH)

4

1

PUSHF

(SP)←(SP)-2

((SP)+1,(SP))←(FR低字节)

10

1

POPF

(FR低字节)←((SP)+1,(SP))

(SP)←(SP)+2

8

1

ADDdst,src

(dst)←(src)+(dst)

mem,reg

reg,mem

reg,reg

reg,imm

mem,imm

acc,imm

16+EA

9+EA

3

4

17+EA

4

2~4

2~4

2

3~4

3~6

2~3

ADCdst,src

(dst)←(src)+(dst)+CF

mem,reg

reg,mem

reg,reg

reg,imm

mem,imm

acc,imm

16+EA

9+EA

3

4

17+EA

4

2~4

2~4

2

3~4

3~6

2~3

INCop1

(op1)←(op1)+1

reg

mem

2~3

15+EA

1~2

2~4

SUBdst,src

(dst)←(src)-(dst)

mem,reg

reg,mem

reg,reg

reg,imm

mem,imm

acc,imm

16+EA

9+EA

3

4

17+EA

4

2~4

2~4

2

3~4

3~6

2~3

SBBdst,src

(dst)←(src)-(dst)-CF

mem,reg

reg,mem

reg,reg

reg,imm

mem,imm

acc,imm

16+EA

9+EA

3

4

17+EA

4

2~4

2~4

2

3~4

3~6

2~3

DECop1

(op1)←(op1)-1

reg

mem

2~3

15+EA

1~2

2~4

NEGop1

(op1)←0-(op1)

reg

mem

3

16+EA

2

2~4

CMPop1,op2

(op1)-(op2)

mem,reg

reg,mem

reg,reg

reg,imm

mem,imm

acc,imm

9+EA

9+EA

3

4

10+EA

4

2~4

2~4

2

3~4

3~6

2~3

MULsrc

(AX)←(AL)*(src)

(DX,AX)←(AX)*(src)

8位reg

8位mem

16位reg

16位mem

70~77

(76~83)+EA

118~133

(124~139)+EA

2

2~4

2

2~4

IMULsrc

(AX)←(AL)*(src)

(DX,AX)←(AX)*(src)

8位reg

8位mem

16位reg

16位mem

80~98

(86~104)+EA

128~154

(134~160)+EA

2

2~4

2

2~4

DIVsrc

(AL)←(AX)/(src)的商

(AH)←(AX)/(src)的余数

(AX)←(DX,AX)/(src)的商

(DX)←(DX,AX)/(src)的余数

8位reg

8位mem

16位reg

16位mem

80~90

(86~96)+EA

144~162

(150~168)+EA

2

2~4

2

2~4

IDIVsrc

(AL)←(AX)/(src)的商

(AH)←(AX)/(src)的余数

(AX)←(DX,AX)/(src)的商

(DX)←(DX,AX)/(src)的余数

8位reg

8位mem

16位reg

16位mem

101~112

(107~118)+EA

165~184

(171~190)+EA

2

2~4

2

2~4

DAA

(AL)←AL中的和调整为组合BCD

4

1

DAS

(AL)←AL中的差调整为组合BCD

4

1

AAA

(AL)←AL中的和调整为非组合BCD

(AH)←(AH)+调整产生的进位值

4

1

AAS

(AL)←AL中的差调整为非组合BCD

(AH)←(AH)-调整产生的进位值

4

1

AAM

(AX)←AX中的积调整为非组合BCD

83

2

AAD

(AL)←(AH)*10+(AL)

(AH)←0

(注意是除法进行前调整被除数)

60

2

ANDdst,src

(dst)←(dst)∧(src)

mem,reg

reg,mem

reg,reg

reg,imm

mem,imm

acc,imm

16+EA

9+EA

3

4

17+EA

4

2~4

2~4

2

3~4

3~6

2~3

ORdst,src

(dst)←(dst)∨(src)

mem,reg

reg,mem

reg,reg

reg,imm

mem,imm

acc,imm

16+EA

9+EA

3

4

17+EA

4

2~4

2~4

2

3~4

3~6

2~3

NOTop1

(op1)←(

reg

mem

3

16+EA

2

2~4

XORdst,src

(dst)←(dst)⊕(src)

mem,reg

reg,mem

reg,reg

reg,imm

mem,imm

acc,imm

16+EA

9+EA

3

4

17+EA

4

2~4

2~4

2

3~4

3~6

2~3

TESTop1,op2

(op1)∧(op2)

reg,mem

reg,reg

reg,imm

mem,imm

acc,imm

9+EA

3

5

11+EA

4

2~4

2

3~4

3~6

2~3

SHLop1,1

SHLop1,CL

逻辑左移

reg

mem

reg

mem

2

15+EA

8+4/bit

20+EA+4/bit

2

2~4

2

2~4

SALop1,1

SALop1,CL

算术右移

reg

mem

reg

mem

2

15+EA

8+4/bit

20+EA+4/bit

2

2~4

2

2~4

SHRop1,1

SHRop1,CL

逻辑右移

reg

mem

reg

mem

2

15+EA

8+4/bit

20+EA+4/bit

2

2~4

2

2~4

SARop1,1

SARop1,CL

算术右移

reg

mem

reg

mem

2

15+EA

8+4/bit

20+EA+4/bit

2

2~4

2

2~4

ROLop1,1

ROLop1,CL

循环左移

reg

mem

reg

mem

2

15+EA

8+4/bit

20+EA+4/bit

2

2~4

2

2~4

RORop1,1

RORop1,CL

循环右移

reg

mem

reg

mem

2

15+EA

8+4/bit

20+EA+4/bit

2

2~4

2

2~4

RCLop1,1

RCLop1,CL

带进位位的循环左移

reg

mem

reg

mem

2

15+EA

8+4/bit

20+EA+4/bit

2

2~4

2

2~4

RCRop1,1

RCRop1,CL

带进位位的循环右移

reg

mem

reg

mem

2

15+EA

8+4/bit

20+EA+4/bit

2

2~4

2

2~4

MOVSB

MOVSW

((DI))←((SI))

(SI)←(SI)±1,(DI)←(DI)±1

((DI))←((SI))

(SI)←(SI)±2,(DI)←(DI)±2

不重复:

18

重复:

9+17/rep

不重复:

18

重复:

9+17/rep

1

1

STOSB

STOSW

((DI))←(AL)

(DI)←(DI)±1

((DI))←(AX)

(DI)←(DI)±2

不重复:

11

重复:

9+10/rep

不重复:

11

重复:

9+10/rep

1

1

LODSB

LODSW

(AL)←((SI))

(SI)←(SI)±1

(AX)←((SI))

(SI)←(SI)±2

不重复:

12

重复:

9+13/rep

不重复:

12

重复:

9+13/rep

1

1

CMPSB

CMPSW

((SI))-((DI))

(SI)←(SI)±1,(DI)←(DI)±1

((SI))-((DI))

(SI)←(SI)±2,(DI)←(DI)±2

不重复:

22

重复:

9+22/rep

不重复:

22

重复:

9+22/rep

1

1

SCASB

SCASW

(AL)-((DI))

(DI)←(DI)±1

(AX)←((DI))

(DI)←(DI)±2

不重复:

15

重复:

9+15/rep

不重复:

15

重复:

9+15/rep

1

1

REPstring_instruc

(CX)=0退出重复,否则(CX)←(CX)-1并执行其后的串指令

2

1

REPE/REPZstring_instruc

(CX)=0或(ZF)=0退出重复,否则(CX)←(CX)-1并执行其后的串指令

2

1

REPNE/REPNZstring_instruc

(CX)=0或(ZF)=1退出重复,否则(CX)←(CX)-1并执行其后的串指令

2

1

控制转移类

JMPSHORTop1

JMPNEARPTRop1

JMPFARPTRop1

JMPWORDPTRop1

JMPDWORDPTRop1

无条件转移

 

reg

mem

15

15

15

11

18+EA

24+EA

2

3

5

2

2~4

2~4

JZ/JEop1

ZF=1则转移

16/4

2

JNZ/JNEop1

ZF=0则转移

16/4

2

JSop1

SF=1则转移

16/4

2

JNSop1

SF=0则转移

16/4

2

JP/JPEop1

PF=1则转移

16/4

2

JNP/JPOop1

PF=0则转移

16/4

2

JCop1

CF=1则转移

16/4

2

JNCop1

CF=0则转移

16/4

2

JOop1

OF=1则转移

16/4

2

JNOop1

OF=0则转移

16/4

2

JB/JNAEop1

CF=1且ZF=0则转移

16/4

2

JNB/JAEop1

CF=0或ZF=1则转移

16/4

2

JBE/JNAop1

CF=1或ZF=1则转移

16/4

2

JNBE/JAop1

CF=0且ZF=0则转移

16/4

2

JL/JNGEop1

SF⊕OF=1则转移

16/4

2

JNL/JGEop1

SF⊕OF=0则转移

16/4

2

JLE/JNGop1

SF⊕OF=1或ZF=1则转移

16/4

2

JNLE/JGop1

SF⊕OF=0且ZF=0则转移

16/4

2

JCXZop1

(CX)=0则转移

18/6

2

LOOPop1

(CX)≠0则循环

17/5

2

LOOPZ/LOOPEop1

(CX)≠0且ZF=1则循环

18/6

2

LOOPNZ/LOOPNEop1

(CX)≠0且ZF=0则循环

19/5

2

CALLdst

段内直接:

(SP)←(SP)-2

((SP)+1,(SP))←(IP)

(IP)←(IP)+D16

段内间接:

(SP)←(SP)-2

((SP)+1,(SP))←(IP)

(IP)←EA

段间直接:

(SP)←(SP)-2

((SP)+1,(SP))←(CS)

(SP)←(SP)-2

((SP)+1,(SP))←(IP)

(IP)←目的偏移地址

(CS)←目的段基址

段间间接:

(SP)←(SP)-2

((SP)+1,(SP))←(CS)

(SP)←(SP)-2

((SP)+1,(SP))←(IP)

(IP)←(EA)

(CS)←(EA+2)

 

reg

mem

 

19

 

16

21+EA

28

 

37+EA

3

 

2

2~4

5

 

2~4

RET

段内:

(IP)←((SP)+1,(SP))

(SP)←(SP)+2

段间:

(IP)←((SP)+1,(SP))

(SP)←(SP)+2

(CS)←((SP)+1,(SP))

(SP)←(SP)+2

16

24

1

1

RETexp

段内:

(IP)←((SP)+1,(SP))

(SP)←(SP)+2

(SP)←(SP)+D16

段间:

(IP)←((SP)+1,(SP))

(SP)←(SP)+2

(CS)←((SP)+1,(SP))

(SP)←(SP)+2

(SP)←(SP)+D16

20

 

23

3

 

3

INTN

INT

(SP)←(SP)-2

((SP)+1,(SP))←(FR)

(SP)←(SP)-2

((SP)+1,(SP))←(CS)

(SP)←(SP)-2

((SP)+1,(SP))←(IP)

(IP)←(type*4)

(CS)←(type*4+2)

N≠3

(N=3)

51

52

2

1

INTO

若OF=1,则

(SP)←(SP)-2

((SP)+1,(SP))←(FR)

(SP)←(SP)-2

((SP)+1,(SP))←(CS)

(SP)←(SP)-2

((SP)+1,(SP))←(IP)

(IP)←(10H)

(CS)←(12H)

53(OF=1)

4(OF=0)

1

IRET

(IP)←((SP)+1,(SP))

(SP)←(SP)+2

(CS)←((SP)+1,(SP))

(SP)←(SP)+2

(FR)←((SP)+1,(SP))

(SP)←(SP)+2

24

1

 

处理器控制类

CBW

(AL)符号扩展到(AH)

2

1

CBD

(AX)符号扩展到(DX)

5

1

CLC

CF清0

2

1

CMC

CF取反

2

1

STC

CF置1

2

1

CLD

DF清0

2

1

STD

DF置1

2

1

CLI

IF清0

2

1

STI

IF置1

2

1

NOP

空操作

3

1

HLT

停机

2

1

WAIT

等待

≥3

1

ESCmem

换码

8+EA

2~4

LOCK

总线封锁前缀

2

1

seg:

段超越前缀

2

1

附录三8086指令对标志位的影响

附录四8086宏汇编常用伪指令表

数据及结构定义

ASSUME

ASSUMEsegreg:

seg_name[,…]

说明段所对应的段寄存器

COMMENT

COMMENTdelimiter_text

后跟注释(代替;)

DB

[variable_name]DBoperand_list

定义字节变量

DD

[variable_name]DDoperand_list

定义双字变量

DQ

[variable_name]DQoperand_list

定义四字变量

DT

[variable_name]DToperand_list

定义十字变量

DW

[variable_name]DWoperand_list

定义字变量

DUP

DB/DD/DQ/DT/DWrepeat_countDUP(operand_list)

变量定义中的重复从句

END

END[lable]

源程序结束

EQU

expression_nameEQUexpression

定义符号

=

label=expression

赋值

EXTRN

EXTRNname:

type[,…](typeis:

byte,word,dwordornear,far)

说明本模块中使用的外部符号

GROUP

nameGROUPseg_name_list

指定段在64K的物理段内

INCLUDE

INCLUDEfilespec

包含其它源文件

LABEL

nameLABLEtype(typeis:

byte,word,dwordornear,far)

定义name的属性

NAME

NAMEmodule_name

定义模块名

ORG

ORGexpression

地址计数器置expression值

PROC

procedure_namePROCtype(typeis:

nearorfar)

定义过程开始

ENDP

procedure_nameENDP

定义过程结束

PUBLIC

PUBLICsymbol_list

说明本模块中定义的外部符号

PURGE

PURGEexpression_name_list

取消指定的符号(EQU定义)

RECORD

record_nameRECORDfield_name:

length[=preassignment][,…]

定义记录

SEGMEMT

seg_nameSEGMENT[align_type][combine_type][‘class’]

定义段开始

ENDS

seg_nameENDS

定义段结束

STRUC

structure_nameSTRUC

structure_nameENDS

定义结构开始

定义结构结束

条件汇编

IF

IFargument

定义条件汇编开始

ELSE

ELSE

条件分支

ENDIF

ENDIF

定义条件汇编结束

IF

IFexpression

表达式expression不为0则真

IFE

IFEexpression

表达式expression为0则真

IF1

IF1

汇编程序正在扫描第一次为真

IF2

IF2

汇编程序正在扫描第二次为真

IFDEF

IFDEFsymbol

符号symbol已定义则真

IFNDEF

IFNDEFsymbol

符号symbol未定义则真

IFB

IFB

变量variable为空则真

IFNB

IFNB

变量variable不为空则真

IFIDN

IFIDN

字串string1与string2相同为真

IFDIF

IFDIF

字串string1与string2不同为真

MACRO

macro_nameMACRO

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

当前位置:首页 > 经管营销 > 经济市场

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

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