我是PowerPC的业余爱好者,这是我第一次遇到这样的事情。
lis r10, loc_13462@h
addi r10, r10, loc_13462@l
stw r10, 0xE0+var_80(r1)
真的很奇怪。我唯一的猜测是,它可能正在执行它而不是r3作为返回,它使用r10然后将其存储在堆栈中,但这没有意义,因为它可以在相同数量的指令。它是否正确?如果没有,请解释它在做什么,因为我非常失败。
答案 0 :(得分:1)
不确定你对此感到困惑。它正在将地址加载到r10
中,然后将其存储在局部变量中。 lis/addi
对是加载直接单词的正常习惯用法。
可以在相同数量的指令中完成
下次您可以向我们展示这些说明。如果它的数量相同,为什么你认为那个版本会更好?