ARMV7架构下的普通寄存器和CPSR寄存器及APSR寄存器

普通寄存器

ARMV7架构下的普通寄存器和CPSR寄存器及APSR寄存器
上面是不同工作模式对应的寄存器,其中要重点知道的为
sp : stack pointer 用于保存栈顶对应的内存地址,当需要入栈或出栈时,将访问sp对应的内存地址

lr:link register 链接寄存器
用于保存跳转过程中子程序的返回地址
pc:
给pc写值,处理器会跳转到所写位置执行位置
读pc会读得pc指令的下下一条指令

APSR

ARMV7架构下的普通寄存器和CPSR寄存器及APSR寄存器
他的前四位为为条件标记位,并和你的主动更新的意愿有关系
N[31]:负的条件标记
Z[30]:零的条件标记
C[29]:操作进位
V[28]:操作溢出

低五位为运算模式
但是需要特权模式才能去修改他的工作模式
ARMV7架构下的普通寄存器和CPSR寄存器及APSR寄存器
T[5]:决定的是用的是ARM指令集还是Thumb指令集
A[6]:异常终止的频闭位
I [7]:中断的频闭位
F[8]:快速中断的频闭位
E[9]: 大小端序的设置

SPSR

就是用来保存异常之前的状态,用来返回现场的时候使用