微型计算机原理第三章8086的寻址方式和指令系统_第1页
微型计算机原理第三章8086的寻址方式和指令系统_第2页
微型计算机原理第三章8086的寻址方式和指令系统_第3页
微型计算机原理第三章8086的寻址方式和指令系统_第4页
微型计算机原理第三章8086的寻址方式和指令系统_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章8086的寻址方式和指令系统

《本章内容

■8086的寻址方式

■指令的机器码表示法

■8086的指令系统

2胳豆遇丈孽价等机科学与N森尊2

S§3・18086的寻址方式

■指令与指令格式

■指令寻址方式

2胳豆遇丈孽价等机科学与N森尊3

4指令

■机器指令

-以二进制代码(机器码)表示指令

・直接,不易读懂

■汇编指令

-以符号形式表示指令

・易读,需要翻译(汇编)

■与CPU相关

2胳豆遇丈孽价等机科学与N森尊4

4指令成分

-操作码(操作的性质)

-表示指令应完成的具体操作

.以助记符的形式表示

-操作数(操作的对象)

■表示指令的操作对象(参与操作的对象)

■源操作数、目的操作数

2胳豆遇丈孽价等机科学与N森尊5

《指令操作数

-双操作数

OPRDEST,SRC

-单操作数

OPRDEST

-无操作数

OPR(隐含操作数)

2胳豆遇丈孽价等机科学与N森尊6

《寻址方式及操作数类型

-寻找指令中所需操作数的方法

-所需的操作数

-寄存器操作数

-存储器操作数

-立即数操作数

■输入/输出端口操作数

2胳豆遇丈孽价等机科学与N森尊7

《指令寻址方式

-立即数寻址

-寄存器寻址#

■存储器寻址

■直接寻址

■寄存器间接寻址

■变址寻址

.基址寻址

.基址基址寻址

■I/O寻址

2胳豆遇丈孽价等机科学与N森尊8

y寻址方式——立即数寻址

-指令中直接给出操作数本身

-八位/十六位的常数

■仅用作源操作数的寻址

MOVAX,1000H;AX-1000H

MOVAH,10H;AH-10H

2胳豆遇丈孽价等机科学与N森尊9

&寻址方式——立即数寻址

MOVCX,2A50H

代码段

CHCL

CX2A50

2痛交通丈孽价等配科学专工舞察10

,寻址方式——寄存器寻址

■所需的操作数在CPU的寄存器中,指令

中给出该寄存器的名称

■八位/十六位寄存器

■速度较快

MOVAX,BX;AX—(BX)

MOVAH,AL;AH—(AL)

2胳豆遇丈孽价等机科学与N森尊11

y寻址方式——直接寻址

-所需的操作数在存储器中。

■指令中直接给出操作数所在单元的有效

地址(段内偏移地址)

MOVAXJ1000HJ;AX—(DS:1000H)

MOV[1000H]5AH;DS:1000H―(AH)

2胳豆遇丈孽价等机科学与N森尊12

4寻址方式——直接寻址

2胳豆遇丈孽价等机科学与N森尊13

《寻址方式——寄存器间接寻址

-所需的操作数在存储器中。

■操作数所在单元的有效地址存放在寄存

器中,指令中给出寄存器的名称

■仅限于BX、BP、SI>DI

MOVAX,[BX];AX—(DS:(BX))

MOVAH,[BP];AH—(SS:(BP))

2胳豆遇丈孽价等机科学与N森尊14

寻址方式寄存器间接寻址

MOVBX,[SI]

代码段

DS1000xlOH

操作码

XX

+SI2000

12000

数据段

」12000b»8B

BHBL

BX318B

2胳豆遇丈孽价等机科学与N森尊15

S寻址方式——变址寻址

-所需的操作数在存储器中

■变址寄存器:SKDI

■操作数所在单元的有效地址

・娈址寄存器内容1j

・指令中给出的相对位移J

MOVAX,2[DI];AX—(DS:(DI)+2)

MOVAX,[DI+2];AX-(DS:(DI)+2)

2胳豆遇丈孽价等机科学与N森尊16

《寻址方式——变址寻址

2胳豆遇丈孽价等机科学与N森尊17

寻址方式基址寻址

■所需的操作数在存储器中。

■基址寄存器:BX、BP

■操作数所在单元的有效地址

■基址寄存器内容1J

■指令中给出的相对位移J

MOVAX,2[BX];AX—(DS:(BX)+2)

MOVAX,[BX+2];AX-(DS:(BX)+2)

2胳豆遇丈孽价等机科学与N森尊18

s寻址方式基址变址寻址

■所需的操作数在存储器中。

■操作数所在单元的有效地址:

■基址寄存器内容]

■变址寄存器内容p2

■指令中给出的相对位移J

MOVAX,2[BX][DI];

AX—(DS:(BX)+(DI)+2)

2胳豆遇丈孽价等机科学与N森尊19

寻址方式基址变址寻址

MOVAX,[BX][SI]

DS

BX

SI

AX

2胳豆遇丈孽价等机科学与N森尊20

2癌豆遇大孽价等机科冬与工联奉21

』寻址方式一存储器寻址小结

・■指令中给出地址表达式,有效地址EA

-由三部分组成(可选)

■相对位移Disp

■基址寄存器BX/BP

■变址寄存器SI/DI

[BX][SI]

DISP

[BP][DI]

2胳立遇丈孽价等机科学与2:森察22

s寻址方式输入/输出寻址

・■输入输出端口操作数

■直接寻址

■指令中直接给出I/O端口地址的低八位,只

能访问256个I/O端口(00H〜FFH)

INAL,2FH

■间接寻址

■用寄存器DX的内容来指定I/O端口地址

■适用十六位地址,能访问64K个I/O端口

(0000H〜FFFFH)

INAL,DX-

2胳豆遇丈孽价等机科学与N森尊23

S§3・2指令的机器码表示法

・机器码

■二进制机器语言指令

-变长指令指令

■指令的长度为1〜6个字节

■操作码

■操作数

■字/字节

■奇仔布…

2胳豆遇丈孽价等机科学与N森尊24

《指令编码

■MOVSP,BX

1000101111100011

I—操作码—I

R/M:BX

D:至SP寄存器」「REG:SP

W:传送字MOD:寄存器-寄存器.

2盘立遇丈孽价售机科学与工能谷25

指令编码

■MOVWordptr[BX+2100H],0FA50H

字节1字节2字节3字节4字节5字节6

110001111000011100000000001000010101000011111010

L操作码」WMODR/M位移立低字节位移士高字节立即数低字节立即数离字节

停送字」LBX+D16J

2癌立遇丈孽价售机科学⑨工能察26

§3-38086的指令系统

■数据传送指令

-算术运算指令

-逻辑运算及移位指令

■字符串处理指令

■控制转移指令

-处理器控制指令

2胳豆遇丈孽价等机科学与N森尊27

,数据传送指令

■共14条

■奇C±Z1存T-前OO<——>rz奇fciT存-O前O

■寄存器<——>存储器

■累加器<-->1/0端口

-字传送/字节传送

■除了SAHF/POPF外,均不影响PSW

2胳豆遇丈孽价等机科学与N森尊28

s数据传送指令

■通用数据传送指令

■输入输出指令

-地址目标传送指令#

-标志传送指令

2胳豆遇丈孽价等机科学与N森尊29

&通用数据传送指令

■MOVDEST,SRC

■PUSHSRC

■POPDEST

■XCHGDEST,SRC

■XLAT

2胳豆遇丈孽价等机科学与N森尊30

通用数据传送MOV

立即数

通用寄存器

存AH

储AL

器BH

BL

CH

CL

DH

段寄存器DL

CSQSE&SS

2胳豆遇丈孽价等机科学与N森尊31

4通用数据传送——M0V

■■规则

-立即数不能作DEST

■立即数不能传至段寄存器

■存储器之间不能交互(双操作数时)(串除外)

■段寄存器之间不能交互

■CS不能作为DEST

■IP不能参与传送

■DEST和SRC的类型必须一致

2胳豆遇丈孽价等机科学与N森尊32

,通用数据传送——PUSH/POP

-字操作

-16位操作数

■通用寄存器

■段寄存器(CS不能用于POP)

■存储器

■FILO

■SP指向栈顶

■底部高地址/顶部低地址

2胳豆遇丈孽价等机科学与N森尊33

三II、

¥通.则用数6位据操传作数送交换XCHG

■奇C±Z1存T-前口口《>奇存T-肃口口

■寄存器<—>存储器

■段寄存器不能参与

2胳豆遇丈孽价等机科学与N森尊34

《通用数据传送—XLAT

■查表

■(DSX10H+(BX)+(AL))->AL

■BX:表首

■AL:表内偏移值(自变量)

2胳豆遇丈孽价等机科学与N森尊35

,输入输出指令

■累加器AX/AL-->1/0端口

■输入指令IN

■输出指令OUT

2胳豆遇丈孽价等机科学与N森尊36

s输入输出指令

■INAL,34H;(34H)一AL

■INAX,34H;(34H)一AL

;(35H)一AH

■INAL,DX;((DX))一AL

■INAX,DX;((DX))一AL

;((DX)+1)-AH

2胳豆遇丈孽价等机科学与N森尊37

《地址目标传送指令

■LEADEST,SRC

■LDSDEST,SRC

■LESDEST,SRC

-其中

■DEST:16位通用寄存器(除了段寄存器)

■SRC:存储器操作数(地址表达式)

2胳豆遇丈孽价等机科学与N森尊38

《地址目标传送——LEA

■LEABX,1000H[BX][SI]

1000H+(BX)+(SI)-BX

有效地址(段内偏移地址)

2胳豆遇丈孽价等机科学与N森尊39

地址目标传送——LDS

■LDSSI,1000H[BX][SI]

2胳豆遇丈孽价等机科学与N森尊40

《地址目标传送——LES

■LESDI,1000H[BX][SI]

2胳豆遇丈孽价等机科学与N森尊41

y标志传送指令

■LAHF

■SAHF

■PUSHF

■POPF

-隐含操作数

■影响PSW

2胳豆遇丈孽价等机科学与N森尊42

J算术运算指令

■操作数

■带符号二进制数(补码)

■无符号数二进制数

■无符号压缩十进制数

.无符号非压缩十进制数

2胳豆遇丈孽价等机科学与N森尊43

&算术运算指令

■加法

■减法

■乘法

-除法

2胳豆遇丈孽价等机科学与N森尊44

4加法运算指令

■ADDDEST,SRC

■ADCDEST,SRC

■INCDEST

■AAA

■DAA

2胳豆遇丈孽价等机科学与N森尊45

&减法运算指令

■SUBDEST,SRC

■SBBDEST,SRC

■DECDEST

■NEGDEST

■CMPDEST,SRC

■AAS

■DAS

2胳豆遇丈孽价等机科学与N森尊46

&乘法运算指令

■MULSRC

■IMULSRC

■AAM

2胳豆遇丈孽价等机科学与N森尊47

s除法运算指令

■DIVSRC

■IDIVSRC

■AAD

■CBW

■CWD

2胳豆遇丈孽价等机科学与N森尊48

《逻辑运算及移位指令

■逻辑运算

-算术移位

-循环移位

2痛立通史学什等机制与⑨工联察49

;逻辑运算

按位运算

■NOTDEST;不影响标志位

■ANDDEST,SRC

■ORDEST,SRCCF/OF—0

■XORDEST,SRCAF无效

■TESTDEST,SRCZF/SF/PF有效

2胳豆遇丈孽价等机科学与N森尊50

J算术移位

■SHLDEST,计数值

同_|・卜—0

■SHRDEST,计数值

0—.,1—

■SARD.ST,计数倬

「I।~@

■计数值大于1时,必须使用CL作计数器

2胳豆遇丈孽价等机科学与N森尊51

s循环移位

■ROLDEST,计数值■RCLDEST,计数值

同,—卜

■RORDEST,计数值■RCRDEST,计数值

二F

2胳豆遇丈孽价等机科学与N森尊

>串处理指令(串操作)

批量数据处理

■串

■一系列存放在存储器中的字或字节数据

■最大串长64KB

■串元素

■串中的成员

■每种串操作指令只对串中的元素作同一种操作

2胳豆遇丈孽价等机科学与N森尊53

S串处理指令(串操作)

’字节操作:

指令名称字节/字操作,字操作

字符串传送MOVS目的串,源串MOVSBMOVSW

字符串比较]

CMPS目的申,源串CMPSBCMPSW

字符串册SCAS目的串SCASBSCASW

«

字符串装入LODS源串LODSBLODSW

字符串存储STOS目的串.STOSBSTOSW

2盘立遇丈孽价售机科学与工能谷54

»串处理指令(串操作)

串指令的操作

■源串位于DS段内(可以使用段前缀),偏移量由SI

给出

■目的串位于ES段内(不允许使用段前缀),偏移量

由DI给出

■每次执行后修正SI/DI,增减方向由DF确定

(DF=1:减量;DF=O:增量)。(STD/CLD)

■串的长度(字节/字数)存放在CX中

■可以在存储器之间操作

2胳豆遇丈孽价等机科学与N森尊55

&串处理指令(串操作)

-串操作

・单次操作

.按指令内容执行一次操作

■修正SI/DI

■重复操作

-REP前缀

-重复指令串指令规定的操作,直至次数到或条件成立

■如REPMOVS

2胳豆遇丈孽价等机科学与N森尊56

&串处理指令(串操作)

■MOVS

■((DS)X10H+(SI))^((ES)X10H+(DI))

■ifDF=lthen(SI)-1—SI,(DI)-1一DI

else(SI)+1-SI,(DI)+17DI

■REPMOVS

■(CX)-1一CX

■if(CX)<>0thenREDOelseContinue

2胳豆遇丈孽价等机科学与N森尊57

,串处理指令(串操作)

FCMPS串比较

■SCAS串扫描指令

■将AX(或AL)中的数据与目标串中的数据比较

■用作数据搜索

■LODS数据串装入

■将源串中的数据(单个)装入AX(或AL)中

■重复前缀无实际意义

■STOS串存储

■将AX(或AL)中的数据存入目的串单元中

■可加重复前缀

2胳豆遇丈孽价等机科学与N森尊58

&串处理指令(串操作)

-重复前缀

■REP

■REPE/REPZ

■REPNE/REPNZ

2胳豆遇丈孽价等机科学与N森尊59

,控制转移指令

■程序转移

■改变CS:IP(或IP)

■JMP/JXX

■CALL/RET

■LOOP/LOOPXX

2胳豆遇丈孽价等机科学与N森尊60

、控制转移指令——无条件转移

■JMP目标

类型方式寻址目标:指令举例

直接立即短转移(8位)JMPSHORTPROG-S

段内直接立即近转移(16位)JMPNEARPTRPROG_N

转移j..间接”寄存器(16位)JMPBX,

间接存储器(16位)JMPWORDPTR5[BX]

段间直接立即转移(32位)JMPFARPTRPROG-F

转移间接存储器(32位)JMPDWORDPTR[pi]

2胳豆遇丈孽价等机科学与N森尊61

»控制转移指令无条件转移

JMPDWORDPTR[SI+0125H]

(CS)=1200H,(IP)=0005H

(DS)=2500H,(SI)=1300H

(26425H)=4500H5(26427H)=32F0H

2胳豆遇丈孽价等机科学与N森尊62

控制转移指令——无条件转移

32F0:4500

2珞豆渣大常计等机科学⑨工森萃63

⑨)篇文ax孝

&控制转移指令——子程序调用

■CALL过程名

■断点入栈一转移(改变CS:IP)

■RET

■断点出栈-CS:IP

■CALL

■段内/段间

■直接/间接

2癌立通丈孽计算机科学与工谷尊

64

s控制转移指令——子程序调用

-段内直接

-目标地址的偏差在指令中

■CALLPROG_G

(CS)=2000H,(IP)=1050H

(SS)=5000H,(SP)=0100H

DISP=1234H

IP-(IP)+DISP

2胳豆遇丈孽价等机科学与N森尊65

控制转移指令子程序调用

2000:1050

r-:1O53程

人:2287

—■<新SP=OOFE

5000:0100原SP=0100

(a)CALLPROG-G指令(b)RET指令

66

s控制转移指令——子程序调用

-段内间接

■CALLBX

-目标地址在寄存器中

■CALLWORDPTR[BX+SI]

-目标地址在存储器中

2胳豆遇丈孽价等机科学与N森尊67

,控制转移指令——子程序调用

■段间直接

-目标地址在指令中

■CALLFARPTRPROG_F

(CS)=1000H,(IP)=205AH

(SS)=2500H,(SP)=0050H

PROG_F位置(CS)=3000H,(IP)=0500H

2胳豆遇丈孽价等机科学与N森尊68

控制转移指令子程序调用

CS代码较

1000:205A9一A_操作码

00>过程入口IP〕

一L"

。0>过程入口CS)

3。

下条指令

堆栈段

F(返址IP)

0

SSQ..Q—(返址CS)

1g

SP

新的代码段

3000:0500«-------------

---------过程入口

69

&控制转移指令——子程序调用

■段间间接

■CALLDWORDPTR[BX]

■目标地址存放在存储器中

2痛立通丈孽价算机科学与工辂军

70

&控制转移指令——条件转移

-根据标志寄存器的状态来决定是否转移

■相对转移

■在IP上叠加位移(八位)

■段内

■JXX目标

71

《控制转移指令条件转移

指令助记符I测试条件指令功能

JCCF=1有进位转移

JNCCF=0无进位转移

JZ/JEZF=1结果为零/相等转移

JNZ/JNEZF=0不为零/相等转移

JS.SF=1符号为负转移

JNS.SF=0符号为正转移

JOOF=1溢出转移

JNOOF=0无溢出.转移

JP/JPEPF=1奇偶位为1/为偶转移

JNP/JPOPF=0奇偶位为0/为奇转移

2胳立遇丈孽计等机科学与N森尊72

&控制转移指令——条件转移

类别指令助记符测试条件指令功能

JA/JNBECFVZF=O高于/不低于等于转移

无符号数JAE/JNBCF=O高于等于/不低于转移

比较测试JB/JNAECF=1•.低于/不高于等于转移

JBE/JNACFVZF=1低于等于/不高于转移

JG/JNLE(SFVOF)VZF=O大于/不小于等于转移

带符号数JGE/JNLSFVOF=0大于等于/不小于转移

比较测试JL/JNGESFVOF=1小于/不大于等于转移

JLE/JNG(SFVOF)VZF=1小于等于/不大于转移

2胳立遇丈孽计算机科学专工谷姿73

《控制转移指令——循环

-重复执行循环体内的指令

■LOOP目标

-CX为循环次数

-相对转移

2胳豆遇丈孽价等机科学与N森尊74

,控制转移指令一

■LOOP

■LOOPE/LOOPZ

■LOOPNE/LOOPNZ

■JCXZ

2胳豆遇丈孽价等机科学与N森尊75

4处理器控制指令

指令助记符操作指令名称

CL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论