【发布时间】:2014-10-21 20:35:06
【问题描述】:
这是一个调用子例程 foo 的 ARC 程序,向其传递三个参数,a、b 和 c。该子程序有两个局部变量m 和n。我试图在下面显示的程序中的点处了解并显示堆栈指针的位置以及基于堆栈的调用约定的相关堆栈元素的内容。请注意,子例程 foo 不返回任何内容。
- 就在标签
x执行调用之前; - 当 foo 的堆栈帧完成时;
-
就在标签 z 处执行 ld 之前(即,当调用例程恢复时)。
! Push the arguments a, b, and c x: call foo z: ld %r1, %r2 . . . foo: ! Subroutine starts here . . y: jmpl %r15 + 4, %r0
任何帮助都将不胜感激!
【问题讨论】:
标签: assembly architecture stack