Chinaunix首页 | 论坛 | 博客
  • 博客访问: 100823
  • 博文数量: 60
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 651
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-03 10:45
文章分类
文章存档

2014年(11)

2013年(49)

我的朋友

分类: IT业界

2013-12-05 15:32:11

 当发生异常时,ARM处理器对异常中断的响应过程如下:

 1、将CPSR的内容保存到将要执行的异常中断模式的SPSR中。例如,如果异常类型是FIQ,则SPSR_FIQ=CPSR,

 2、设2当前程序状态寄存器CPSR中的模式字段位。

 3、将异常发生时程序的下一条指令地址保存到新的异常模式的R14(也就是LR)寄存器。

 注意,异常发生时程序的下一条指令地址就是断点地址,其地址值应该是K+4。这个值将被保存到LR寄存器中。由于异常类型有好几种,有的异常发生时PC已经被更新;另一部分异常发生时PC没有被更新,因此根据异常中断的类型不同,LR寄存器的值会有一条指令(4字节)地址的差异。

  文章由供应商小编原创,转载请注明文章来源出处,谢谢合作!
阅读(2442) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~