中断处理过程:
1. 某一中断源向CPU发起中断请求,对于外部中断CPU在当前指令最后一个时钟周期查询中断请求信号的有效性,在系统开中断的情况下,CPU向中断源回送中断应答信号,系统进入中断响应周期。(CPU对系统内部中断源提出的中断请求必须响应,而且自动取得中断服务子程序的入口地址,执行中断服务子序;
2. CPU响应中断后,将状态标志寄存器压入堆栈保护;
3. 再将其中的中断标志位清除从而关闭中断;
4. CPU将当前CS(代码段地址)和IP(将要执行的下一条地址)压入堆栈保护断点;
5. CPU确定提出请求的中断源,获得中断向量号,在对应的中断向量表获得中断入口地址, 装入CS和IP中;
6. 将断点处各寄存器的内容压入堆栈保护现场;
7. 此时程序跳转至中断服务子程序执行;
8. 中断处理完毕,将堆栈各寄存器内容弹栈,恢复断点处各寄存器的值;
9. 在中断服务子程序最后安排一条返回指令,执行该指令将堆栈中CS和IP的值弹出,恢复主程序断点处地址值,同时恢复标志寄存器的内容。程序转至被中断的程序继续执行。
更多关于“物联网培训”的问题,欢迎咨询千锋教育在线名师。千锋教育多年办学,课程大纲紧跟企业需求,更科学更严谨,每年培养泛IT人才近2万人。不论你是零基础还是想提升,都可以找到适合的班型,千锋教育随时欢迎你来试听。