14单元7-2指令系统_第1页
14单元7-2指令系统_第2页
14单元7-2指令系统_第3页
14单元7-2指令系统_第4页
14单元7-2指令系统_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

第7章

指令系统教学单元十四:寻址方式、指令格式举例及RISC技术。教学目标:掌握寻址方式;掌握指令举例。7.3

式寻址方式确定本条指令的操作数地址

下一条欲执行指令的指令地址指令寻址寻址方式数据寻址7.3

式一、指令寻址PC顺序跳跃(

PC

)

+

1由转移指令指出PC+1指令地址寻址方式指令地址

指令0LDA100011ADD1001顺序寻址22DEC1200顺序寻址33JMP7顺序寻址4LDA20005SUB20016INC77STA2500跳跃寻址88LDA1100顺序寻址9...二、数据寻址形式地址有效地址指令字中的地址操作数的真实地址形式地址A操作码

寻址特征立即数指令执行阶段不访存A的位数限制了立即数的范围可正可负补码约定

指令字长

=

存储字长

=

机器字长1.立即寻址形式地址A就是操作数立即寻址特征OP

#

A教学计算机指令格式4位4位DR

SRIO端口地址/相对偏移量立即数/直接内存地址/变址偏移量8位操作码MVRD

R3,1234 R3←立即数1234

D表示立即数寻址2.直接寻址EA

=

A操作数主存寻址特征LDAAAACC有效地址由形式地址直接给出执行阶段访问一次存储器A的位数决定了该指令操作数的寻址范围STRA

[2000],

R2把R2的内容写入到地址为2000的内存单元之中,A表示直接地址寻址。3.隐含寻址操作数地址隐含在操作码中ADDA操作数主存寻址特征AACC暂存ALU另一个操作数隐含在ACC中如8086MUL指令

MOVS指令被乘数隐含在AX(16位)或AL(8位)中源操作数的地址隐含在SI中目的操作数的地址隐含在DI中指令字中少了一个地址字段,可缩短指令字长4.间接寻址有效地址由形式地址间接提供EA

=(A)寻址特征OP

AAEAA1EAA1主存

主存EA10执行指令阶段

2

次访存OP

A寻址特征A一次间址多次间址EA

操作数操作数可扩大寻址范围多次访存子程序主程序8081间接寻址编程举例…调用子程序…

…调用子程序……@

间址特征……JMP

@

3022012023025.寄存器寻址EA

=

Ri执行阶段不访存,只访问寄存器,执行速度快OPRi寻址特征寄存器个数有限,可缩短指令字长…操作数……R0Ri…Rn寄存器有效地址即为寄存器编号ADD

R0,R1表示R0←R0+R1R代表寄存器寻址MVRR

R0,R1把寄存器R1的内容传送到寄存器R0;6.寄存器间接寻址操作数主存OP

Ri地址………R0Ri…RnEA=(Ri

)

有效地址在寄存器中寻址特征寄存器STRR

[R8],R9把R9的内容传送到以寄存器R8的内容为地址的内存单元之中;R字母两侧加上方括号,代表寄存器间接寻址,7.基址寻址OP

A主存(1)采用专用寄存器作基址寄存器EA=(BR)+A

BR为基址寄存器寻址特征ALUBR操作数可扩大寻址范围有利于多道程序BR内容由操作系统或管理程序确定在程序的执行过程中BR内容不变,形式地址A可变(2)采用通用寄存器作基址寄存器操作数主存寻址特征ALUOP

R0

AR0

作基址寄存器通用寄存器R0R1…Rn-1由用户指定哪个通用寄存器作为基址寄存器基址寄存器的内容由操作系统确定在程序的执行过程中R0

内容不变,形式地址A可变8.变址寻址EA

=

(

IX

)

+AOPA主存寻址特征ALUIX操作数可扩大寻址范围IX的内容由用户给定在程序的执行过程中IX内容可变,形式地址A不变便于处理数组问题IX为变址寄存器(专用)通用寄存器也可以作为变址寄存器LDRX

R1,12[R2]用X表示变址寻址,把变址寄存器R2的内容与变址偏移量12相加作为内存地址,进行读操作,读出的数据传送的寄存器

R1;P316变址寻址的例子例设数据块首地址为D,求N

个数的平均值直接寻址变址寻址LDA

DADD

D

+

1ADD

D

+

2…ADD

D

+

(

N

-1

)DIV

#

NSTA

ANS共N

+2

条指令共8

条指令LDA

#

0LDX

#

0ADD

X,

DINXCPX

#

NBNE

MDIV

#

NSTA

ANSMX为变址寄存器D为形式地址(X)

+1

X(X)和#N

比较结果不为零则转[D]

ACC9.相对寻址操作数A的位数决定操作数的寻址范围程序浮动广泛用于转移指令ALUEA

=

(

PC

)

+

AA是相对于当前指令的位移量(可正可负,补码)寻址特征OP

A相对距离APC

1000…主存A1000

OP(1)相对寻址举例M

随程序所在存储空间的位置不同而不同*

3LDA#

0LDX#

0MADDX,

DM+1INXM+2CPX#

NM+3BNEMDIV#

NSTAANS指令ADD

X,D相对位移量不变而指令

BNE

*–

与3指令

BNE

*–

3操作数的有效地址为EA

=

(

M+3

)

3

=

M*相对寻址特征(2)按字节寻址的相对寻址举例2000

H2008

H8OP位移量2000

H2008

H8OP

06

H设当前指令地址

PC

=

2000H转移后的目的地址为

2008H因为取出JMP

*

+?后PC

=

2002HJMP

*

+

?二字节指令故

JMP

*

+

?

指令

的第二字节为

2008H

-

2002H

=

06H例设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对位移量,用补码表示。假设当前转移指令第一字节所在的地址为2000H,且CPU每取出一个字节便自动完成(PC)+1→PC的操作。试问当执行JMP

*

+8和JMP

*-9指令时,转移指令第二字节的内容各为多少?双字节相对寻址,位移量的内存存放P318例7.210.堆栈寻址(1)堆栈的特点硬堆栈堆栈软堆栈多个寄存器指定的存储空间先进后出(一个入出口)

栈顶地址由SP

指出–

1

1FFFH栈底SP2000

H……1FFFH2000

H栈底出栈栈顶栈顶栈顶堆(heap)栈(stack)AX=30进栈

(SP)–

1

SPAX

(SP)进栈出栈

(SP)

AX(SP)+

1

SP(2)堆栈寻址举例200HSPX栈顶

200H栈底主存ACC

15151FFHACCSP栈底主存15X栈顶

1FFH200HPUSH

A前PUSH

A后POP

A前POP

A后Y1FFHACCSP栈底主存15X栈顶

1FFH200H15200HACCSP栈顶

200H栈底主存15X(3)SP的修改与主存编址方法有关①按字编址进栈(SP)–

1SP出栈(SP)+

1SP②按字节编址存储字长16

位进栈(SP)–

2SP出栈(SP)+

2SP存储字长32

位进栈(SP)–

4SP出栈(SP)+

4SPP319例7.37.4

指令格式举例一、设计指令格式时应考虑的各种因素数据类型指令格式指令系统的兼容性(向上兼容)其他因素操作类型

包括指令个数及操作的难易程度寻址方式寄存器个数确定哪些数据类型可参与操作指令字长是否固定操作码位数、是否采用扩展操作码技术,地址码位数、地址个数、寻址方式类型指令寻址、操作数寻址寄存器的多少直接影响指令的执行时间二、指令格式举例1.PDP–8

指令字长固定12位访存类指令操作码

页0

2

3

4

511寄存器类指令111辅助操作码02311I/O类指令设备操作码1

1

00

2

3118

9采用扩展操作码技术PC/07地址码6392.

PDP

1116OP-CODE指令字长有16位、32位、48位三种零地址(16位)OP10源地址6目的地址二地址R–R

(16位)466OP目的地址存储器地址

二地址

R

M

(32

位)10616OP源地址目的地址存储器地址1

存储器地址246616

16二地址M–M

(48位)扩展操作码技术一地址(16位)寄存器16位机器3

3OP-CODE

目的地址3.

IBM

360RR格式OP8R1

R24

4RX格式RS格式OPR1XBD844412OPR1R3BD844412SI格式OP8I8B4D12二地址R–R二地址R–M基址加变址寻址三地址R–M基址寻址二地址M–M基址寻址立即数–M基址寻址SS格式OP8L8B1

4D1

12B2

4D2

1232位机器4.

Intel

8086指令字长

1

~

6

个字节INC

AX

1字节MOV

WORD

PTR[0204],0138H

6字节地址格式零地址一地址NOPCALLCALL1字节段间调用 5

字节段内调用 3

字节二地址ADDAX,BX

2字节寄存器–寄存器ADDAX,3048H

3字节寄存器–立即数ADDAX,[3048H]4字节寄存器–存储器16位指令格式设计举例:指令系统共有74种指令,前4种使用频率平均为0.12,中间15种使用频率平均为

0.02,最后55种使用频率平均为0.004。如何编码?平均码长为多少?平均码长的定义:i:表示指令Fi:指令的频率(度)Bi:编码所用的位数001010011100-0000100-1110100-1111-

000000100-1111-

110110平均码长:0.12×4×3

+

0.02×15×7

+0.004×55×13=1.44+2.1+2.86=6.4解:

000频率40.12指令数150.02550.0047.5

RISC

术一、RISC的产生和发展RISC(Reduced

Instruction

Set

Computer)CISC(Complex

Instruction

Set

Computer)80—20规律典型程序中80%的语句

温馨提示

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

评论

0/150

提交评论