3.如果中断嵌套是按照第2点中的前者,也就是高优先级中断立即打断低优先级中断的执行的话,那么用汇编编写中断处理程序时,是否需要自己对用到的寄存器进行入栈保护?因为处理器只是在第一次进入异常或中断时,才自动保存第1点中提到的8个寄存器.
发生低优先级中断后处理器自动将xPSR,PC,LR,R12,R3,R2,R1,R0进行压栈并开始执行低优先级中断程序。 发生抢占的时候,高优先级中断立即打断低优先级中断的执行,同时处理器自动将xPSR,PC,LR,R12,R3,R2,R1,R0进行压栈并执行高优先级中断程序。 等高优先级的中断执行完后,自动将xPSR,PC,LR,R12,R3,R2,R1,R0进行出栈,继续执行低优先级的中断。 等低优先级的中断执行完,自动将xPSR,PC,LR,R12,R3,R2,R1,R0进行出栈。
|