CPU常用寄存器

来源:互联网 发布:sql的dcl 编辑:程序博客网 时间:2024/06/05 16:25

1. r11是optional的,被称为FP,即frame pointer。

stack frame就是一个函数所使用的stack的一部分,所有函数的stack frame串起来就组成了一个完整的栈。
stack frame的两个边界分别由FP和SP来限定。

2. r12 是内部调用暂时寄存器 ip。它在过程链接胶合代码(例如,交互操作胶合代码)中用于此角色。在过程调用之间,可以将它用于任何用途。被调用函数在返回之前不必恢复 r12。r12 IP The Intra-Procedure-call scratch register. (可简单的认为暂存SP)
3. 寄存器 r13 是栈指针 sp。它不能用于任何其它用途。sp 中存放的值在退出被调用函数时必须与进入时的值相同。
4. 寄存器 r14 是链接寄存器 lr。如果您保存了返回地址,则可以在调用之间将 r14 用于其它用途,程序返回时要恢复。
5. 寄存器 r15 是程序计数器 PC。它不能用于任何其它用途。


CPSR(当前程序状态寄存器)在任何处理器模式下被访问。它包含了条件标志位、中断禁止位、当前处理器模式标志以及其他的一些控制和状态位。

注意,在恢复其他寄存器之前,要先恢复CPSR,不然恢复CPSR会影响到其他寄存器。


 

曾几何时为之疯狂,现在淡定得非常释然~

0 0
原创粉丝点击