关于中断的碎碎念

xiaoxiao2021-02-28  76

看了一下中断压栈和调用函数压栈的内容,

中断压栈时,需要对所有的寄存器进行压栈,因为进入内核态时,不知道具体会使用那些寄存器,因此只能一次把所有的都保存了;调用函数时,因为编译器实现已经知道了调用函数会需要使用那些寄存器,因此只需要调用函数对需要调用的函数进行压栈即可。

arm在中断时,除了要保存通用寄存器,还要保存LR,和CPSR,LR用于保存原来下一条指令的地址,而CPSR用于保存之前系统的工作状态。

理解这些根本上还是为了硬件实现时,中断单元如何实现。

转载请注明原文地址: https://www.6miu.com/read-57577.html

最新回复(0)