文章目录
ATPCS(ARM-Thumb Procedure Call Standard) ARM-Thumb 过程调用标准
ARMv7-A 的 ATPCS(ARM-Thumb Procedure Call Standard),也称为 AAPCS(ARM Architecture Procedure Call Standard),规定了 ARM 架构中函数调用的标准和约定。它定义了函数调用时寄存器的使用、参数传递、返回值、栈帧布局等规范。以下是对 ARMv7-A 的 ATPCS 的详细介绍
寄存器分类和用途
ARM 架构中的寄存器分为以下几类:
通用寄存器(R0-R12)
- R0-R3:参数传递和返回值寄存器。
- R4-R11:被调用者保存寄存器(Callee-saved)。
- R12:临时工作寄存器(IP)。
特殊寄存器
- R13(SP):堆栈指针(Stack Pointer)。
- R14(LR)