3

我在汇编中有一些行,我必须能够回答它的有效地址 (EA) 是什么。线路是...

(R3)+

+(R2)

加号在这里做什么?我知道 (R3) 会有一个 EA = [R3],但我不理解 + 号,也无法在任何地方找到答案。谢谢。

汇编语言为 NIOS II

4

1 回答 1

2

这种符号在通过寄存器进行间接寻址的机器上的汇编代码中很常见,最初是 PDP-11,但现在,我认为很多 DSP。

(Rn) 的含义通常是“间接使用寄存器 N 中的地址”。

+(RN) 的含义通常是“将一个(存储单元)添加到寄存器 N,然后使用寄存器 N 中的地址间接进行”。(RN)+ 的意思是“间接访问寄存器 N 中的地址,完成后,将一个(存储单元)添加到寄存器 N”。-(RN) 和 (RN)- 是“减一(存储单元)”的类似物。

符号 IIRC 最初在 1970 年代早期用于 PDP-11,并且一种变体以 ++、- 和 * 运算符组合的形式爬进了 C 语言。

PDP-11 还允许使用对寄存器的偏移进行寻址,例如“k(RN)”。DSP 可能允许也可能不允许这样做。

是的,详细信息应该很容易在设备的任何编程手册中找到。

于 2014-09-14T23:02:19.523 回答