微机原理课件__中断系统_第1页
微机原理课件__中断系统_第2页
微机原理课件__中断系统_第3页
微机原理课件__中断系统_第4页
微机原理课件__中断系统_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章中断系统 5 1中断的基本概念 中断处理器暂停执行现行的程序 转而处理随机事件 处理完毕后再返回被中断的程序处继续执行 这一全过程称为中断 中断源能够引发处理器中断的信息源称为中断源 常见的中断源 一般输入 输出设备 如图像管终端 打印机等 数据通道 如磁盘 磁带等 实时时钟 如定时器芯片8253产生的定时中断请求信号 故障信号 如电源掉电等 软件中断 如为调试程序而设置的中断 中断系统 系统为实现中断而采用的硬件和软件措施 计算机采用中断系统的目的维持系统的正常工作 提高系统效率 实时处理 为故障处理作准备 中断系统应具备的基本功能 对于硬设备的中断请求 要具备屏蔽和开放功能 使得程序员能灵活控制 能实现 中断判优 即中断源排队 当有多个中断源提出请求时 高级别的中断请求能被优先响应 能实现中断嵌套 即高级别的中断源能够中断低级别的中断服务程序 系统响应中断后 能自动转入中断处理中断处理结束 能自动返回 5 28086中断系统 8086系统共有256种类型的中断 对应的中断类型号为 0 255 0 0FFH 可分为软件中断和硬件中断两大类 8086系统的中断分类 图示 软件中断 由处理器执行某些指令引起的中断称为软件中断 亦称内部中断 它包括 除法出错中断 0类型中断 当除数为0或商超出了有关寄存器能表示的数值范围 则产生除法出错中断 例如movbl 0idivbl 除数 0 产生除法错中断movax 200hmovbl 1divbl 商 200H 不能用AL表达 产生除法错中断 单步中断 1类型中断 在单步标志TF 1 每执行一条指令就引起一次中断 断点中断 3类型中断 主要用在除错调试程序中 利用 INT3 设置断点 目的是显示断点前程序执行结果 当溢出标志OF 1时 执行指令INTO则产生溢出中断 溢出中断 4类型中断 例如MOVAX 2000HADDAX 7000HINTO 2000H 7000H 9000H 溢出 OF 1 因为OF 1 所以产生溢出中断 INTN是中断指令N是中断类型号 0 0FFH DOS系统功能 基本输入输出系统 BIOS 的功能即是用INTN指令中断调用 中断指令INTN 硬件中断 由处理器外部引脚NMI和INTR引起的中断称为硬件中断 亦称为外部中断 通过处理器的NMI 非屏蔽中断 引脚进入 NMI被响应时 自动产生2号类型中断 非屏蔽中断 它不受中断允许标志的屏蔽 微处理器无法禁止 将在当前指令执行结束予以响应 8086的非屏蔽中断的类型号为2 非屏蔽中断主要用于处理系统的意外或故障例如 电源调电前的数据保护存储器读写错误的处理 非屏蔽中断 中断请求信号通过CPU的INTR引脚进入 中断响应信号从INTA引脚发出 IF 1时 CPU响应中断 IF 0 中断请求被屏蔽通常可屏蔽中断源经过中断控制器8259A管理再向CPU发INTR请求 可屏蔽中断 中断标志IF的状态 指令CLI使IF 0关中断 禁止中断 中断屏蔽统复位 使IF 0任何一个中断被响应 使IF 0指令STI使IF 1开中断 允许中断 中断开放执行 IF 1 中断处理过程 中断请求过程中断源向处理器发出请求中断信号 中断信号将被锁存 一直保持 直到处理器响应中断后 中断请求信号才被能清除 中断过程 处理器在执行每条指令的最后一个时钟周期检测中断请求信号若发现中断请求信号有效 在允许中断的条件下 处理器响应中断 中断响应过程 处理器会自动完成3项任务 关闭中断 以禁止其它中断请求 断点 IP和CS 和标志寄存器内容入栈保护 获得中断服务程序入口地址 转中断服务程序 中断处理过程 保护现场相关工作寄存器的内容压栈保护 开中断若要响应高级别的中断 则需要打开中断 执行中断服务程序关中断使得不被中断 可顺利恢复现场 恢复现场将压栈保护的内容顺序出栈给相关寄存器中断返回中断服务子程序的最后是一条中断返回指令IRET 执行后IRET后处理器自动从堆栈中弹出IP CS和FLAGS的内容 返回主程序继续执行 形成中断类型号n 形成中断类型号2 形成中断类型号1 查询中断的顺序 决定了各种中断源的优先权软件中断除法错中断指令中断溢出中断非屏蔽中断可屏蔽中断单步中断 8086各种中断源的优先权 实际上是指被识别出来的先后 多种中断同时请求时 最先响应的则可能是单步中断或NMI中断 中断响应过程 执行不可屏蔽中断 执行单步中断 中断向量 中断服务子程序所在段的段基址 2个字节 中断服务子程序入口的偏移地址 2个字节 中断向量中断服务子程序的入口地址亦称中断向量它由两部分组成 图示 中断向量表 一种类型的中断向量为4个字节 256种中断的中断向量总共占用1K字节 在8086系统中 所有的中断向量按类型顺序存放于内存的最低地址 00000H 003FFH 的1K单元中 存放中断向量的这1K单元称为中断向量表 图示 地址 N 4 N 4 3 N 4字单元存放偏移地址N 4 2的字单元存放段基址 中断向量在中断向量表中的位置 5 4 5 4 3 14H 17H的4个单元中14H 15H单元存放中断服务子程序入口的偏移地址16H 17H单元存放中断服务子程序入口的段基址 例5 15型中断向量存放在 21H型服务程序被放在地址为 XX YY开始的内存区 中断向量XX YY存放在4 21H 4 21H 3的单元中 处理器取出INT21H指令后 CS IP等于下一指令 标号NEXT 存放单元的物理地址 例5 2处理器执行INT21H指令时 中断向量的引导过程 图示 处理器执行INT21H之后 FAGS CS IP的当前值被压栈保护 CPU从4 21H 4 21H 3的单元中取得中断向量并写入IP CS之中 CPU根据CS IP值转向21H型中断服务程序 中断程序执行完毕 执行IRET指令 退出中断CPU从栈顶顺序弹出保护的断点给IP CS FLAGS 根据CS IP返回断点 NEXT 继续执行主程序 中断向量表的初始化 由基本输入输出系统提供的服务程序 其中断向量是在系统加电后由基本输入输出系统负责设置 由操作系统提供的服务程序 其中断向量是在启动操作系统时由操作系统负责设置 用户开发的中断服务程序 需要设置中断向量 设置中断向量的方法 直接指令装入例5 3设置类型N的中断向量 其中断服务程序名为 INTSUB 例5 3设置中断向量 其中断服务程序名为INTHSUBMOVAX 0MOVES AX 中断向量基址MOVBX N 4 中断类型号MOVAX OFFSETINTHSUB 偏移地址MOVES WORDPTR BX AXMOVAX SEGINTHSUB 段地址MOVES WORDPTR BX 2 AXINTHSUB 中断服务子程序 IRET 用DOS系统功能调用 INT21H 设置中断向量 25H功能 设置中断向量预置 AH 25HAL 中断类型号 N DS DX 中断向量执行 INT21H 35H功能 取中断向量预置 AH 35HAL 中断类型号 N 执行 INT21H返回 ES BX 中断向量 例5 4使用DOS功能调用存取中断向量 MOVAL N typeNinterruptMOVAH 35H getinterruptvectorINT21HPUSHES savetheoldbaseandPUSHBX offsetofinterruptNMOVAX SEGINTHANDMOVDS AX baseofINTHANDinDSMOVDX OFFSETINTHANDMOVAL N typeNMOVAH 25H setinterruptvectorINT21H POPDX restoretheoldoffsetPOPDS andbaseofinterruptMOVAL N typeNMOVAH 25H setinterruptvectorINT21HRET returninterruptprocessingroutin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论