assembly - ARM 处理器上 BP 寄存器(帧指针)的等价物是什么?

标签 assembly arm calling-convention

在英特尔平台上,BP用于指向堆栈帧的开头并访问参数 [bp+0x??]和局部变量 [bp-0x??] .

ARM 中使用哪个寄存器?或者,是否仅基于SP寻址?

[我没有基础设施可以编译和反汇编自己看。引用 AAPCS 也没有帮助我]

最佳答案

您正在寻找的是帧指针。一般情况下,R7在 THUMB 模式和 R11 中充当帧指针在 ARM 模式下充当帧指针。但是,如果愿意,操作系统可以自行决定更改此约定。

阅读 here

关于assembly - ARM 处理器上 BP 寄存器(帧指针)的等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10928646/

相关文章:

c++ - 为什么不使用时分配堆栈内存?

c - x64 帧指针应该指向哪里,为什么指向? ( Windows x64 ABI)

c++ - 如何在不创建新进程的情况下运行汇编代码?

assembly - 对于 asm 语句中的临时寄存器,我应该使用 clobber 还是虚拟输出?

c++ - 在 Linux 上与 Eclipse 交叉编译,在 Windows 上与 Eclipse 交叉编译?

stack - 谁来选择ARM堆栈方向?

caching - 缓存行刷新是否访问 TLB?

c++ - 在 Win32 Release模式下查看 VC++ 2010 中准确反汇编的最佳方法是什么?

C 浮点运算在 i386 和 arm 上有不同的结果,但为什么呢?

c - 如何将变量传递给外部汇编函数