寄存器作用:
用于在指令执行过程中存放运算数据和结果值
1、ARM内核的寄存器容量是多大?
普通的ARM有37个寄存器,每个寄存器的容量是4byte,总容量=37*4=148byte
contex-A的内核有40个寄存器,每个寄存器的容量是4byte,
总容量=40*4=160byte
contex-A的内核有40个寄存器,如何标识这些寄存器?
用r0,r1,r2....r15,cpsr,spsr
40个寄存器如何计算的?8+5+5+14+1+1+6=40
r0~r7:8
r8~r12:5
r8_fiq~r12_fiq:5
r13~r14:2*7=14
r15:1
cpsr:1
spsr:6
arm内核提供的40个寄存器,有5类特殊的寄存器是用来辅助运算的
r13(sp):存放SP栈指针
r14(lr): 用来存放中断的下一条指令地址或函数调用的返回地址
r15(pc):pc程序的取址位置
cpsr:当前程序状态寄存器,保存当前处理器的状态信息
spsr:是cpsr的备份寄存器,通常发生中断时被使用
psr==>cpsr/