等效指令是什么PUSH{lr}
and POP{lr}
在ARM Aarch64指令集中。
Is STR X30, [SP, #8]
正确的 ?您能解释一下维护堆栈对齐的概念吗?我对 ARMv8 比较陌生,所以请原谅。
如果您要求 C 编译器从源代码生成汇编语言列表,您将看到它如何处理将数据推送到 ARMv8 的堆栈上。这可能不是唯一的方法,但 GCC 是这样做的:
sub sp, sp, #32 \\ Open up some temp stack space
stp x19, x20, [sp] \\ save 2 pairs of registers
stp x21, x30, [sp,#16]
<your code>
ldp x19, x20, [sp] \\ restore 2 pairs of registers
ldp x21, x30, [sp,#16]
add sp, sp, #32 \\ "free" the temp stack space
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)