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的异常中断发生时,处理器将程序计

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

被折叠的 条评论
为什么被折叠?



