完整版8086汇编语言速成秘籍.docx

上传人:b****6 文档编号:4512423 上传时间:2022-12-01 格式:DOCX 页数:32 大小:143.94KB
下载 相关 举报
完整版8086汇编语言速成秘籍.docx_第1页
第1页 / 共32页
完整版8086汇编语言速成秘籍.docx_第2页
第2页 / 共32页
完整版8086汇编语言速成秘籍.docx_第3页
第3页 / 共32页
完整版8086汇编语言速成秘籍.docx_第4页
第4页 / 共32页
完整版8086汇编语言速成秘籍.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

完整版8086汇编语言速成秘籍.docx

《完整版8086汇编语言速成秘籍.docx》由会员分享,可在线阅读,更多相关《完整版8086汇编语言速成秘籍.docx(32页珍藏版)》请在冰豆网上搜索。

完整版8086汇编语言速成秘籍.docx

完整版8086汇编语言速成秘籍

 

一、8086编程结构

8086汇编总结

 

二、状态标志寄存器F

 

三、寻址方式{(PA物理地址=实际地址=绝对地址=cpu以实际地址访问存储器)

=段基址*10H+(逻辑地址=偏移地址=有效地址EA=程序以逻辑地址编址)}

寻址方式

操作数物理地址(PA)

指令格式举例

立即寻址

操作数在指令中直接给出

源操作数为地址

MOVDX,100H;(DX)←100H

寄存器寻址

操作数在寄存器中

操作数需要寻址

ADDAX,BX;(AX)←(AX)+(BX)

直接寻址

操作数的有效地址由指令直接给出

操作数需要计算

MOVAX,[100];(AX)←(100)

寄存器间接寻址

PA=(DS)|(SS)×16+

(BX)|(SI)|(DI)|(BP)

给出的均为操作数的逻辑地址,而且将逻辑地址分成几段,经计算才能得到操作数

MOVAX,[BX];

(AX)←((DS)×16+(BX))

寄存器相对寻址

PA=(DS|SS)×16+

(BX|BP|SI|DI)+偏移量

MOVAL,OFFSET[SI];

(AL)←((DS)×16+(SI)+OFFSET)

基址变址寻址

PA=(DS|SS)×16+

(BP|BX)+(SI|DI)

MOVAX,[BX+DI];

(AX)←((DS)×16+(BX)+(DI))

相对基址变址寻址

PA=(DS|SS)×16+(BX|BP)+(SI|DI)+偏移量

MOVAX,OFFSET(BX+DI);

(AX)←((DS)×16+(BX)+(DI)+OFFS

ET)

B——二进制D——十进制Q——八进制H——十六进制

四、符号约定及含义

 

五、CMP指令的结果判断方法

<0

<0

A>B

0

0

0

(SF异或OF)或

ZF=1

A<=B

A

B

A=B

0

1

0

输入

INAL/AX,port

(acc)←(port)

AX字节,

10

2

直接寻址,port地址范围

输出指

OUTport,AL/AX

(port)←(acc)

AL字,

10

2

0-255(0ffh)

INAL/AX,DX

(acc)←((DX))

DX不是操

8

1

间接寻址,端口地址在DX

作数而是地

中,范围0-65535(0ffffh)

OUTport,DX

((DX))←(acc)

8

1

地址传送指令

(对逻辑地址操作)

LEAreg,src取

有效地址指令

r16←mem的EA

r16,mem

2+EA

2~4

L为取的意思操作数均为16位

LDSreg,src地

址指针装入DS

r16←m32的底16位

(DS)←m32的高16位

r16,m32

16+EA

2~4

LESreg,src地址

指针装入ES

r16←m32的底16位

(ES)←m32的高16位

r16,m32

16+EA

2~4

标志传

LAHF取标志

(AH)←(F低8位字节)

隐含操作数

4

1

F

送指令

SAHF置标志

(F低8位字节)←(AH)

隐含操作数

4

1

15

7

SF

(唯一

PUSHF标志入栈

(SP)←(SP)-2(先入栈)

隐含操作数,

10

1

14

6

ZF

对F寄

指令

标志寄存器

13

5

存器操

((SP)+1,(SP))←F

入栈

12

4

AF

一、指令表(指令分六大类)

POPF标志弹出指令

F←((SP)+1,(SP))

(SP)←(SP)+2(出栈)

隐含操作数,数据出栈到

标志寄存器

8

1

10

DF

2

PF

9

IF

1

8

TF

0

CF

2、算术运算指令(都对F寄存器产生影响)

类型

汇编指令格式

操作数说明

时钟周期数

字节数

说明

辅助运

CBW

AX←AL

字节扩展到

不影响标志位

算指

AL<80H时AH=00H,AL>=80H时AH=FFH

CWD

DXAX←AX

字扩展到双

AX<8000H时DX=0000H,AX>=8000H时DX=FFFFH

对于符号数:

最高位为0表示正,为1表示负

BCD

(算术运算结果

)调整指令

DAA

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

4

1

压缩BCD数

加法调整

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

余数

(AX)←(DX,AX)/

(src)的商

(DX)←(DX,AX)/

(src)的余数

DAS

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

4

1

压缩BCD数

减法调整

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

余数

(AX)←(DX,AX)/

(src)的商

(DX)←(DX,AX)/

(src)的余数

AAA加法

(AL)←AL中的和调整

4

1

ASCII码调整

为组合BCD

AAS减法

(AL)←AL中的差调整

4

1

ASCII码调整

为组合BCD

AAM

(AL)←AL中的和调整为

83

2

乘法

非组合BCD

ASCII码调整

(AH)←(AH)+调整产

生的进位值

AAD

(AL)←AL中的差调整为

60

2

除法

非组合BCD

ASCII码调整

(AH)←(AH)-调整产生

的进位值

DIV

src

Src字节AL←AX÷src商,

8位reg

80~90

2

不影响标志位除非溢出

(算术

AH←AX÷src余数,Src

8位mem

(86~96)+EA

2~4

不能是压缩的BCD数

运算指

字AX←DXAX÷src商,

16位reg

144~162

2

令)

DX←DXAX÷src余数

16位mem

(150~168)+EA

2~4

IDIV

src

Src字节AL←AX÷src商,

8位reg

101~112

2

AH←AX÷src余数,Src

8位mem

(107~118)+EA

2~4

字AX←DXAX÷src商,

16位reg

165~184

2

DX←DXAX÷src余数

16位mem

(171~190)+EA

2~4

ADDdst,src

(dst)←(src)+(dst)

mem,reg

16+EA

2~4

操作数类型:

(算术

reg,mem

9+EA

2~4

无符号二进制数,

运算指

reg,reg

3

2

带符号位二进制数,

令)

reg,imm

4

3~4

无符号压缩BCD数,

mem,imm

17+EA

3~6

无符号非压缩BCD数。

acc,imm

4

2~3

dest与src不能同时为内存

ADCdst,src

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

mem,reg

16+EA

2~4

操作数。

带进位加法

CF(最高位进位标志

reg,mem

9+EA

2~4

符,有进位为1,否则

reg,reg

3

2

为0)

reg,imm

4

3~4

mem,imm

17+EA

3~6

acc,imm

4

2~3

INC

dest

(dest)←(dest)+1

reg

2~3

1~2

mem

15+EA

2~4

SUBdest,src

(dst)←(src)-(dst)

mem,reg

16+EA

2~4

操作数类型:

(算术

reg,mem

9+EA

2~4

无符号二进制数,

运算指

reg,reg

3

2

带符号位二进制数,

令)

reg,imm

4

3~4

无符号压缩BCD数,

mem,imm

17+EA

3~6

无符号非压缩BCD数。

SBBdest

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

mem,reg

16+EA

2~4

dest与src不能同时为内存

,src

reg,mem

9+EA

2~4

操作数。

带进位减法

reg,reg

3

2

reg,imm

4

3~4

mem,imm

17+EA

3~6

DEG

dest

(dest)←(dest)-1

reg

2~3

1~2

mem

15+EA

2~4

NEGdest

(dest)←0-(dest)

reg

3

2

就是求相反数。

求补指令

mem

16+EA

2~4

按位取反,末位加1.

CMPdest,src

(dest)-(src)

mem,reg

9+EA

2~4

目的操作数减去源操作数。

比较指令

reg,mem

9+EA

2~4

比较结果见附表

reg,reg

3

2

reg,imm

4

3~4

mem,imm

10+EA

3~6

MULsrc

Src为字节:

(AX)←

8位reg

70~77

2

不能是压缩的BCD数

(算术

(AL)*(src)

8位mem

(76~83)+EA

2~4

不能是立即数

运算指

Src为字:

(DX,AX)←

16位reg

118~133

2

仅影响标志位OF\CF

令)

(AX)*(src)

16位mem

(124~139)+EA

2~4

IMULsrc

Src为字节:

(AX)←

8位reg

80~98

2

(AL)*(src)

8位mem

(86~104)+EA

2~4

Src为字:

(DX,AX)←

16位reg

128~154

2

(AX)*(src)

16位mem

(134~160)+EA

2~4

3、位操作指令

逻辑运算指令

ANDdst,src

(dst)←(dst)∧(src)

mem,reg

16+EA

2~4

reg,mem

9+EA

2~4

reg,reg

3

2

reg,imm

4

3~4

mem,imm

17+EA

3~6

acc,imm

4

2~3

ORdst,src

(dst)←(dst)∨(src)

mem,reg

16+EA

2~4

reg,mem

9+EA

2~4

reg,reg

3

2

reg,imm

4

3~4

mem,imm

17+EA

3~6

acc,imm

4

2~3

NOTop1

(op1)←(op1)

reg

3

2

mem

16+EA

2~4

XORdst,src

(dst)←(dst)⊕(src)

mem,reg

16+EA

2~4

reg,mem

9+EA

2~4

reg,reg

3

2

reg,imm

4

3~4

mem,imm

17+EA

3~6

acc,imm

4

2~3

TESTdst,src

(dst)∧(src)

reg,mem

9+EA

2~4

reg,reg

3

2

影响标志位,不保留运算

reg,imm

5

3~4

结果

mem,imm

11+EA

3~6

acc,imm

4

2~3

移位

SHLdst,1

逻辑左移

reg

2

2

指令

mem

15+EA

2~4

SHLdst,CL

reg

8+4/bit

2

可以使数变为原来的2的

mem

20+EA+4/bit

2~4

CL次方倍

SALdst,1

算术左移

reg

2

2

mem

15+EA

2~4

SALdst,CL

reg

8+4/bit

2

mem

20+EA+4/bit

2~4

SHRdst,1

逻辑右移

reg

2

2

mem

15+EA

2~4

可以使数变为原来的2的

SHRdst,CL

reg

8+4/bit

2

CL次方分之一

mem

20+EA+4/bit

2~4

SARdst,1

算术右移

reg

2

2

mem

15+EA

2~4

SARdst,CL

reg

8+4/bit

2

mem

20+EA+4/bit

2~4

 

循环移位指令

ROLop1,1

不带进位循环左移

reg

2

2

mem

15+EA

2~4

ROLop1,CL

reg

8+4/bit

2

mem

20+EA+4/bit

2~4

RORop1,1

不带进位循环右移

reg

2

2

mem

15+EA

2~4

RORop1,CL

reg

8+4/bit

2

mem

20+EA+4/bit

2~4

RCLop1,1

带进位位的循环左移

reg

2

2

mem

15+EA

2~4

RCLop1,CL

reg

8+4/bit

2

mem

20+EA+4/bit

2~4

RCRop1,1

带进位位的循环右移

reg

2

2

mem

15+EA

2~4

RCRop1,CL

reg

8+4/bit

2

mem

20+EA+4/bit

2~4

4、串操作指令

MOVSdest,sr

字节

原串存入数据段DS中

传送

c

((ES:

DI))←((DS:

SI))

不重复:

18

1

目标串存入附加段ES中

MOVSB

(SI)←(SI)±1,

重复:

(DI)←(DI)±1

9+17/rep

指令STD使DF为1

指令CLD使DF为0

MOVSW

((ES:

DI))←((DS:

SI))

不重复:

18

1

(SI)←(SI)±2,

重复:

(DI)←(DI)±2

9+17/rep

串送存

STOSdest

字节

不重复:

11

STOSB

((ES:

DI))←(AL)

重复:

1

(DI)←(DI)±1

9+10/rep

STOSW

不重复:

11

1

((((ES:

DI))))←(AX)

重复:

(DI)←(DI)±2

9+10/rep

LODSsrc

字节

不重复:

12

装入

LODSB

(AL)←((DS:

SI))

重复:

1

(SI)←(SI)±1

9+13/rep

LODSW

不重复:

12

1

(AX)←((DS:

SI))

重复:

(SI)←(SI)±2

9+13/rep

CMPS

字节

串比较

src,dest

((DS:

SI))-((ES:

DI))

不重复:

22

1

CMPSB

(SI)←(SI)±1,

重复:

(DI)←(DI)±1

9+22/rep

CMPSW

((DS:

SI))-((ES:

DI))

不重复:

22

1

(SI)←(SI)±2,

重复:

(DI)←(DI)±2

9+22/rep

SCASdest

字节

不重复:

15

1

串扫描

SCASB

(AL)-((ES:

DI))

重复:

(DI)←(DI)±1

9+15/rep

SCASW

不重复:

15

1

(AX)←((ES:

DI))

重复:

(DI)←(DI)±2

9+15/rep

REP

无条件重复前缀

(CX)=0退出重复,否则(CX)←(CX)-1并执

行其后的串指令

2

1

REPE/REPZ

相等重复前缀

(CX)=0或(ZF)=0退出

重复,否则(CX)←(CX)

-1并执行其后的串指令

2

1

REPNE/REPNZ

不相等重复前缀

(CX)=0或(ZF)=1退出

重复,否则(CX)←(CX)

-1并执行其后的串指令

2

1

5、控制转移指令(分四类)

 

1

转移指令

 

无条件跳转

JMPSHORT

无条件转移

15

2

op1

15

3

JMPNEARPTR

15

5

op1

reg

11

2

JMPFARPTR

mem

18+EA

2~4

op1

24+EA

2~4

JMPWORDPTR

op1

JMPDWORDPTRop1

条件跳转

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

2

循环控制

循环LOOPop1

(CX)≠0则循环

17/5

2

用CX作循环次数寄存器

op1为循环位置处的标号

相等循环

LOOPZ/LOOPEop1

(CX)≠0且ZF=1则循

18/6

2

不相等循环

LOOPNZ/LOOPNEop1

(CX)≠0且ZF=0则循

19/5

2

3

过程调用

CALLdst

段内直接:

19

3

(SP)←(SP)-2,((SP)+1,

(SP)←(IP)

(IP)←(IP)+D16段

reg

16

2

内间接:

mem

21+EA

2~4

(SP)←

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

当前位置:首页 > 考试认证 > 交规考试

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

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