第一章 ARM 概述及其基本编程模型 1
4 ARM 处理器模式 处理器模式 描述 用户模式(User,uer) 正常程序执行的模式 异常模式 快速中断模式(FIQ,fiq) 用于高速数据传输和通道处理 特权模式,可访问所以系统资源,及处理器模式切换 外部中断模式(IRQ,irq) 用于通常的中断处理 特权模式(Supervisor,sve) 供操作系统使用的一种保护模式 数据访问中止止模式(Abort,abt) 用于虚拟存储以存储保护 未定义指令中止模式(Undefind,und) 用于支持通过软件仿真硬件的协处理器 系统模式(System,sys) 用于运行特级的操作系统任务 1.5 ARM 寄存器介绍 1
1 通用寄存器 未备份寄存器(The unbanked registers) R0~R7
在所有的处理器模式下使用同一个物理寄存器
备份寄存器(The banked registers)R8~R14
R8~R12 每个寄存器有两个不同的物理寄存器
R13~R14 每个寄存器对应 6 个不同的物理寄存器
用户模式和系统模式共用一个
区分各个物理寄存器: R13_通常作为栈指针 Mode : usr , svc , abt , und , irq 及fiq
R14 连接寄存器
存放当前子程序的返回地址
异常中断发生时,设置成该异常模式将要返回的地址
程序计数器 R15 指向当前指令的下两条指令的地址
3 程序状态寄存器 CPSR(当前程序状态寄存器)可以在任何处理器模式下被访问
每一种处理器模式下都有一个专用的物理状态寄存器,称为SPSR(备份程序状态寄存器),当特定的异常中断发生时,存放 CPRS 的内容
CPRS 的格式 31 30 29 28 27 26 7 6 5 4 3 2 1 0 N Z C V Q DNM(RAZ) I F