小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
中断处理的过程
- 关中断:CPU 响应中断后,首先要保护程序的现场状态,在保护现场的过程中,CPU 不应响应更高级中断源的中断请求。否则,若现场保存不完整,在中断服务程序结束后,也就不能正确地恢复并继续执行现行程序。
- 保存断点:为保证中断服务程序执行完毕后能正确地返回到原来的程序,必须将原来的程序的断点(即程序计数器PC)保存起来。
- 中断服务程序寻址:其实质是取出中断服务程序的入口地址送入程序计数器PC。
- 保存现场和屏蔽字:进入中断服务程序后,首先要保存现场,现场信息一般是指程序状态字寄存器PSWR和某些通用寄存器的内容。
- 开中断:允许更高级中断请求得到响应。执行中断服务程序。这是中断请求的目的。关中断。保证在恢复现场和屏蔽字时不被中断。
- 执行中断服务程序:这是中断请求的目的。
- 关中断:保证在恢复现场和屏蔽字时不被打断。
- 恢复现场和屏蔽字:将现场和屏蔽字恢复到原来的状态。
- 开中断、中断返回:中断服务程序的最后一条指令通常是一条中断返回指令,使其返回到原程序的断点处,以便继续执行任务。