ARM处理器的工作模式
非特权模式
- User : 非特权模式(也叫用户模式),大部分任务执行都在这种模式。用户模式
特权模式 - FIQ : 当一个高优先级(fast)中断产生时将会进入这种模式。 快速中断
- IRQ : 当一个低优先级(normal)中断产生时将会进入这种模式。 普通中断
- Supervisor(SVC) : 当复位或软中断指令执行时将会进入这种模式。 管理者模式
- Abort : 当存取异常时将会进入这种模式。
- Undef : 当执行未定义指令时会进入这种模式。
- System : 使用和User模式相同寄存器集的特权模式 系统模式
ARM的37个寄存器
1、ARM总共有37个寄存器,但是每种模式下最多只能看到18个寄存器,其他寄存器虽然名字相同但是在当前模式不可见。
2、对r13这个名字来说,在ARM中共有6个名叫r13(又叫sp)的寄存器,但是在每种特定处理器模式下,只有一个r13是当前可见的,其他的r13必须切换到他的对应模式下才能看到。这种设计叫影子寄存器(banked register)。


- N = ALU运算时得到一个负结果

本文详细介绍了ARM处理器的七种工作模式,包括User、FIQ、IRQ、Supervisor、Abort、Undef和System模式,以及在不同模式下的寄存器使用,特别是37个寄存器中的影子寄存器概念。此外,还讨论了异常处理流程和中断的处理方式,以及在编程中如何利用条件执行后缀来实现特定操作。
987

被折叠的 条评论
为什么被折叠?



