cpu如何从堆栈中获取返回地址

问题描述 投票:0回答:1

cpu如何从调用方函数推送的堆栈中获取返回地址。他怎么知道这是寄信人地址?

stack procedure machine-language
1个回答
0
投票

我必须查一下,但是已经充分解释了on Wikipedia

因此,被调用方(称为子例程)本身负责从堆栈中弹出所有内容(自己的局部变量),并执行到调用方函数提供的返回地址的跳转。

返回地址例如在弹出来自被调用方的局部变量之后的堆栈堆栈条目(至少在Wikipedia示例中-不同的体系结构可能有所不同)。

帧指针将提示返回地址的位置,但是出于性能考虑可以省略,因此您不能依赖它。

我不知道被调用方是否负责删除从调用方传递的参数-这可能取决于体系结构。

© www.soinside.com 2019 - 2024. All rights reserved.