当一个异常发生时,ARM 发生以下的动作: 1. 拷贝CPSR寄存器的内容至对应模式下的 SPSR_<mode>寄存器 2. 将返回地址保存到对应模式下的 LR_<mode>寄存器 3. 对 CPSR 寄存器的一些标志位置位 1. 如果当前处理器处于Thumb 状态,那么会 转换到 ARM 状态 2. 处理器模式位 3. 中断屏蔽位 4. 将程序计数器(PC)拨到异常向量处 为了从异常模式返回, 异常 处理程序需要: • 将SPSR_<mode>的内 容重新加载到CPSR • 将返回地址加载到PC • 这同样需要在 ARM 状态 下完成