ARM 寄存器


Arm APCS(Arm Application Proceure Call)对于寄存器的使用有一些规定,比较重要的有:

1) 函数调用要保持寄存器 r4~r8, r10, r11 和 sp 的值。

2)stack 一定要是8字节对齐,并且,  ARM  和 THUMB的 C/C++编译器必须用 full, descending stack.

3)在一个函数和他的子函数调用之间, 链接器可以使用 r12 (ip)作为一个 scrach 寄存器。也可以在函数内部用来保存在子函数调用的时候的中间值

4)r4~r8, r10, r11可以用来保存函数局部变量的值。

5)r0~r3用来在函数调用的时候传递函数的参数以及返回值;也可以用来保存函数内部的中间值

你可能感兴趣的:(ARM 寄存器)