间接寻址方式
间接寻址是寻址模式,其中指令包含存储目标地址的位置的地址。所以这种方式就是将目标位置的地址间接存储到另一个内存位置。因此称为间接寻址模式。
间接寻址模式有两种类型(或版本):间接内存和间接寄存器。
1. 间接内存
在这种类型中,我们直接在指令中提到内存位置的地址,或者用括号括起来,或者在前面加上@
字符。
例子 :
LOAD R1, (1005)
或者
LOAD R1, @1005
2. 间接寄存器
在这种类型中,目标内存位置的地址将存储在寄存器中,并且该寄存器将在指令中提及。
例子 :
MOV R@, 1005
LOAD R1, (R2)
隐含寻址模式
这是在指令定义中隐含指定操作数的寻址模式。这种寻址模式通常用于零地址(例如,堆栈操作)和一个地址(例如,MUL AL)指令。因此操作数隐含在指令中,称为隐含寻址模式。
例子 :
MOV CL, 05
L1: INC AL
LOOP L1
每次循环执行时,这里的 AL
都会增加 1
。因此 1
隐含在指令 INC AL
中。
间接寻址模式和隐含寻址模式之间的区别:
编号 | 无间接寻址模式 | 隐含寻址模式 |
---|---|---|
1 | 使用多个内存空间。 | 无内存干预 |
2 | 操作数是显式的 | 操作数是隐式的 |
3 | 多用于2地址及以上指令 | 多用于零地址和单地址指令 |
4 | 需要3个内存引用 | 不需要内存引用 |
5 | 地址空间大 | 地址空间小 |
6 | 额外计算是执行操作的唯一方式 | 无需额外计算 |
7 | 执行速度较慢 | 执行速度较快 |
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/276135.html