屌丝学arm汇编-03-arm模式和cpsr

本文介绍了ARM架构中的7种运行模式和37个寄存器,重点讲解了共用寄存器和各模式特有的寄存器。此外,详细解析了CPSR寄存器的4个主要域,包括条件位、中断禁止位和处理器模式位。同时,提到了Thumb和ARM状态下的模式位和寄存器分布,并给出了切换ARM模式的示例代码。
摘要由CSDN通过智能技术生成

1.ARM有7种模式和37个寄存器【引用了一些网上的现有的比较好的图片,向图片作者致敬】


以上图标黑色部分为共用的部分。USR和SYS共用同一个寄存器集。

(1)共同寄存器集合:R0-R7,PC,CPSR

(2)除了USR/SYSTEM其他模式具有自己的 SP,LR和SPSR,用来备份当前模式的堆栈,程序状态,及CPSR。

2.CPSR的解析

        

       CPSR由上可以分为4个域:F,S,X,C,其中F,C域最重要。

条件位:
N = Negative result from ALU 
Z = Zero result from ALU
C = ALU operation Carried out
V = ALU operation oVerflowed

Q 位:

仅ARM 5TE/J架构支持仅ARM  xT架构支持

T Bit
指示饱和状态 T = 0: 处理器处于 ARM 状态T = 1: 处理器处于 Thumb 状态
J 位
仅ARM 5TE/J架构支持 处理器模式位
J = 1:  处理器处于Jazelle状态

中断禁止位:

I  = 1: 禁止  IRQ. 

F = 1: 禁止  FIQ.

Mode位:指示ARM的模式

3.Thumb和ARM状态下各个模式的Mode位和寄存器分布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值