汇编语言王爽第四版9.3
时间: 2023-10-03 20:06:49 浏览: 56
9.3 微处理器的中断系统
中断是微处理器与外部设备通信的重要方式之一。当外部设备需要处理器的服务时,可以通过中断来请求处理器执行相应的程序。微处理器根据中断的优先级,暂停当前正在执行的程序,转而执行中断服务程序,处理完毕后再返回原来的程序继续执行。
在微处理器中,中断是由中断请求信号(INTR)引起的。当INTR信号为高电平时,微处理器就会暂停当前的程序,执行中断程序。中断服务程序执行完毕后,需要通过中断返回指令(IRET)将处理器状态恢复到中断前的状态,然后再返回到原来的程序继续执行。
中断请求信号可以来自于外部设备,也可以来自于处理器内部。在外部设备中断请求信号(IRQ)中,共有15个可编程的中断请求引脚,编号从0到15。其中,IRQ0~IRQ7是可屏蔽中断,可以通过设置中断屏蔽寄存器(IMR)来屏蔽或打开这些中断。IRQ8~IRQ15是不可屏蔽中断,这些中断无法被屏蔽。
在处理器内部,常见的中断有除法错误中断、调试中断、非屏蔽中断、软件中断等。除法错误中断是在进行除法运算时发生除数为0的错误时触发的中断;调试中断是在进行软件调试时触发的中断;非屏蔽中断是处理器内部错误或系统故障时触发的中断;软件中断是由程序通过软件指令触发的中断。
在编写中断服务程序时,需要注意以下几点:
1、中断服务程序需要保存现场,包括通用寄存器、标志寄存器、堆栈指针等,以便在执行完中断服务程序后能够正确返回到原程序。
2、中断服务程序需要清除中断标志,以便处理器能够接收下一个中断请求。
3、中断服务程序需要尽可能快地执行完毕,避免影响其他程序的运行。
4、中断服务程序需要保证可重入性,即能够在多个中断同时发生时正确地执行。
5、中断服务程序需要正确地处理中断请求,避免误判或漏判中断请求。
总之,中断是微处理器与外部设备通信的重要方式之一,编写中断服务程序需要注意许多细节,才能确保程序的正确性和稳定性。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)