在汇编语言中,行(r3)+有什么作用?

时间:2014-09-14 15:08:35

标签: assembly memory-address nios

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

(R3)+

+(R 2)

这里的加号有什么作用?我知道(R3)会有EA = [R3],但我不明白+符号,无法在任何地方找到答案。感谢。

汇编语言是NIOS II

1 个答案:

答案 0 :(得分:2)

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

(Rn)通常意味着“间接使用寄存器N中的地址”。

什么+(RN)意味着,通常是“将一个(存储单元)添加到寄存器N,然后使用寄存器N中的地址间接进行”。什么(RN)+表示“在寄存器N中的地址上间接,并且在完成时,将一个(存储单元)添加到寄存器N”。 - (RN)和(RN) - 是“减去一个(存储单元)”的类似物。

IIRC的符号最初是在20世纪70年代早期用于PDP-11的,并且变体以++, - 和*运算符组合的形式进入C语言。

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

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