赞
踩
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会影响到其他寄存器。
曾几何时为之疯狂,现在淡定得非常释然~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。