在ARM程序集中将立即值放在括号中的目的是什么?

时间:2011-08-10 14:32:30

标签: assembly arm

subs    r2, r2, #(32)

VS

subs    r2, r2, #32

如果你有一个来源,我很乐意看到它,因为我找不到它。

谢谢!

1 个答案:

答案 0 :(得分:11)

实际上,这些是括号,而不是括号。

之间没有区别:

subs    r2, r2, #(32)

subs    r2, r2, #32

我怀疑(32)曾经是(32 - 8)之类的东西或当时有趣/有意义/必要的东西,然后删除了“- 8”但括号只是简单的因为没有伤害所以保持不变。


为了完整起见,即使它不是你要求的&你可能已经知道了:

代码

LDR r0, [r1]
带有“括号”(寄存器间接)的

加载r0,其地址存储在r1中 - 换句话说,如果r1包含1000,r0将从MEM [1000]

加载