新闻| 论坛| 博客| 在线研讨会
ARM中各种异常模式的进入和返回
patton| 2008-06-29 16:50:02 阅读:7627 发布文章

入口地址
异常
相应的处理器模式
LR中存储的地址*
是否禁止IRQ
是否禁止FIQ
0x00
复位异常
svc
N/A
ü
ü
0x04
未定义指令异常
und
PC-4
ü
0x08
软件中断异常
svc
PC-4
ü
0x0c
预取指中止异常
abt
PC
ü
0x10
数据中止异常
abt
PC
ü
0x14
保留
ü
0x18
中断请求异常
irq
PC
ü
0x1c
快速中断请求异常
fiq
PC
ü
ü
(* 这里仅讨论三级流水线结构的ARM处理器,采用ARM指令)
1、 在进入异常时,处理器完成以下工作(由硬件完成):
u 保存相应的地址到LR(参见上表)
u 保存CPSR到SPSR
u 修改CPSR中的:
² T位:强制进入ARM状态(相对于THUMB状态)
² I位:禁止IRQ
² M[4:0](模式位):进入相应的处理器模式
² F位:在复位异常和快速中断请求异常发生时,需要禁止FIQ
2、 在退出异常时,程序完成以下工作(由软件完成):
u 恢复保护的寄存器(if necessary)
u 复制SPSR到CPSR
u 开启屏蔽的中断(if necessary)
u 从LR中获取返回地址(可能需要进行相应的计算),并赋给PC,返回

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客