sparc assembly - 添加i = 0或i = 1的指令

时间:2017-06-22 02:05:13

标签: assembly add sparc

来自Sparc architecture manual,第110页的Add说明:

  

"如果i = 0,则ADD和ADDcc计算“R [rs1] + R [rs2]”。如果i = 1,他们会计算   “R [rs1] + sign_ext(simm13)”。在任何一种情况下,总和都写入R [rd]。"

阅读装配时,我怎么知道i = 0还是i = 1?看起来在反汇编代码中出现的助记符/操作码没有任何变化。

1 个答案:

答案 0 :(得分:1)

" i"表示"立即"指令中的值。立即是一个常数。所以你会看到这样的事情:

add %g1, 59, %g1

这意味着"将常数59添加到g1并将结果放入g1"。

当i = 0时,表示该参数不是立即数。所以这是一个注册!您将在汇编或反汇编中看到这一点:

add %g1, %o3, %g1

这意味着添加寄存器g1和o3并将结果放在o3中。