欢迎来到天天文库
浏览记录
ID:56990435
大小:271.50 KB
页数:35页
时间:2020-07-25
《微机原理-第5版(周荷琴)-第八章课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《微型计算机原理与接口技术》第5版第8章中断和可编程中断控制器8259A本章主要内容:§8.1中断§8.28259A的工作原理§8.38259A应用举例§8.1中断8.1.1中断概念和分类8.1.2中断的响应与处理过程8.1.1中断概念和分类1.中断的定义和功能中断定义:计算机在执行正常程序过程中,暂时中止当前程序的运行,转到中断处理程序去处理临时发生的事件,处理完后又恢复原来程序的运行,这个过程称为中断(Interrupt)。中断功能:使CPU和外设在部分时间内并行工作,大大提高CPU的利用率;在实时控制系统中,现场数据可及时接收处理,避免丢失;故障的处理,如电
2、源掉电、奇偶校验错、运算中溢出错等;利用中断指令,直接调用大量系统已编写好的中断服务程序,实现对硬件的控制。1.中断的定义和功能2.中断源和中断分类引起中断的原因或能发出中断请求的来源称为中断源。8086有两种中断源,中断分为两大类:1)外部中断或硬件中断,从不可屏蔽中断引脚NMI和可屏蔽中断引脚INTR引入;2)内部中断或软件中断,是为解决CPU运行过程中出现的一些意外事件或便于程序调试而设置的。图8.1IBMPC机中8086的中断分类和中断源2.中断源和中断分类1)外部中断不可屏蔽中断NMI,处理较紧急的情况,如存储器或I/O校验错、掉电、协处理器异常中断请求
3、等,不受中断标志IF的影响。可屏蔽中断由8259A的INT引脚输出,连到CPU的INTR上。只有当CPU的FLAGS的IF=1时,才允许响应此类中断请求。8259A的输入引脚IR0~IR7可引入8级中断:时钟、键盘、串行通信口COM1和COM2、硬盘、软盘、打印机。经芯片内部判别后,将优先级高的中断请求信号送到INT引脚。2.中断源和中断分类2.中断源和中断分类2)内部中断(1)除法错中断执行除法运算指令时,如除数为0或商超过了结果寄存器能容纳的范围,则产生除法错中断。(2)单步中断单步标志TF置1,指令执行完后,产生单步中断。结果是将CPU的内部寄存器和有关存储
4、器的内容显示出来,便于跟踪程序的执行过程,实现动态排错。2.中断源和中断分类8086没有直接使TF标志置1或清0的指令,如何使TF标志置1或清0?使TF标志置1的程序段:PUSHF;标志寄存器FLAGS入栈POPAX;AX←FLAGS内容ORAX,0100H;使AX(即标志寄存器)的;D8=1,其余位不变PUSHAX;AX入栈POPF;FLAGS寄存器←AX用类似方法将标志寄存器与FEFFH相与,可使TF标志清0,从而禁止单步中断。2.中断源和中断分类(3)溢出中断溢出标志=1,则可由溢出中断指令INTO产生中断类型号为4的溢出中断。若OF=0,不会产生中断。带符
5、号数加、减指令后应安排一条INTO指令,一旦溢出就能及时向CPU提出中断请求,CPU响应中断后可进行相应的处理。2.中断源和中断分类(4)软件中断指令INTn中断类型号n=0~255。它可以安排在程序的任何位置上。(5)断点中断程序运行到断点时便产生中断,像单步中断一样,查看各寄存器和有关存储单元的内容。断点可设在程序任何地方并可以设多个断点,设置的方法是插入一条INT3指令。利用断点中断可以调试一段程序,比单步中断的调试速度快得多。3.中断向量表1)中断响应和返回CPU响应中断时,首先要把CS、IP寄存器的值(断点)以及标志寄存器FLAGS的值推入堆栈保护。然后
6、找到中断服务程序的入口地址,转去执行相应的中断服务程序。中断服务程序结束时,执行中断返回指令IRET返回正常程序继续执行。如何寻找中断服务程序的入口地址,是中断处理过程中的一个重要环节。3.中断向量表2)中断向量表中断向量表用来存放中断服务程序的入口地址。8086可处理256(0~FFH)类中断,每类中断有一个入口地址(中断向量),包含CS和IP,共4个字节。因此存储256个地址,需要占用1K字节,它们位于内存00000~003FFH的区域中。将中断类型号n乘以4就能找到规定类型的中断向量,规定IP在前,CS在后。类型号为0~4的专用中断:0-除法错中断、1-单步
7、中断、2-不可屏蔽(NMI)中断、3-断点中断和4-溢出中断,它们的中断向量分别存放在00H、04H、08H、0CH和10H开始的4个连续单元中。3.中断向量表例如,对n=2的NMI中断,其中断服务程序的入口地址放在00008~0000BH单元中,入口地址的CS存放在0000AH开始的字单元中,IP存放在00008H开始的字单元中。在PC机中,在8259A的中断输入端IR0~IR7引入的中断类型号为08~0FH,如何求它们的中断服务程序入口地址?存放在中断向量表中的什么位置上?3.中断向量表3.中断向量表举例说明中断类型号n与中断向量表的关系。例8.1类型号n=4
8、4H的中断
此文档下载收益归作者所有