当异常产生,处理器进入一个异常程序、退出异常时需进行哪些操作?
参考答案:
答:当一个异常出现以后,处理器在处理进入异常和退出异常时会分别执行以下几步操作:
1)进入异常
(1)把断点处的下一条指令的地址保存到相应的R14寄存器中。
(2)把状态寄存器CPSR的值复制到相应的SPSR寄存器中,以保存断点处的状态。
(3)根据异常模式,把CPSR寄存器的模式位M[4:0]设置成对应的值。
(4)自动使PC指向相关的异常向量,从该向量地址处取一条指令进行执行。
2)退出异常
(1)将保存在R14寄存器的值再回送到PC中。
(2)再将SPSR寄存器的值送回到CPSR寄存器中。
(3)对中断禁止位标志进行清除。