微机PDF第四部分-中断8259w

上传人:E**** 文档编号:118067202 上传时间:2019-12-11 格式:PDF 页数:25 大小:558.22KB
返回 下载 相关 举报
微机PDF第四部分-中断8259w_第1页
第1页 / 共25页
微机PDF第四部分-中断8259w_第2页
第2页 / 共25页
微机PDF第四部分-中断8259w_第3页
第3页 / 共25页
微机PDF第四部分-中断8259w_第4页
第4页 / 共25页
微机PDF第四部分-中断8259w_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《微机PDF第四部分-中断8259w》由会员分享,可在线阅读,更多相关《微机PDF第四部分-中断8259w(25页珍藏版)》请在金锄头文库上搜索。

1、 第七章第七章 中断中断 中断原理 8259A 中断管理器 8259A的编程 目的要求:目的要求: 2. .掌握掌握8259A与微处理器的连接与微处理器的连接(包括级联包括级联); 3. .理解理解8259A应用与编程。应用与编程。 一一. .中断原理中断原理 1. .掌握中断及中断系统的功能;掌握中断及中断系统的功能; 1. .再谈中断再谈中断 中断申请中断申请 (干扰)(干扰) 主程序主程序/ /过程过程 中断响应中断响应 中中 断断 处处 理理 中断服务程序中断服务程序 中断返回中断返回 完整的完整的中断必须包括以下的四个过程:中断必须包括以下的四个过程: 、中断响应、中断响应 、中断处

2、理、中断处理 中断申请中断申请 、中断返回。、中断返回。 中断申请能够干扰主程序或子程序(过程)。中断申请能够干扰主程序或子程序(过程)。 中断申请中断申请 (中断源)(中断源) 主程序主程序/ /过程过程 中断响应中断响应 中断处理中断处理 中断服务程序中断服务程序 中断返回中断返回 2. .中断系统的功能中断系统的功能 (1)必须能完成一必须能完成一完整的完整的中断过程中断过程 恢复断点恢复断点 断点断点 保护现场(保护现场(PUSH指令)指令) 恢复现场(恢复现场(POP指令)指令) 中断服务程序的格式中断服务程序的格式 中断服务程序名中断服务程序名 PROC PUSH AX 中断处理程

3、序中断处理程序 POP AX IRET 中断服务程序名中断服务程序名 ENDP 8086的的中断源中断源 非屏蔽中断申请非屏蔽中断申请 INTR 8259A INTA INT n INTO 除法除法 出错出错 单步单步 TF=1 NMI 屏屏 蔽蔽 中中 断断 申申 请请 A . .8086的外部的外部中断源:中断源: 非屏蔽中断申请非屏蔽中断申请不受不受IFIF控制标志的影响;控制标志的影响; 屏蔽中断申请屏蔽中断申请受受IFIF控制标志的影响;控制标志的影响; IF =“0”不响应中断,不响应中断, IF =“1”响应中断。响应中断。 B. .8086的内部的内部中断源:中断源: 除法出错

4、除法出错除法的商超过数的范围;除法的商超过数的范围; INT n用户程序中调用用户程序中调用DOS、BIOS中断;中断; INTO溢出中断申请,由溢出中断申请,由OF=1启动中断;启动中断; 单步执行单步执行TF=1启动中断,调试程序用。启动中断,调试程序用。 中断逻辑中断逻辑 8086 P 中断指针中断指针= 类型码类型码4 上述所有内部中断的上述所有内部中断的特点特点是是 中断类型码或者包含在指令中,或者是中断类型码或者包含在指令中,或者是 预先规定的预先规定的 不执行响应外部中断的中断响应周期不执行响应外部中断的中断响应周期 除单步中断外,任何内部中断都无法禁除单步中断外,任何内部中断都

5、无法禁 止止 除单步中断外,任何内部中断的优先级除单步中断外,任何内部中断的优先级 都比任何外部中断的优先级高都比任何外部中断的优先级高 查询中断查询中断 当外设没有提出中断请求时,当外设没有提出中断请求时,CPU照常执行主程照常执行主程 序,只有在接收到外设的中断请求后序,只有在接收到外设的中断请求后CPU才去查询,才去查询, 以识别提出中断请求的设备,主要采用软件查询。软以识别提出中断请求的设备,主要采用软件查询。软 件查询是用程序查询的方法,查询中断请求寄存器的件查询是用程序查询的方法,查询中断请求寄存器的 当前值,查询程序依次查询每一个外设的中断状态位,当前值,查询程序依次查询每一个外

6、设的中断状态位, 通过测试该状态位来判断对应的外设是否发出过中断通过测试该状态位来判断对应的外设是否发出过中断 请求,如果有,则转到相应的中断服务程序请求,如果有,则转到相应的中断服务程序 如何识别中断源如何识别中断源 CPU要对中断请求进行处理,必须要找到相应中要对中断请求进行处理,必须要找到相应中 断服务程序断服务程序(处理中断的程序处理中断的程序)的入口地址,这就是中的入口地址,这就是中 断源的识别断源的识别 。中断源识别主要有以下方法。中断源识别主要有以下方法 向量中断向量中断(Vectored Interrupt) 又称矢量中断,在具有向量中断的微机系又称矢量中断,在具有向量中断的微

7、机系 统中,每个外设都预先指定一个中断向量,统中,每个外设都预先指定一个中断向量, 当当CPU识别出某个外设请求中断并予以响应识别出某个外设请求中断并予以响应 时,控制逻辑就将该外设的中断向量送入时,控制逻辑就将该外设的中断向量送入 CPU,以自动地提供相应的中断服务程序的,以自动地提供相应的中断服务程序的 入口地址,转入中断服务。用向量中断来确入口地址,转入中断服务。用向量中断来确 定中断源主要是用硬件来实现的,通常在微定中断源主要是用硬件来实现的,通常在微 机系统中采用可编程中断控制器来提供中断机系统中采用可编程中断控制器来提供中断 向量向量 (2)能够实现中断的嵌套 (3)能够实现中断的

8、优先级处理 在中断处理的过程中中断处理的过程中,如果有高一级的中断申请,应该响 应与处理,其返回后,再进行本级的中断处理。 中断 申请 中断 申请 中断 申请 中断 申请 主程序 低级 中断 高一级 中断 更高一 级中断 高一级 中断 如果几个几个中断源同时提出中断申请中断源同时提出中断申请,微处理器能够按照中 断的优先级的高、低顺序进行处理。 8086的中断优先级: 除法错误INT n INTO NMI INTR 单步执行 0 1 0 0 0 1 0 1 3. .中断优先权处理与中断嵌套举例中断优先权处理与中断嵌套举例 AB DB INT R 译码器译码器 输输 入入 缓缓 冲冲 器器 A

9、B C D E F G H 设:设: 外设外设中断请求信号为“中断请求信号为“1 1”有效。”有效。 IN AL,缓冲器地址缓冲器地址 TEST AL,80H JNE 处理处理A中断的程序中断的程序 中断服务程序内容;中断服务程序内容; TEST AL,40H JNE 处理处理B中断的程序中断的程序 TEST AL,01H JNE 处理处理H中断的程序中断的程序 最高最高 中断优先权中断优先权 最低最低 以上方法可以实现以上方法可以实现中断优先权的处理,但是,不能够完成中中断优先权的处理,但是,不能够完成中 断的嵌套。断的嵌套。 (1)软件实现)软件实现中断优先权处理中断优先权处理 外设中断申

10、请信号外设中断申请信号 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 (2)软件实现)软件实现中断优先权处理及中断嵌套中断优先权处理及中断嵌套 工作原理:工作原理: 设:设: 外设外设中断请求信号为“中断请求信号为“1 1”有效;”有效; 程序输出程序输出08H至锁存器,至锁存器,优先权选择线为“优先权选择线为“1 1”; 锁存器为低四位输出锁存器为低四位输出。 (始终存储上一个中断的编码)(始终存储上一个中断的编码) 外设中断申请,外设中断申请,AB比较器输出“比较器输出“1 1”,”,INTR有效有效; 高一级中断提出申请,

11、比较器输出“高一级中断提出申请,比较器输出“1 1”,”,INTR有效;有效; 低一级中断提出申请,比较器输出“低一级中断提出申请,比较器输出“0 0”,优先权屏”,优先权屏 编码器输出是当前最高中断的请求;编码器输出是当前最高中断的请求; A1 A2 A3 比比 较较 器器 AB A H DB AB 外设外设 中断中断 申请申请 信号信号 INTR 优先权选择线优先权选择线 译码器译码器 锁锁 存存 器器 B1 B2 B3 B4 编编 码码 器器 蔽线为“蔽线为“0 0”,”,INTR无效。无效。 4、中断向量表、中断向量表 中断向量表又称中断指针表,是存放中断服务程中断向量表又称中断指针表

12、,是存放中断服务程 序入口地址序入口地址(即“中断向量”即“中断向量”)的表格。它存放在存储的表格。它存放在存储 器的最低端(器的最低端(0000H:0000H0000H:03FFH),), 共共1024个字节,每个字节,每4个字节存放一个中断服务程序的个字节存放一个中断服务程序的 入口地址,一共可以存放入口地址,一共可以存放256个中断服务程序的入口个中断服务程序的入口 地址。较高地址的两个字节存放中断服务程序入口地址。较高地址的两个字节存放中断服务程序入口 的段基值(的段基值( CS );较低地址的两个字节存放入口);较低地址的两个字节存放入口 地址的段内偏移量(地址的段内偏移量(IP)

13、。这。这4个单元的最低地址个单元的最低地址 称为向量地址,其值为对应的中断类型码乘以称为向量地址,其值为对应的中断类型码乘以4。 80868088中断向量表的结构如图所示中断向量表的结构如图所示 0 4 专用中断专用中断 8 1FH ROM BIOS 用用 20 FFH 为为DOS 和和 BASIC 保留保留 60 7FH 用户可使用用户可使用 向量表的使用: 8086/8088在响应中断以后,先将标志寄 存器压入堆栈,然后将执行一个与段间间接 调用(CALL)指令相当的过程来启动一个中断 过程,该过程中,CPU将CS和IP压入堆栈, 以保存断点的地址,然后将中断向量表中相 应的4个字节内容弹出并赋给IP和CS,于是 CPU开始执行中断服务程序 如果n个中断请求同时到达,则CPU将按优 先级顺序来调用中断过程 5.内部中断方式(INT n)编程举例 设置中断 矢量指针 中断程序 首地址 中断矢量指针的形成, 中断服务程序首地址的 存放; 中断响应与中断返回 时,段寄存器与相应段 的内容。 程序运行结果: 响应中断时,堆栈段

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号