什么是栈的字节对齐? 栈的字节对齐,实际是指栈顶指针必须是某字节的整数倍 。 AAPCS栈使用规约: 在ARM上编程,但凡涉及到调用,就需要遵循一套规约 AAPCS :《Procedure Call Standard for the ARM Architecture》。 这套规约里面对栈使用的约定如下: 5.2.1.1 Universal...
C代码嵌入汇编语言主要有两个原因: C 语言对硬件底层的处理被受到限制,比如 C 语句不能直接修改处理器的程序状态寄存器; 写出高度优化的代码。毫无疑问,虽然 GNU C 优化器的工作做得很好,但是其处理结果依然与手工汇编代码有差距。 本节的主题是我们容易忽略的部分:当使用内联汇编语句添加汇编语言代码时, C 编译器的代码优化器会对这些代码进行优化处...