操作数基本寻址方式

操作数基本寻址方式

1.隐含寻址

2.立即寻址

3.直接寻址

4.间接寻址

5.寄存器寻址方式和寄存器间接寻址方式

6.相对寻址方式

7.基址寻址方式

8.变址寻址方式

9.块寻址方式

10.段寻址方式

1.隐含寻址
在指令中不明显的给出而是隐含着操作数的地址。

2.立即寻址
指令的地址字段指出的不是操作数的地址,而是操作数本身。这种方式的特点是指令执行时间很短,不需要访问内存取数。

3.直接寻址
直接寻址的特点是:在指令格式的地址字段中直接指出操作数在内存的地址D
采用直接寻址方式时,指令字中形式地址D就是操作数的有效地址E,即E=D。因此通常把形式地址D又称为直接地址。此时,由寻址模式给予指示。如果用S表示操作数,那么直接寻址的逻辑表达式为S=(E)=(D)

4.间接寻址
间接寻址的情况下,指令地址字段中的形式地址D不是操作数的真正地址,而是操作数地址的指示器,D单元的内容才是操作数的有效地址。
如果把直接寻址和间接寻址结合起来,指令有如下形式:
在这里插入图片描述
寻址特征位I=0,表示直接寻址,这时有效地址E=D;I=1,表示间接寻址,这时有效地址E=(D)。
间接寻址方式时早期计算机中经常采用的方式,但由于两次访存,影响指令执行速度,现在已不大使用。

5.寄存器寻址方式和寄存器间接寻址方式
当操作数不放在内存中,而是放在CPU的通用寄存器中时,可采用寄存器寻址方式。此时指令中给出的操作数地址不是内存的地址单元号,而是通用寄存器的编号。
寄存器间接寻址方式与寄存器寻址方式的区别在于:指令格式中的寄存器内容不是操作数,而是操作数的地址,该地址指明的操作数在内存中。

6.相对寻址方式
相对寻址是把程序计数器PC的内容加上指令格式中的形式地址D而形成操作数的有效地址。程序计数器的内容就是当前指令的地址。“相对”寻址,就是相对于当前的指令地址而言。
采用相对寻址方式的好处是程序员无须用指令的绝对地址编程,所编程序可以放在内存任何地方。
此时形式地址D通常称为偏移量,其值可正可负,相对于当前指令地址进行浮动。

7.基址寻址方式
基址寻址方式是将CPU中基址寄存器的内容加上指令格式中的形式地址而形成操作数的有效地址。它的优点是可以扩大寻址能力。同形式地址相比,基址寄存器的位数可以设置得很长,从而可以在较大的存储空间中寻址。

8.变址寻址方式
变址寻址方式与基址寻址方式计算有效地址的方法很相似,它把CPU中某个变址寄存器的内容与偏移量D相加来形成操作数有效地址。但使用变址寻址方式的目的不在于扩大寻址空间,而在于实现程序块的规律性变化。

9.块寻址方式
块寻址方式经常用在输入输出指令中,以实现外存储器或外围设备同内存之间的数据块传送。块寻址方式在内存中还可用于数据块搬家。块寻址时,通常在指令中指出数据块的起始地址(首地址)和数据块的长度(字数或字节数)。
如果数据块是变长,可用三种方法指出它的长度:
(1)指令中划出字段指出长度;
(2)指令格式中指出数据块的首地址与末地址;
(3)有块结束字符指出数据块长度。
在这里插入图片描述
10.段寻址方式
微型机中采用了段寻址方式,例如它们可以给定一个20位的地址,从而有1M存储空间的直接寻址能力。为此将整个1M空间存储器以64K为单位划分成若干段。在寻址一个内存具体单元时,由一个基地址再加上某些寄存器提供的16位偏移量来形成实际的20位物理地址。这个基地址就是CPU中的段寄存器。在形成20位物理地址时,段寄存器中的16位数会自动左移4位,然后以16位偏移量相加,即可形成所需的内存地址。这种寻址方式的实质还是基址寻址。

  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值