2

这是什么意思

LDR.W           R8, [SP+0x10+var_10],#4
POP{R4-R7, PC}

如果我在函数末尾找到该指令?

谢谢保罗

4

2 回答 2

1

我假设您必须阅读一些有关“堆栈”的信息。

在堆栈中将其视为内存中用作 LIFO 的区域:要“推送”的最后一个寄存器必须是第一个“弹出”的寄存器。这样,很容易跟踪为遵守AAPCS而保存的变量。

因此,排序答案是:该指令将值恢复为 r4-r7,并将 PC 设置为 LR,即紧接在此函数之后的程序点。

我希望它有所帮助。

于 2013-07-10T22:34:17.797 回答
0

Arm 网站: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204j/ Babefbce.html

弹出 {R0,R6,PC} ; 从堆栈中弹出 r0,r6 和 PC,然后分支到新的 PC。

于 2013-11-06T18:07:06.543 回答