ARM7 响应异常处理时的断点返回地址计算

本文详细介绍了ARM7处理器在响应Reset、FIQ、IRQ和ABT异常时的处理流程,特别是异常模式下R14寄存器的使用以及返回地址的计算。在中断处理程序退出时,通过SUBS PC, LR, #4指令实现返回,确保程序正确执行后续指令。" 78822269,7342547,C语言编程实践:排序与查找算法,"['C语言', '算法', '字符串处理', '数学运算', '数据结构']
摘要由CSDN通过智能技术生成

ARM处理器对异常的响应过程可用伪代码描述如下:

 

R14_<exception_mode>=return link
SPSR_<exception_mode>=CPSR
CPSR[4:0]=exception mode number
CPSR[5]=0 /* 当运行于ARM状态时 */
if <exception_mode> == Reset or FIQ then
CPSR[6]=1 /* 禁止新的FIQ中断 */
CPSR[7]=1 /* 禁止新的IRQ中断 */
PC = exception vector address

 

注意:异常发生时异常模式R14的定义是PC-4。

 

 

 

 

IRQ、FIQ和ABT(指令预取)异常中断处理程序的返回
发生IRQ或者FIQ异常中断时&

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值