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

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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异常中断时,指令已经执行完毕,PC指向当前指令后面的第3条指令。因此IRQ或者FIQ的异常中断发生时,处理器将程序计

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值