- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
查找中断向量 中断类型号乘4就是中断向量在中断向量表中的开始地址。CPU响应中断时,根据中断类型号n,找到中断服务程序的入口地址4n。然后将4n和4n+1单元中的内容送IP,将4n+2和4n+3单元中的内容送CS,从而转向中断服务程序的入口地址。 (IP)=(中断类型*4+1)(中断类型*4) (CS)=(中断类型*4+3)(中断类型*4+2) 中断向量表 ? 256类中断,中断向量表长1K字节,在内存最低端 ?没有完全使用 ?不是一定要指向程序 若干说明 ?8086/8088最多能处理256种不同的中断类型,前5个中断类型(地址00000H ~00017H)是系统专用的;第6 ~1FH号中断类型(地址00018H ~0007FH),为BIOS调用;第20H~3FH号中断类型(地址00080H ~000FFH),为DOS调用;40H号以后的中断类型,可由用户程序使用。 中断向量表 MOV AX,0 MOV DS,AX MOV BX,n*4 CLI MOV WORD PTR [BX],OFFSET INTHAND MOV WORD PTR [BX+2],SEG INTHAND STI 设置中断向量:假设中断处理程序的入口地址标号为INTHAND 直接访问中断向量表 设置和获取中断向量 中断向量表 设置中断向量(25H号功能调用) 入口参数: AL=中断向量(类型)号 DS=中断处理程序入口地址的段值 DX=中断处理程序入口地址的偏移 利用DOS功能调用 设置和获取中断向量 中断向量表 MOV AX,SEG INTHAND MOV DS,AX MOV DX,OFFSET INTHAND MOV AH,25H MOV AL,n INT 21H 利用DOS功能调用 设置和获取中断向量 中断向量表 常用中断类型与功能对照表(一) 中断向量表 中断类型号 地址(H) 中断功能 中断类型号 地址(H) 中断功能 20 80-83 程序结束 26 98-9B 绝对磁盘写 21 84-87 DOS系统调用 27 9C-9F 程序结束,驻留内存 22 88-8B 结束地址 28 A0-A3 DOS内部使用 23 8C-8F 中止处理 29~2E A4-BB DOS保留 24 90-93 错误处理 2F BC-BF DOS内部使用 25 94-97 绝对磁盘读 30~3F C0-FF DOS保留 常用中断类型与功能对照表(二) 中断向量表 通常CPU在执行完每一条指令后均要检测是否有中断请求,在有中断请求且满足一定条件时就响应中断。 中断响应过程 将中断类型码乘4,指向中断向量; 将标志寄存器FR压入堆栈(保存CPU的状态); 清除IF和TF的状态标志位(屏蔽INTR和单步标志); 把CS和IP压入堆栈(保存断点); 将中断向量的低2字节送IP,高2字节送CS(转中断处理子程序的入口地址); (IP)=(中断类型*4+1)(中断类型*4) (CS)=(中断类型*4+3)(中断类型*4+2) 执行中断处理子程序。 从堆栈中弹出两个字节到IP;从堆栈中弹出两个字节到CS(恢复断点)。 中断响应要点 中断响应过程 设置中断请求触发器,发出中断请求信号 设置中断允许触发器,当此触发器为“1”时,允许外设的中断请求才能被送出至CPU。 CPU处于开中断状态。 CPU在一条现行指令结束之后响应中断。 中断响应条件 中断响应过程 在中断响应的过程中,由硬件自动完成如下工作 (1)取得中断类型号; (2)把标志寄存器内容压入堆栈; (3)禁止外部中断和单步中断(使IF和TF标志位为0); (4)把下一条要执行指令的地址(中断返回地址)压入堆栈(CS和IP内容压入堆栈); (5)根据中断类型号从中断向量表中取中断处理程序入口地址; (6)转入中断处理程序。 中断响应过程 中断响应过程中堆栈变化 中断响应过程 中断 断点 IRET 中断服务子程序 主程序 自动关中断 保护PSW 保护断点 获取中断向量 保护现场 中断处理 恢复现场 恢复PSW 恢复断点 开中断 中断优先级和中断嵌套 中断响应过程 可编程中断控制器8259A (PIC---Programmable Interrupt Controller) 8259A的功能: (1)每一个8259A芯片都能直接管理8级中断,最多可以用9片8259A芯片级连,由其构成级连机构可以管理64级中断。 (2)对任何一级的中断源可单独进行屏蔽。 (3) 8259A从数据总线D7~D0
原创力文档


文档评论(0)