1. Cortex-A寄存器组织如下图:
未分组寄存器:r0-r7 r15 cpsr, cpu在任何模式下看到的 这几个寄存器都是一样的
分组寄存器 r8-r14 在不同模式下看到的这几个寄存器是不一样的
r13:sp 用于指向不同模式的栈顶。栈,每种模式都需要开辟一块内存,用于在该模式下 函数调用,临时分配的数据存放在此处,
r15 :pc 要执行的西一条指令地址,就存放在此处,每次指令执行完,就自动+4
CPSR:程序状态寄存器。程序执行的时候,有很多临时标记位,结果是0 是否溢出,是否有借位,是否有 进位,当前cpu模式,
SPSR:用于模式切换,将切换前的 cpsr 保存到 新的模式的 spsr,模式切换回去的时候,再将spsr的内容还原到cpsr。
3. 程序状态寄存器(cpsr)如下图:
pc的作用:下一条要执行的指令的地址,就存放在pc中,我们可以通过向pc赋值,来控制程序跳转
当处理器执行在ARM状态:
1)所有指令32bits宽
2)所有指令必须word对齐
3)所有pc值由[31:2]决定,bits[1:0]未定义(所以指令不能halfword/byte对齐)