8088/8086中断系统解析:中断控制器与程序设计

版权申诉
0 下载量 50 浏览量 更新于2024-07-02 收藏 890KB PDF 举报
"微型计算机课件:第6章 中断控制器3.pdf,涵盖了中断程序设计、中断向量的处理以及8088/8086中断系统的详细内容。" 在微型计算机系统中,中断是一种重要的处理机制,用于处理突发事件和提供多任务环境。中断控制器在其中扮演了关键角色,例如8259A Programmable Interrupt Controller (PIC)。本课件重点讲解了中断控制器的使用和中断程序的设计。 1. 中断向量的保存、设置和恢复: 中断向量是中断处理程序的入口地址,包含服务程序的段基址和偏移地址。当CPU响应中断时,会根据中断类型码找到相应的中断向量。中断类型码乘以4得到中断向量在中断向量表中的地址,然后读取这个地址的四个字节到IP和CS寄存器,使得CPU可以跳转到中断处理程序。中断向量的保存和恢复涉及在中断处理开始前保存当前的程序状态,包括中断标志位(IF)和其他寄存器内容,然后在处理结束后恢复这些状态。 2. 软中断程序设计: 软中断是通过执行特定的软件中断指令(如INT n)触发的。这些指令允许程序员直接请求CPU执行特定的服务,如系统调用。 3. 可屏蔽硬中断程序设计: 可屏蔽中断(如INTR引脚上的中断请求)可以通过设置或清除标志寄存器中的中断标志位(IF)来启用或禁用。STI指令打开中断,使CPU能够响应INTR引脚上的中断请求,而CLI指令关闭中断,阻止响应。 4. 中断嵌套问题: 中断嵌套是指一个中断处理过程中发生另一个中断的情况。8086/8088CPU可以处理中断嵌套,但需要妥善管理中断向量和中断处理的优先级,以确保正确恢复中断链。 5. 中断向量的保存和恢复问题: 在中断处理期间,必须保存中断向量,以防止被新的中断覆盖。同时,在中断处理结束后,需要恢复原来的中断向量,以确保系统能正常返回到先前的状态。 8088/8086中断系统包括多种类型的中断:内部中断、外部中断、除法错、溢出、单步和软件中断。其中,非屏蔽中断(NMI)不能被IF标志位屏蔽,而可屏蔽中断(INTR)则可以通过IF来控制。中断逻辑处理中断请求,并通过中断控制器(如8259A PIC)进行管理和优先级排序。 中断向量表是中断处理的核心,位于内存的00000H到003FFH区域,总共1KB大小,每个中断向量占用4个字节。中断类型码作为中断向量的索引,可以直接计算出中断向量在表中的位置,从而找到中断服务程序的入口。 中断控制器和中断程序设计是微型计算机系统中不可或缺的部分,它们协调硬件和软件之间的通信,确保系统能及时、有效地响应各种事件。理解和掌握中断机制对于深入理解计算机系统的工作原理至关重要。