欢迎来到天天文库
浏览记录
ID:37973437
大小:265.50 KB
页数:5页
时间:2019-06-04
《《微机原理与汇编语言》课堂讲义(编号:005)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2011年10月12日星期三《微机原理与汇编语言》课堂讲义(编号:005)中断及中断功能的调用(1)1、中断源引起CPU中断的事件——中断源。中断源分为:外部中断、内部中断8086/8088的外部中断信号:INTR、NMIa)INTR——可屏蔽中断请求,高电平有效,受IF标志的控制。IF=1时,执行完当前指令后CPU对它作出响应。b)NMI——非屏蔽中断请求,上升沿有效,任何时候CPU都要响应此中断请求信号。2、计算机系统引入中断的原因提高数据传输率;避免了CPU不断检测外设状态的过程,提高了CPU的利用率;实现对特殊事件的实时响应。
2、3、中断过程与中断管理中断过程主要有:中断请求、中断判优、中断响应、中断服务、中断返回1)中断请求中断源发出中断请求信号,送到CPU的INTR或NMI引脚;中断请求信号应保持到中断被处理为止;CPU响应中断后,中断请求信号应及时撤销。2)中断源识别计算机中的中断源有很多,CPU必须识别是哪一个设备产生中断。识别中断源有两个方法:软件查询、中断矢量法(识别中断类型号)。3)中断判优对同时产生的中断:应首先处理优先级别较高的中断;若优先级别相同,则按先来先服务的原则处理;对非同时产生的中断:低优先级别的中断处理程序允许被高优先级别的中断源
3、所中断——即允许中断嵌套。中断优先级的控制方法:硬件判优——链式判优、并行判优(中断向量法)软件判优——顺序查询中断请求,先查询的先服务通常将中断判优与中断源识别合并在一起进行处理。链式判优电路原理图:《微机原理与汇编语言》课堂讲义(编号:005)第5页共4页2011年10月12日星期三4)中断响应在每条指令的最后一个时钟周期,CPU检测INTR或NMI信号。若NMI和INTR同时发生,则首先响应NMI。CPU中断响应时,要做下述三项工作:向中断源发出INTA#中断响应信号;断点保护,包括CS、IP和PSW(FLAGS)。这主要是保证
4、中断结束后能返回被中断的程序。获得中断服务程序首地址(入口地址):固定入口法、中断向量法。5)中断处理(中断服务)中断服务子程序特点:为”远”过程(类型为FAR)、要用IRET指令返回中断服务子程序要做的工作:n保护现场(PUSHreg’s)n开中断(STI)n进行中断处理n恢复现场(POPreg’s)n中断返回(IRET)6)中断返回IRET指令将使CPU把堆栈内保存的断点信息弹出到IP、CS和FLAG中,保证被中断的程序从断点处能够继续往下执行。与子程序调用相比,中断调用为硬件直接调用,需要往堆栈中多压入PSW标志寄存器值,并且用
5、IRET返回。《微机原理与汇编语言》课堂讲义(编号:005)第5页共4页2011年10月12日星期三4、8086的中断系统与中断有关的控制线为:NMI、INTR、INTA#8086/8088中断源类型:8086系统采用中断类型(向量)码来识别不同的中断源,每个中断源都有一个与它相对应的中断类型码。CPU响应INTR中断时,会产生两个中断响应总线周期,要求PIC在第2个中断响应总线周期把中断类型码放到数据总线上,供CPU读入。5、中断向量表(IVT)《微机原理与汇编语言》课堂讲义(编号:005)第5页共4页2011年10月12日星期三存
6、放各类中断的中断服务程序的入口地址(段和偏移);表的地址位于内存的00000H~003FFH,大小为1KB,共256个入口;每个入口占用4Bytes,低字为段内偏移,高字为段基址;根据中断类型号获得中断服务程序入口的方法:(n为中断类型号)中断向量在IVT中的存放地址=4×n。6、8086系统中各中断的优先级优先级从高到低顺序如下:内部中断、NMI、INTR、单步中断。7、8086/8088的中断处理流程详见下面的流程图:《微机原理与汇编语言》课堂讲义(编号:005)第5页共4页2011年10月12日星期三8、中断功能调用概述DOS中
7、断和BIOS中断使用方法:(1)将调用参数装入指定的寄存器。(2)如需功能调用号,把它装入AH。(3)如需子功能调用号,把它装入AL。(4)按中断号调用DOS或BIOS。(5)检查返回参数是否正确。9、键盘输入中断调用(ASCII码与扫描码)键盘和主机通过5芯电缆相连,这5根线分别是电源线、地线、复位线以及键盘数据线和键盘时钟线。PC机系列的键盘触点电路按16行×8列的矩阵来排列,通过数据线将8位扫描码送往主机。当在键盘上“按下”或“放开”一个键时,如果键盘中断是允许的(21H端口的第一位等于0),就会产生一个类型9的中断,并转入到B
8、IOS的键盘中断处理程序。该处理程序从8255可编程外围接口芯片的输入端口读取一个字节,这个字节的低7位是按键的扫描码。最高位为0或者为1,分别表示键是“按下”状态还是“放开”状态。按下时,取得的字节称为通码,放开时取得
此文档下载收益归作者所有