- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章输入输出和中断程序设计
第十一章 8086的中断系统与系统功能调用
1.教学目的:掌握实模式下的中断程序设计的方法
2.教学要求:
①熟悉内部中断和外部中断,理解中断向量表的安排。
②掌握中断请求、中断判优、中断响应、中断处理和中断返回五个过程的原理。
③熟悉内部中断和外部中断,理解中断向量表的安排。
④掌握中断处理程序的设计
⑤掌握设置和获取中断向量的方法
⑥熟悉BIOS中断调用概念和调用方法
⑦熟悉DOS中断调用概念和调用方法
3.教学重点:
①中断处理程序的设计
4.掌握难点:
①中断处理程序的设计
5.教学进程安排:P207~P246
6.教学方法:
课堂讲授
7.教学内容摘要
11.1 中断传送
11.1.1 中断与中断源
1.中断
2.中断源
11.1.2 中断分类
1. 外部中断
2. 内部中断
⑴由中断指令INT引起的中断
⑵处理CPU某些错误的中断
⑶调试程序(DEBUG)设置的中断
①单步中断
②断点中断
4.80386~Pentium处理机异常中断
(1)失效
(2)陷阶
(3)中止
11.1.3 中断向量表
中断操作的5个步骤:
1.取中断类型号;
2.计算中断向量地址;
3.取中断向量,偏移地址送IP,段地址送CS;
4.转入中断处理程序;
5.中断返回到INT指令的下一条指令。
图11.5 中断向量表
11.1.4 中断响应过程
中断发生时,中断硬件机构自动完成的动作:
1.取中断类型号N;
2.标志寄存器(PSW)内容压栈;
3.当前代码段寄存器(CS)内容压栈;
4.当前指令指引(IP)内容压栈;
5.禁止外部中断和单步中断(置IF=0,TF=0);
6.从中断向量表中取4*n的字内容送IP,取4*n+2的字内客送CS;
7.转中断处理程序。
11.1.5 中断优先级与中断嵌套
1. 中断优先级
优先级从高到低的次序为:
优先级高 非屏蔽中断(NMI)
内部中断
可屏蔽中断(INTR)
优先级低 单步中断
2. 中断嵌套
11.1.6 中断指令
1. 软中断指令INT
指令格式:INT n
指令功能:转到相应中断处理程序执行,n为中断类型编号
2. 中断返回指令IRET
指令格式:IRET
指令功能:从中断服务程序返回主程序,主要是恢复中断前的CS、IP和FR的内容。
11.2 中断处理程序设计
利用软中断指令INT,可以进入系统的各个中断处理程序中去。因此,用户程序可以通过INT指令使用系统程序提供的中断功能,同时可以利用中断向量表中保留的中断类型号,编写自己所需的中断处理程序。对此本节将做详细介绍。
11.2.1 中断处理程序结构
1. 外中断处理程序
(1)保护现场:保护通用寄存器内容和除CS之外段寄存器的内容,保护方法一般是压栈;
(2)尽快完成中断处理,以免影响其他外设中断请求;
(3)恢复现场:
(4)中断返回,用IRET指令返回。
2. 软中断处理程序
⑴考虑切换堆栈
⑵及时开中断
⑶应该保护现场
⑷完成中断处理
⑸恢复现场
⑹堆栈切换
⑺一般利用IRET指令实现中断返回
11.2.2 设置和获取中断向量
1. 设置中断向量
(1)直接写入法
(2)使用DOS调用法。
【例11-3】使用直接写入法设置中断向量。
【例11-4】使用DOS功能调用设置中断向量。
11.2.3 中断程序设计举例
【例11-5】编写输出字符串“EXAMPLE FOR INT”的中断处理程序,设中断号为5。
【例11-6】编写一个中断处理程序,要求在主程序运行过程中,每隔10秒响铃一次,同时在屏幕上显示出信息“THE BELL IS RING!”
11.3 BIOS中断调用
11.3.1 BIOS中断调用概述
1.图11.7是用户程序和操作系统关系示意图,
图11.7 用户程序和操作系统关系示意图
2.在下列情况下可考虑使用BIOS中断:
⑴有些功能DOS没有提供,但BIOS提供了:
⑵有些场合无法使用DOS功能调用;
⑶其他原因。
11.3.2 BIOS中断调用方法
1. BIOS调用的基本操作
⑴设置分功能号
⑵置入口参数
⑶使用中断语句INT n
⑷分析出口参数
2. 键盘输入功能调用
BIOS中断16H为键盘输入。16H号中断有三个功能,功能号要求放在AH中,具体功能见表11-3。
表11-3 BIOS键盘中断(INT 16H)
AH 功 能 返 回 参 数 0 从键盘读一字符 AL=字符码中 AH=扫描码 1 读键盘缓冲区的字符 ZF=0 AL=字符码 ZF=l 缓冲区空 AH=扫描码 2 取键盘状态字节 AL=键盘状态字节
【例11-7】从键盘读入0~9任一数,根据不同数显示不同的字符串。要求用BIOS中断来接收键盘输入
3. BIOS显示功
您可能关注的文档
最近下载
- 2025至2030全球及中国普拉提和瑜伽馆行业市场深度研究及发展前景投资可行性分析报告.docx VIP
- 极速60秒.ppt VIP
- 中国宠物行业白皮书.doc VIP
- 项目插花艺术-全校公选课.doc VIP
- 极速60秒的图片.ppt VIP
- 展频IC规格书之 SSDCI1108AF _REV3.1.pdf VIP
- 2024 CCF非专业级别软件能力认证(CSP-S)第一轮真题.pdf VIP
- TCFNA6104-2022 食品安全-月桂叶(香叶).pdf VIP
- 人美版(2024)小学美术一年级上册《欢快流畅的线》教学设计 .pdf VIP
- 三水平立井多绳摩擦式提升机提升钢丝绳更换安全技术措施:.doc VIP
文档评论(0)