【指令和数据的寻址方式】

存储器既可用来存放数据,又可用来存放指令。因此,当某个操作数或某条指令存放在某个存储单元时,其存储单元的编号,就是该操作数或指令在存储器中的地址。

在存储器中,操作数或指令字写入或读出的方式权有地址指定方式、相联存储方式和堆栈存取方式。几乎所有的计算机,在内存中都采用地址指定方式。当采用地址指定方式时,形成操作数或指令地址的方式,称为寻址方式。寻址方式分为两类,即指令寻址方式和数据寻址方式,前者比较简单,后者比较复杂。

㈠指令的寻址方式

指令的寻址方式有两种,一种是顺序寻址方式,另一种是跳跃寻址方式。

㈡操作数基本寻址方式

☞隐含寻址

这种类型的指令,不是明显地给出操作数的地址,而是在指令中隐含着操作数的地址。

☞立即寻址(立即数寻址)

指令的地址字段指出的不是操作数的地址,而是操作数本身,这种寻址方式称为立即寻址。指令中的操作数称为立即数。

立即寻址方式的特点是指令中包含的操作数立即可用,节省了访问内存的时间。

☞直接寻址

直接寻址是一种基本的寻址方法,其特点是:在指令格式的地址字段中直接指出操作数在内存的地址。由于操作数的地址直接给出而不需要经过某种变换,所以称这种寻址方式为直接寻址方式。

☞间接寻址

间接寻址是相对于直接寻址而言的,在间接寻址的情况下,指令地址子段中的形式地址不是操作数的真正地址,而是操作数地址的指示器。

☞寄存器寻址

当操作数不在内存中,而是放在CPU 的通用寄存器中时,可采用寄存器寻址方式——指令中给出的操作数地址不是内存的地址单元号,而是通用寄存器的编号。

☞寄存器间接寻址

寄存器间接导址与寄存器寻址的区别在于:指令格式中的寄存器内容不是操作数,而是操作数的地址,改地址指明的操作数在内存中。

☞偏移寻址

常用的三种偏移寻址是相对寻址、基址寻址、变址寻址。

①相对寻址

隐含引用的专用寄存器是程序计数器(PC),即EA=A+(PC),它是当前PC的内容加上指令地址字段中A的值。

②基址寻址

被引用的专用寄存器含有一个存储器地址,地址字段含有一个相对于该地址的偏移量(通常是无符号整数)。寄存器的引用可以是显式的,也可以是隐式的。址的偏移量(通常是无符号整数)。寄存器的引用可以是显式的,也可以是隐式的。基址寻址也利用了存储器访问的局部性原理。

③变址寻址

地址域引用一个主存地址,被引用的专用寄存器含有对那个地址的正偏移量。这意味着主存地址位数大于寄存器中的偏移量位数,与基址寻址刚好相反。但是二者有效地址的计算方法是相同的。变址的用途是为重复操作的完成提供一种高效机制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值