atpcs专题

【ARMv7-A】——ATPCS(ARM-Thumb 过程调用标准)

文章目录 ATPCS(ARM-Thumb Procedure Call Standard) ARM-Thumb 过程调用标准寄存器分类和用途通用寄存器(R0-R12)特殊寄存器 寄存器使用规则被调用者保存和调用者保存调用者代码被调用者代码 数据栈使用规则参数传递规则函数返回规则实践四个参数五个参数

嵌入式C和汇编混合编程规则——ATPCS规则

ATPCS规则  为了使单独编译的C语言程序和汇编程序之间能够相互调用,必须为子程序之间的调用规定一定的规则.ATPCS就是ARM程序和THUMB程序中子程序调用的基本规则。 一.ATPCS概述 ATPCS规定了一些子程序之间调用的基本规则.这些基本规则包括子程序调用过程中寄存器的使用规则,数据栈的使用规则,参数的传递规则.为适应一些特定的需要,对这些基本的调用规则进行一些修改得到几种不

ATPCS中各寄存器的使用规则及名称

S3C2440属于ARM9, 一般在ARM系列的soc中都会有ATPCS这十五个寄存器。 下面我们主要讲解一下这十五个寄存器的名称和用法。 先看下名字: 再看下这些寄存器的用法和功能: 特殊寄存器: r0-r3:用作传入函数参数,传出函数返回值。在子程序调用之间,可以将r0-r3用于任何用途。被调用函数在返回之前不必恢复r0-r3。如果调用函数需要再次使用r0-r3内容,则它必须保