- 1、本文档共765页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
主8259 中断源 中断类型 从8259 中断源 中断类型 IR0 日时钟 08H IR0 实时时钟 70H IR1 键盘 09H IR1 用户中断 71H改向0AH IR2 从8259 IR2 保留 72H IR3 辅串口 0BH IR3 保留 73H IR4 主串口 0CH IR4 保留 74H IR5 并行口2 0DH IR5 协处理器 75H IR6 软盘 0EH IR6 硬盘 76H IR7 并行口1 0FH IR7 保留 77H 使用2片8259级连,管理15级中断 中断源与中断类型 硬件可屏蔽中断的中断级别 主8259 中断源 中断级别 从8259 中断源 中断级别 IR0 日时钟 最高 次高 高 最低 IR0 实时时钟 高 低 IR1 键盘 IR1 用户中断 IR2 从8259 IR2 保留 IR3 辅串口 IR3 保留 IR4 主串口 IR4 保留 IR5 并行口2 IR5 协处理器 IR6 软盘 IR6 硬盘 IR7 并行口1 IR7 保留 系统分配的8259口地址 中断屏蔽寄存器 口地址 接收中断结束命令的寄存器口地址 主8259 21H 20H 从8259 A1H A0H 中断结束命令 ①?命令字=20H ② 接入主8259 IR0 ~IR7的中断源 其服务程序结束要向主8259送中断结束命令字 MOV AL,20H OUT 20H,AL 恢复现场 IRET … … MOV AL,20H OUT 20H,AL OUT 0A0H,AL 恢复现场 IRET ③接入从8259的中断源,其服务程序结束应分别向 主、从8259各送一个中断结束命令字 。 ① 中断的引发方式不同 ② CPU获取中断类型码的方式不同 ③ CPU响应的条件不同 中断处理程序的结束方式不同 3.硬件中断和软件中断的区别 4. 硬件可屏蔽中断例 ※ 中断源: 系统8254 0#计数器,每55ms有一次中断请求 ※ 中断类型: 8型 (1)日时钟中断 CPU转入8型中断后,完成下列工作 ①?开中断,保护现场(DS…压栈) ②?40H →DS,对“日时钟计数器”加1 ③?测算软驱马达关闭时间 IRET 1CH服务程序 ⑤?向主8259送中断结束命令 ⑥恢复现场,IRET ④?执行INT 1CH ※ 日时钟中断处理流程: ※ 什么是“日时钟计数器” BIOS系统规定:40H:6CH~40H:6FH这4个单元 (共32位)为日时钟计数器,每55ms加1次,计数 到:001800B0H,为24小时,其计数值供系统软件使用。 系统启动时CPU执行BIOS中的一段程序,读取CMOS实 时时钟电路的时间值→计数值→40:6CH~40:6FH做 为日时钟计数器的计数初值。 ※关于1CH服务程序 8#服务程序,每隔55ms在DS=40H的前提下,调用一次1CH服务程序,之后又返回8型!! 所以1CH中断是日时钟的外扩中断,用户可开发新的1CH中断(完成每55ms一次的定时操作)取代原来的中断服务子程序。 IRET 1CH服务程序 (2)用户中断 ※ 中断源: 系统总线插槽B4端引入的用户设计的硬件中断请求信号 ※用户中断请求的途径 用户 中断 请求 80X86 INTR IR2 INT IMR 主8259 INT IR1 IMR 从8259 用户中断请求从ISA总线B4端子(IRQ9)引入,经过主8259,从8259二级中断管理,最后由主8259向CPU提中断。 只有从8259IMR1置0,主8259IMR2置0,其中断请求方能送到CPU。 B4 ~ ~ 实现用户中断必须对主、从8259应用编程,保证中断申请由8259中断控制器提向CPU IN AL,0A1H AND AL OUT 0A1H,AL ;开放用户中断 IN AL,21H AND AL OUT 21H,AL ;开放从8259中断 BIOS为“71H型”设计的服务程序如下: PUSH AX MOV AL,20H OUT 0A0H,AL POP AX INT 0AH 待开发 用户服务程序 IRET ※用
文档评论(0)