一: arm体系中断模式
@1: FIQ 快速中断模式
@2:IRQ中断模式
@3: SVC 管理模式 ------操作系统的保护模式
@4:USR 用户模式 -----ARM处理器正常的运行状态
@5:SYS 系统模式 ---运行某些特权的操作系统任务
@6:UND 未定义指令终止模式
@7: Abt : 数据访问终止模式
除了用户模式,其他六种都属于特权模式,正常情况下程序都运行在用户模式下。
另外ARM有两种工作状态:
1:ARM 工作状态;指计算机运行32位指令
2:Thumb状态:指计算机运行在16位指令
ARM920T有31个32位的通用寄存器,6个状态寄存器,总共37个寄存器。这37个寄存器分为7组。每组16个通用寄存器和一个状态寄存器或者2个状态寄存器。其中每种工作模式下都有自己的副本,当切换到另一种模式时,这个副本将被使用。这些寄存器又被称作备份寄存器
下图是7种工作模式寄存器的分组情况
图中R0和R15可以直接访问,即R0-R15即可以存数据又可以存地址。其中R13--R15稍微特殊一些。其中R13是存放当前模式下所保存的栈的指针,所以R13又称作栈指针寄存器。当执行BL子程序调用的指令,R14得到R15(程序计数器PC)的备份,而当发生中断或者异常时候对应的R14会保存R15的返回值,所以R14称为程序连接器。R15是程序计数器。
每种工作