手臂组装说明:POP意味着功能的返回

时间:2013-05-18 09:47:54

标签: assembly arm

这意味着什么

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

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

由于 保罗

2 个答案:

答案 0 :(得分:1)

我必须阅读一些关于“stack”的内容,我认为。

将堆栈视为内存中充当LIFO的区域:最后一个被“推送”的寄存器必须是第一个被“弹出”的寄存器。通过这种方式,可以轻松跟踪保存的变量以符合AAPCS

所以,排序答案是:该指令将值恢复到r4-r7,并将PC设置为LR,即该函数后面的程序点。

我希望它有所帮助。

答案 1 :(得分:0)

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

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