4.4指令和数据的寻址方式

4.4.1 指令的寻址方式

9dee9dcb30d3487ba113f08d62af6896.jpg

 1、顺序寻址方式

2、跳跃寻址方式

4.4.2 操作数基本寻址方式

形成操作数有效地址的方法,称为寻址方式。

(1)隐含寻址

指令中隐含着操作数的地址。

(2)立即寻址

指令中在操作码字 段后面的部分不是通常意义上的操作数地址,而是操作数本身,也就是说数据就包含在指令中,只要取出指令,就取出了可以立即使用的操作数。

(3)直接寻址

指令中地址码字段给出的地址A就是操作数的有效地址EA(Effective Address),即EA=A。

(4)间接寻址

指令的地址码部分给出的 地址A不是操作数的地址,而是存放操作数地址的主存单元的地址,简称操作数地址的地址。

(5)寄存器寻址

在指令的地址码部分给出CPU内某一通用寄存器的 编号,指令的操作数存放在相应的寄存器中,即 EA=Ri。

优点:①由于寄存器在CPU的内部,指令在执行时从寄存 器中取操作数比访问主存要快得多

②由于寄存器的数量较少,因此寄存器编号所占位数也较少,从而可以有效减少指令的地址码字段的长度。

(6)寄存器间接寻址

为了克服间接寻址中多次访存的缺点,可采用寄存器间接寻址, 即将操作数放在主存储器中,而操作数的地址放在某一通用寄存器中,然后在指令的地址码部分给出该通用寄存器的编号, 这时有EA=(Ri)。

(7)偏移寻址

①相对寻址

由程序计数器PC提供基准地址,而指令的地址码部分给出相对的位移量D,两者相加后 作为操作数的有效地址,即:EA=(PC)+D

②基址寻址

基址寄存器的位数可以设置得很长,从而可以在较 大的存储空间中寻址。

③变址寻址

将指令的地址码部分给出的基准地 址A与CPU内某特定的变址寄存器Rx中的内容相加,以形成操作数的有效地址。

(8)分寄存器堆栈、存储器堆栈

以先进后出原理存储数据

 

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐