寄存器模式和寄存器间接模式的区别
1. 寄存器模式
在寄存器寻址模式中,操作数被放置在 8 位或 16 位通用寄存器之一中。数据在指令指定的寄存器中。
例子:
MOV R1, R2
指令有寄存器 R2,R2 有操作数。
2. 寄存器间接模式
在寄存器间接寻址模式下,操作数的地址放在任意一个寄存器中。该指令指定一个包含操作数地址的寄存器。
示例
ADD R1, (R2)
指令有寄存器 R2,R2 有操作数的内存地址。
寄存器模式和寄存器间接模式的区别:
寄存器模式 | 寄存器间接模式 |
---|---|
操作数放在通用寄存器中。 | 操作数的偏移量放置在其中一个寄存器中。 |
在寄存器模式下,地址字段包含操作数的有效地址。 | 在寄存器间接模式下,地址字段包含有效地址的引用。 |
寄存器模式只需要一个寄存器引用来访问数据。 | 寄存器间接模式需要两个寄存器引用来访问数据。 |
寄存器模式无需进一步计算即可执行该操作。 | 寄存器间接模式需要进一步计算才能找到有效地址。 |
寄存器寻址模式很快。 | 寄存器间接寻址模式很慢。 |
在寄存器模式下访问数据更容易。 | 在寄存器间接模式下访问数据有点复杂。 |
寄存器模式使用临时变量。 | 寄存器间接模式使用指针。 |