前言
一、AAPCS
AAPCS,全称为ARM Architecture Procedure Call Standard,是ARM架构下的过程调用标准。这个标准定义了在ARM架构中函数调用和返回的约定,以确保不同编译器生成的代码之间的兼容性,以及不同模块之间的互操作性。以下是AAPCS的一些重要概念和约定:
寄存器用途: AAPCS定义了一组通用寄存器,用于传递参数和返回值。在常见的AAPCS规范中,前几个参数(通常是4个或更少)被放置在寄存器 r0-r3 中,其余的参数被放置在栈上。返回值通常存储在 r0 寄存器中,如果返回值为结构体或浮点数,则可能使用多个寄存器来传递。
编写下面这样的一个C函数,然后我们来查看一下他的汇编代码:
int add_val(int a,