第7章 微机中断系统.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 微机中断系统

* 中断嵌套 中断优先级 3#2#1# 1#中断请求 响应 返回 1#中断 服务程序 2#中断请求 响应 返回 2#中断 服务程序 3#中断请求 响应 返回 3#中断 服务程序 原主程序 中断嵌套可以有多级,具体级数原则上不限,只取决于堆栈深度。 微机原理与接口技术 第7章 微机中断系统 * 中断系统 概述 中断处理过程 中断优先级和中断嵌套 * 概述 中断的提出 中断的概念 中断的分类 * 中断的提出 中断最初是作为处理器与外部设备交换信息的一种控制方式提出的; 最初的中断全部是对外部设备而言的,称为外部中断或硬件中断; 随着计算机技术的发展,为解决机器内部运行时出现的异常以及为编程方便提出了内部软件中断的概念。 * 中断的概念 中断:处理器暂停执行当前程序,转而处理随机发生的事件,处理完毕后再返回到断点处继续执行原来程序的过程。 中断源 中断 请求 当 前 程 序 中断 服务 程序 程序断点 中断返回 中断响应 中断源 中断响应 中断返回 中断向量表 中断屏蔽 中断优先级 中断嵌套 * 中断的分类 外部中断 (硬件中断) 内部中断 (软件中断) 由中断指令引起的中断:INT n 由CPU的某些运算错误引起的中断:INTO(4#)或除法错(0#) 中断源 由调试程序debug设置的中断:TF=1单步中断(1#)或断点中断(3#) 可屏蔽中断INTR--实时处理 同步操作 电源故障中断 动态RAM有奇偶校验错误 I/O通道出现奇偶校验错误 协处理器8087有中断请求 不可屏蔽中断NMI(2#) * 中断处理过程 CPU响应中断过程 中断向量表 中断服务程序返回 中断服务子程序 * CPU响应中断过程 中断请求 中断响应 保护现场 状态寄存器(PSW) 断点(CS和IP) 中断服务程序要用到的寄存器的内容 进入中断服务程序 恢复现场 中断返回 与中断相关的指令及其执行过程 INT n 当前PSW入栈 IF←0;TF←0? 断点地址入栈(先CS,后IP) 取出中断服务子程序的入口地址(也称中断向量) 段地址 →CS 偏移地址→IP 从而转入中断处理程序 注意与子程序调用指令的区别 * IRET 断点地址出栈(先IP,后CS) 标志寄存器psw出栈 INTO 相当于INT 4溢出中断,(OF)=1,触发 STI-----开中断 ,IF=1 用于控制可屏蔽中断请求 是否被响应 CLI------关中断, IF=0 * * CPU响应中断过程 CPU响应外部中断的条件 外设提出中断申请(有中断请求信号) 本中断未被屏蔽 本中断优先级最高 CPU允许中断(IF=1) CPU响应中断要在完成当前正在执行的指令之后 在等待指令或串操作指令时,允许在指令执行过程中进入中断,但要在当前一个基本操作完成之后 下述情况要执行完下一条指令才能响应外部中断 CPU正在执行封锁指令 正在执行向段寄存器输送数据的指令 * 中断请求的查询 是否有不可屏蔽中断 是否有可屏蔽中断 是否有内部中断 是否有单步执行中断 是否允许外部中断 * 保护现场 PSW入栈 保护程序断点地址 允许CPU继续响应其他中断 检查是否有不可屏蔽中断 检查是否有单步执行中断 恢复现场 TF * 中断向量表 中断服务程序进入 问题: 确定是哪个中断源发出的中断请求信号 得到对应的中断服务程序入口地址---中断向量 解决: 中断类型号:每一个中断源分配唯一的中断类型号与其对应 中断向量表:用来存放与中断类型号对应的中断源的中断服务程序的入口地址 * 中断向量表 中断类型号:8086/8088系统有256种类型的中断,对应类型号0~FFH(P501)。 0——除法出错 1——单步中断 2——不可屏蔽中断 3——断点中断 4——溢出中断 5——打印屏幕 8~0FH——8259A中断 10H~1FH——BIOS中断 20H~3FH——DOS中断调用 中断向量表:8086、8088中断系统按中断类型号由小到大的顺序把它们对应的中断处理程序的入口地址放在一张表中,并将它安置在内存中00000H~003FFH的1K空间内,这张表就称为中断向量表(也称中断矢量表) 每个中断向量占4个字节,高2个字节放中断入口地址的段地址(CS),低2字节放偏移地址(IP) 中断向量地址=中断类型号×4 * 中断向量表 * 中断向量表 供用户使用的中断类型号 可由用户定义为软中断,由INT n指令引用 可通过INTR端直接接入可屏蔽中断 可通过中断控制器8259A引入可屏蔽中断 用户使用中断类型号进行某种中断处理时,要处理的问题 1、编好所需要的中断服务子程序 2

文档评论(0)

wyjy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档