2017-06-22 59 views
0

Sparc architecture manual,第110页添加指令Add指令:SPARC总成 - 其中i = 0或I = 1

“如果I = 0,ADD和ADDcc计算“R [RS1] + R [ rs2]“,如果i = 1,则计算出 ”R [rs1] + sign_ext(simm13)“,无论哪种情况,总和都写入R [rd]。

在阅读装配体时,如何知道i = 0还是i = 1?它看起来不像助记符/操作码在反汇编代码中出现任何改变。

回答

1

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

add %g1, 59, %g1 

,意思是“添加常数59 G1,并把结果G1”。

当i = 0时,表示参数不是立即数。所以这是一个注册!您将在组装或拆卸看到这一点:

add %g1, %o3, %g1 

这意味着增加寄存器G1和O3并把结果O3。

相关问题