间切换,但 ARM 微处理器在上电或复位后,应该处于 ARM 状态。
执行 BX 跳转指令,将操作数的状态位(位 0)设置为 1 时,可以使处理器从 ARM 状态
切换到 Thumb 状态。此外,当处理器处于 Thumb 状态时发生异(如
IRQ、FIQ、Undef、Abort、SWI 等),则异常处理返回时,自动切换到 Thumb 状态。
执行 BX 跳转指令,将操作数的状态位(位 0)设置为 0 时,可以使处理器从 Thumb 状
态切换到 ARM 状态。此外,当处理器进行异常处理时,把 PC 指针放入异常模式链接寄存器
中,并从异常向量地址开始执行程序,也可以使处理器切换到 ARM 状态。
THUMB 指令集在功能上只是 ARM 指令集的一个子集,某些功能只能在 ARM 状态下执
行,如 CPSR 和协处理器的访问.
进行异常响应时,处理器会自动进入 ARM 状态.
即使是一个单纯的 THUMB 应用系统,必须加一个汇编的交互头程序,因为系统总是自动
从 ARM 开始启动。
58. ARM 处理器的寄存器 R13、R14、R15 的专用功能各是什么?寄存器 CPSR、SPSR 的功
能各是什么?
答:1)寄存器 R13 保存堆栈指针 SP;
2)寄存器 R14 用作子程序链接寄存器,也称为 LR;,用以保存返回地址;
3)R15(PC)用作程序计数器。¡
4)CPSR 包含条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。所
有处理器模式下都可以访问当前的程序状态寄存器 CPSR。
5)在每种异常模式下都有一个对应的物理寄存器——程序状态保存寄存器 SPSR。当异
常出现时,SPSR 用于保存¡¡CPSR 的状态,以便异常返回后恢复异常发生时的工作状态。
59. IRQ 中断处理程序可以执行指令 SUBS PC , R14_irq , #4 从 IRQ 中断返回,说明指令中
减 4 的原因。
答:三级流水线,产生 IRQ 后,PC 已经更新。
60. 简述 ARM 处理器对异常中断的响应过程。
答:返回地址、当前状态、修改模式。
61. 说明 ARM 寄存器中 R13,R14,R15 的特殊作用。
答:堆栈指针(SP),链接地址寄存器( LR),程序计数器( PC)
62. ARM 采用 RISC 体系结构。√