微微型计算机原理及应用课件第六章 中断.ppt

微微型计算机原理及应用课件第六章 中断.ppt

  1. 1、本文档共95页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(2)将中断子程序的入口地址置入中断向量表的相应表项中 设选择的向量号为n,其置入方法有两种:一是用数据传送指令将中断服务子程序入口的相对地址存放在物理地址为4×n的字单元中,将中断服务子程序入口的段地址存放在物理地址为4×n+2的字单元中。二是采用DOS中设置新中断向量的中断功能(25功能),即: 向量号 21H 功能号 25H 入口参数:DS=中断服务子程序入口段地址; DX=中断服务子程序入口相对地址; AL=新增的向量号。 * 使程序驻留内存,要求该程序以.COM形式运行,因为.COM程序将定位于低地址区,DOS常在低地址区增加驻留程序,而.EXE将定位于高地址区。使程序驻留内存的方法是采用DOS的中断调用,即:向量号21H 功能号31H 入口参数:DX=驻留程序字节数; 该功能使当前程序的DX个字节驻留内存并返回DOS。 * 例:在微机中增加一中断服务子程序,其向量号为50H,其功能是BX内容增1。 C SEGMENT ASSUME CS:C ORG 100H B: MOV AX,SEG SUBP MOV DS,AX MOV DX,OFFSET SUBP MOV AH,25H MOV AL,50H INT 21H ;建立50H中断向量表项 MOV DX,N MOV AH,31H INT 21H ;中断服务程序驻留内存并返回DOS SUBP PROC FAR INC BX IRET SUBP ENDP N EQU $ C ENDS END B  * 在IBM PC/XT机中,只用1片8259A中断控制器,用来提供8级中断请求,其中IR0优先级最高,IR7优先级最低。它们分别用于日历时钟中断、键盘中断、保留、网络通信、异步通信中断、硬盘中断、软盘中断及打印机中断。8259A片选地址为20H、21H。 8259A 的使用步骤如下: 1. 初始化 2. 送中断向量入口地址 3. 中断子程序结束 4. 中断嵌套 * MOV AL, 13H ;写ICW1,单片,边沿触发,要ICW4 OUT 20H,AL MOV AL,8 ;写ICW2,中断类型号从8开始  OUT 21H,AL MOV AL,0DH ;写ICW4,缓冲工作方式,8088/8086配置 OUT 21H,AL MOV AL,0 ;写OCW1,允许IR0~IR7全部8级中断请求 OUT 21H,AL * 例如,异步通信中断IR4,其中断向量类型码为8+4=12(0CH),则中断入口地址的偏移量(IP值)与段基址(CS)在入口地址表中的存放地址为12×4=48(30H),49(31H),50(32H),51(33H)。其中30H、31H存放指令指针IP;32H,33H存放指令段码CS。 * 由于8259A采用中断工作方式,且ICW4中的D1位(即AEOI)为0,这意味着采用正常结束中断,因此,在中断子程序结束前必须发EOI命令和IRET命令。 MOV AL,20H ;写OCW2命令,使ISR相应位复位(即发EOI命令) OUT 20H,AL IRET ;开放中断允许,并从中断返回  * 为了使中断嵌套,即在中断响应过程中,允许比本中断优先级高的中断进入,只要在进入中断处理程序后,执行开中断指令STI即可达到此目的。 * 二、IBM PC/XT的中断调用 类型0~4为专用中断,中断的入口地址已由系统定义,用户不能修改。类型5~1F、20~3F为系统使用中断,Intel公司已开发使用了其中的大部分。类型8~F为8259A中断向量,类型10~1F为BIOS专用中断向量。类型20~3F为DOS中断调用,其中类型21为系统DOS功能调用号。其余的中断类型码,从40起原则上供用户使用,不过实际上,某些中断类型码目前已经有指定的用途,如70~77用于从片8259A,80~85用于BASIC程序。 * 从8259 IRQ8 IRQ9 IRQ10 IRQ11 IRQ12 IRQ13 IRQ14 IRQ15 主 8259 IRQ0 IRQ1 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 INT 至CPU INT 中 断 路 由 器 IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 IRQ2 ISA总线 PCI 总 线 PCI 总 线 系统时钟 键盘 芯片组 * 中断系统由两片8259,一个中断路由器构成 从8259的中断申请与主8259的IRQ2相连 ISA总线上有6个中断申请,其中IRQ2连至从8259的IRQ9 系统

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档