我试图弄清楚将调用的返回地址存储在寄存器 (RR) 中的架构如何工作(而不是在堆栈上推送和弹出返回地址)。
每次进行嵌套调用时,是否都不会覆盖返回地址寄存器(因此在一次返回后无法返回)?阅读我的作业问题,我应该修改一个汇编程序以使用一个 RR 寄存器来存储调用的返回地址,而不是将它推入和弹出堆栈。我已经搜索了它是如何工作的,但要么那里什么都没有,信息隐藏得很好,要么我的谷歌搜索技能不是那么好。
我不是要求解决问题,但我想知道如何将返回地址存储在一个寄存器中是可行的,在程序中多次调用而不随后将寄存器值存储在堆栈上(这会破坏练习)。
谢谢你的帮助。