4.2 指令的寻址方式
寻址方式是寻找指令或操作数有效地址的方式。有效地址(EA)是操作数在存储器中的真实地址。 形式地址(A)是指令中的地址码字段。
指令系统中采用不同的寻址方式的目的是可缩短指令字长,扩大寻址空间,提高编程的灵活度。
4.2.1 指令寻址和数据寻址
指令寻址:寻找下一条将要执行的指令地址。
数据寻址:寻找本条指令的数据地址。
1.指令寻址
(1)顺序寻址
PC+1(1 个指令字长)
(2)跳跃寻址
2.数据寻址
操作码 | 寻址特征(指明属于哪种寻址方式) | 形式地址 A |
---|
4.2.2 常见的数据寻址方式
1.隐含寻址

2.立即(数)寻址
地址字段是操作数本身。

3.直接寻址
$EA=A$
一次访存。

4.间接寻址
$EA=(A)$

5.寄存器寻址
$EA=R_{i}$

6.寄存器间接寻址
$EA=(R_{i})$

7.相对寻址
$EA=(PC)+A$

相对寻址中,执行本条指令时,PC 已完成 +1 操作,PC 中保存的是下一条指令的地址,因此以下一条指令的地址为基准位置的偏移量。
8.基址寻址
$EA=(BR)+A$
重定位寄存器就是基址寄存器


x=BR[A]
9.变址寻址
$EA=(IX)+A$

x=A[IX]
基址寻址和变址寻址的区别?
基址寻址 | 变址寻址 | |
---|---|---|
有效地址 | EA=(BR)+A | EA=(IX)+A |
访问次数 | 1 | 1 |
寄存器内容 | 由操作系统或管理程序确定 | 由用户设定 |
程序执行过程中值可变与否 | 不可变 | 可变 |
特点 | 有利于多道程序设计和编制浮动程序 | 有利于处理数组问题和编制循环程序 |