微机原理第93章-中断_第1页
微机原理第93章-中断_第2页
微机原理第93章-中断_第3页
微机原理第93章-中断_第4页
微机原理第93章-中断_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、第第9.3 9.3 中断控制接口中断控制接口教学重点n 掌握中断及中断系统的功能掌握中断及中断系统的功能 1. .再谈中断再谈中断中断申请中断申请(干扰)(干扰)主程序主程序/ /过程过程中断响应中断响应中中断断处处理理中断服务程序中断服务程序中断返回中断返回 完整的完整的中断必须包括以下的四个过程:中断必须包括以下的四个过程:、中断响应、中断响应 、中断处理、中断处理中断申请中断申请、中断返回。、中断返回。 中断申请能够干扰主程序或子程序(过程)。中断申请能够干扰主程序或子程序(过程)。9.3.1 中断原理中断申请(中断源)主程序/过程中断响应中断处理中断服务程序中断返回 2.中断系统的功能

2、 (1)必须是一完整的完整的中断过程中断过程恢复断点断点保护现场(PUSH指令)恢复现场(POP指令) 中断服务程序的格式 中断服务程序名 PROC PUSH AX 中断处理程序 POP AX IRET 中断服务程序名 ENDP (2)能够实现中断的嵌套 (3)能够实现中断的优先级处理 在中断处理的过程中中断处理的过程中,如果有高一级的中断申请,应该响 应与处理,其返回后,再进行本级的中断处理。中断申请中断申请中断申请中断申请主程序低级中断高一级 中断更高一级中断高一级 中断 如果几个几个中断源同时提出中断申请中断源同时提出中断申请,微处理器能够按照中 断的优先级的高、低顺序进行处理。 0 1

3、 0 0 0 1 0 1 3.中断优先权处理与中断嵌套举例ABDBINTR译码器输入缓冲器 A B C D E F G H 设: 外设中断请求信号为“1”有效。 IN AL,缓冲器地址 TEST AL,80H JNE 处理A中断的程序 中断服务程序内容; TEST AL,40H JNE 处理B中断的程序 TEST AL,01H JNE 处理H中断的程序最高 中断优先权 最低 以上方法可以实现中断优先权的处理,但是,不能够完成中 断的嵌套。 (1)软件实现中断优先权处理外设中断申请信号0110110 1111111 (2)硬件实现中断优先权处理及中断嵌套 工作原理: 设: 外设中断请求信 号为“

4、1”有效; 正在进行中断处理的外设的优先权编码通过数据线送来; 锁存器为低四位 输出。 外设中断申请,AB比较器输出“1”,INTR有效; 外设中断申请,ABA HDBAB外设中断申请信号INTR优先权选择线译码器锁存器B1B2B3B4编码器9.3.2 8086中断系统n8086的中断系统采用向量中断机制的中断系统采用向量中断机制 中断向量是中断服务程序的入口地址.n能够处理能够处理256个中断个中断n用中断向量号用中断向量号0255区别区别n可屏蔽中断还需要借助专用中断控制可屏蔽中断还需要借助专用中断控制器器Intel 8259A实现优先权管理实现优先权管理9.3.1 8086的中断类型非屏

5、蔽中断源非屏蔽中断源中断逻辑中断逻辑INTO指令指令单步单步中断中断除法除法错误错误INT N指令指令CPUINTRNMI可屏蔽中断源可屏蔽中断源8259A中断中断控制器控制器IR0IR1IR2IR3IR4IR5IR6IR7外外设设中中断断源源 INTAn内部中断内部中断n除法错中断除法错中断n指令中断指令中断n溢出中断溢出中断n单步中断单步中断n外部中断外部中断n非屏蔽中断非屏蔽中断n可屏蔽中断可屏蔽中断1. 内部中断n内部中断是由于内部中断是由于8086内部执行程序出现异内部执行程序出现异常引起常引起的程序中断的程序中断n利用内部中断,微处理器为用户提供了发利用内部中断,微处理器为用户提供

6、了发现、调试并解决程序执行时异常情况的有现、调试并解决程序执行时异常情况的有效途径效途径n例如,例如,ROM-BIOS和和DOS系统利用内部中系统利用内部中断为程序员提供了各种功能调用断为程序员提供了各种功能调用内部中断的中断向量号已定内部中断的中断向量号已定 除法错中断n在执行除法指令时,若除数为在执行除法指令时,若除数为0或商超过或商超过了寄存器所能表达的范围,则产生一个向了寄存器所能表达的范围,则产生一个向量号为量号为0的内部中断,称为除法错中断的内部中断,称为除法错中断例如:例如:mov bl,0idiv bl;除数;除数BL0,产生除法错中断,产生除法错中断mov ax,200hmo

7、v bl,1div bl;商;商200H,不能用,不能用AL表达表达;产生除法错中断;产生除法错中断 指令中断n在执行中断调用指令在执行中断调用指令INT n时产生的一个时产生的一个向量号为向量号为n(0 255)的内部中断,称为)的内部中断,称为指令中断指令中断n其中向量号为其中向量号为3的指令中断比较特别(生的指令中断比较特别(生成一个字节的指令代码:成一个字节的指令代码:11001100),常),常用于程序调试,被称为断点中断用于程序调试,被称为断点中断例如:例如:DEBUG.EXE调试程序的运行命令调试程序的运行命令G设置设置的断点,就是利用的断点,就是利用INT 3指令实现的指令实现

8、的 溢出中断n在执行溢出中断指令在执行溢出中断指令INTO时,若溢出标时,若溢出标志志OF为为1,则产生一个向量号为,则产生一个向量号为4的内部中的内部中断,被称为溢出中断断,被称为溢出中断例如:例如:mov ax,2000hadd ax, 7000h;2000H7000H9000H,溢出:,溢出:OF1into;因为;因为OF1,所以产生溢出中断,所以产生溢出中断单步中断n若单步中断若单步中断TF为为1,则在每条指令执行结,则在每条指令执行结束后产生一个向量号为束后产生一个向量号为1的内部中断,称的内部中断,称为单步中断为单步中断例如:例如:DEBUG.EXE调试程序的单步命令调试程序的单步

9、命令T就利就利用单步中断实现对程序的单步调试用单步中断实现对程序的单步调试2. 外部中断n外部中断是由于外部中断是由于8086外部提出中断请求引外部提出中断请求引起起的程序中断的程序中断n利用外部中断,微机系统可以实时响应外利用外部中断,微机系统可以实时响应外部设备的数据传送请求,能够及时处理外部设备的数据传送请求,能够及时处理外部意外或紧急事件部意外或紧急事件n外部中断的原因是处理器外部随机产生的,外部中断的原因是处理器外部随机产生的,所以是真正的所以是真正的中断中断(Interrupt)n内部中断的原因是处理器执行程序出现异内部中断的原因是处理器执行程序出现异常,所以经常被称为常,所以经常

10、被称为异常异常(Exception) 非屏蔽中断n通过非屏蔽中断请求信号向微处理器提出的中断请通过非屏蔽中断请求信号向微处理器提出的中断请求,微处理器无法禁止,将在当前指令执行结束予求,微处理器无法禁止,将在当前指令执行结束予以响应,这个中断被称为非屏蔽中断以响应,这个中断被称为非屏蔽中断n8086的非屏蔽中断的向量号为的非屏蔽中断的向量号为2,非屏蔽中断请求,非屏蔽中断请求信号为信号为NMIn非屏蔽中断主要用于处理系统的意外或故障。例如:非屏蔽中断主要用于处理系统的意外或故障。例如:n电源调电前的数据保护电源调电前的数据保护n存储器读写错误的处理存储器读写错误的处理 可屏蔽中断n外部通过可屏

11、蔽中断请求信号向微处理器提出的外部通过可屏蔽中断请求信号向微处理器提出的中断,微处理器在允许可屏蔽中断的条件下,在中断,微处理器在允许可屏蔽中断的条件下,在当前指令执行结束予以响应,同时输出可屏蔽中当前指令执行结束予以响应,同时输出可屏蔽中断响应信号,这个中断就是可屏蔽中断断响应信号,这个中断就是可屏蔽中断n8086的可屏蔽中断请求和响应信号分别是的可屏蔽中断请求和响应信号分别是INTR和和INTA*;由;由IF标志控制可屏蔽中断是否允许响应;标志控制可屏蔽中断是否允许响应;向量号来自外部中断控制器向量号来自外部中断控制器n8086通常需要配合中断控制器通常需要配合中断控制器8259A共同处理

12、可共同处理可屏蔽中断屏蔽中断n可屏蔽中断主要用于主机与外设交换数据可屏蔽中断主要用于主机与外设交换数据IF控制可屏蔽中断的响应控制可屏蔽中断的响应中断标志IF的状态nIF0:可屏蔽中断不会被响应:可屏蔽中断不会被响应n关中断、禁止中断、中断屏蔽关中断、禁止中断、中断屏蔽n系统复位,使系统复位,使IF0n任何一个中断被响应,使任何一个中断被响应,使IF0n执行指令执行指令CLI,使,使IF0nIF1:可屏蔽中断会被响应:可屏蔽中断会被响应n开中断、允许中断、中断开放开中断、允许中断、中断开放n执行指令执行指令STI,使,使IF1n执行指令执行指令IRET恢复原恢复原IF状态状态明确明确IF标志的

13、状态是关键标志的状态是关键9.3.2.2 8086的中断响应过程NMIN软件中断软件中断INTRTF=1中断响应周期中断响应周期读中断向量号读中断向量号下条指令下条指令现行指令现行指令IF1NNNNYYYYY查询中断的顺序,查询中断的顺序,决定了各种中断源的优先权决定了各种中断源的优先权n软件中断软件中断n除法错中断除法错中断n指令中断指令中断n溢出中断溢出中断n非屏蔽中断非屏蔽中断n可屏蔽中断可屏蔽中断n单步中断单步中断高高低低9.3.2.2 8086的中断响应过程(续)Y还有还有NMITEMP1标志寄存器入栈标志寄存器入栈TEMPTF,IFTF0CS:IP入栈入栈获取中断向量获取中断向量执

14、行服务程序执行服务程序弹出弹出CS:IP弹出标志寄存器弹出标志寄存器返回被中断程序返回被中断程序(1)(2)(3)(4)(5)NNY(6)n8086各种中断源的优先权,各种中断源的优先权,实际上是指被识别出来的先后实际上是指被识别出来的先后n多种中断同时请求时,多种中断同时请求时,最先响应的则可能是最先响应的则可能是单步中断或单步中断或NMI中断中断中断向量=类型码4中断响应 可屏蔽中断的响应过程IPCSFLAGSAD07ALED07 第一中断响应周期T1 T2 T3 T4 CLKRDT1 T2 T3 T4 第二中断响应周期 A07 A07INTA中断申请入栈禁止单 步中断执行中断程序出栈返回

15、送类型码IPCSFLAGSSSIPLIPHCSLCSHESCSIRETIRiINTAINTD078259AINTRINTAD078086IF=0TF=0LOCK 1 29.3.2.3 8086的中断向量表n中断向量:中断服务程序的入口地址(首地址)中断向量:中断服务程序的入口地址(首地址)n逻辑地址含有段地址逻辑地址含有段地址CS和偏移地址和偏移地址IP(32位)位)n每个中断向量的低字是偏移地址、高字是段地址,每个中断向量的低字是偏移地址、高字是段地址,需占用需占用4个字节个字节n8086微处理器从物理地址微处理器从物理地址00000H开始,依次安排开始,依次安排各个中断向量,向量号也从各个

16、中断向量,向量号也从0开始开始n256个中断占用个中断占用1KB区域,就形成区域,就形成中断向量表中断向量表向量号为向量号为N的中断向量的的中断向量的物理地址物理地址N4第第9.39.3节教学要求节教学要求1. 熟悉熟悉8086的中断类型、中断响应过的中断类型、中断响应过程、中断向量表程、中断向量表n思考:思考:n1、INT n的功能调用和返回过程的功能调用和返回过程n2、8086中各种中断优先级的划分是什么?中各种中断优先级的划分是什么?8086的中断向量表向量号向量号255的的CS值值用户中断用户中断(向量号(向量号255)3FCH向量号向量号255的的IP值值向量号向量号2的的CS值值非屏蔽中断非屏蔽中断(向量号(向量号2)008H向量号向量号2

温馨提示

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

评论

0/150

提交评论