37个寄存器:R0~R7是不分组寄存器也就是没有影子寄存器所有模式下使用的都是相同的物理地址。R8~R14是分组寄存器,其中R8~R12在FIQ模式是有影子寄存器的,FIQ模式这些寄存器使用的是相同的物理地址,非FIQ模式下使用的是相同的物理地址。R13~R14也是有影子寄存器的,也就是说在用户和系统模式使用的物理地址和异常状态下使用的物理地址是不同的。R15是程序计数器使用的物理地址是相同的PC指到哪儿程序就执行到哪儿。CPSR状态寄存器包括5种异常状态的SPSR异常寄存器,其中CPSR寄存器的中N、Z、C、V条件位[31:28]和IF中断禁止位[7:6]控制IRQ和FIQ,T位[5]控制处理器工作状态0为ARM状态1为Thunb状态,mode位[4:0]控制处理器工作模式(用户和系统模式及5种异常模式)。
疑问1314:可见的寄存器有18个。R13~R14,user、fiq、irq、svc、undef这5个模式下影子寄存器个数为2*5个。算数开始:R0~R15,16个寄存器。R8~R12,5个FIQ模式下的分组(影子)寄存器。R13~R14,10个异常模式下的寄存器。R15,1个PC寄存器。CPSR正常模式1个寄存器,异常模式下有5个影子寄存器。计算开始:16+5+10+1+5=37。
2020-03-01
最新推荐文章于 2022-10-18 17:46:54 发布