第7章 微机中断系统_第1页
第7章 微机中断系统_第2页
第7章 微机中断系统_第3页
第7章 微机中断系统_第4页
第7章 微机中断系统_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、微机原理与接口技术微机原理与接口技术第第7 7章章 微机中断系统微机中断系统2中断系统中断系统n概述概述n中断处理过程中断处理过程n中断优先级和中断嵌套中断优先级和中断嵌套3概述概述中断的提出中断的提出中断的概念中断的概念中断的分类中断的分类4中断的提出中断的提出n中断最初是作为处理器与外部设备交换中断最初是作为处理器与外部设备交换信息的一种信息的一种控制方式控制方式提出的;提出的;n最初的中断全部是对外部设备而言的,最初的中断全部是对外部设备而言的,称为称为外部中断或硬件中断;外部中断或硬件中断;n随着计算机技术的发展,为解决机器内随着计算机技术的发展,为解决机器内部运行时出现的部运行时出现

2、的异常异常以及为以及为编程方便编程方便提提出了出了内部软件中断内部软件中断的概念。的概念。5中断的概念中断的概念n中断:处理器中断:处理器暂停暂停执行当前程序,转而处理执行当前程序,转而处理随机随机发生发生的事件,处理完毕后再的事件,处理完毕后再返回到断点处返回到断点处继续执继续执行原来程序的过程。行原来程序的过程。中断源中断源中断中断请求请求 当当 前前 程程 序序中断中断服务服务程序程序程序断点程序断点中断返回中断返回中断响应中断响应n中断源中断源 中断响应中断响应 中断返回中断返回 中断向量表中断向量表 中断屏蔽中断屏蔽 中断优先级中断优先级 中断嵌套中断嵌套6中断的分类中断的分类外部中

3、断外部中断(硬件中断)(硬件中断)内部中断内部中断(软件中断)(软件中断)由中断指令引起的中断由中断指令引起的中断:INT n:INT n由由CPUCPU的某些运算错误引起的中断的某些运算错误引起的中断:INTO(4:INTO(4) )或除法错或除法错(0(0) )中断源中断源由调试程序由调试程序debugdebug设置的中断设置的中断:TF:TF1 1单步中断单步中断(1#)(1#)或断点中断或断点中断(3(3) )可屏蔽中断可屏蔽中断INTRINTR实时处理实时处理 同步操作同步操作电源故障中断电源故障中断动态动态RAMRAM有奇偶校验错误有奇偶校验错误I/OI/O通道出现奇偶校验错误通道

4、出现奇偶校验错误协处理器协处理器80878087有中断请求有中断请求不可不可屏蔽中断屏蔽中断NMI(2#)NMI(2#)7中断处理过程中断处理过程nCPUCPU响应中断过程响应中断过程n中断向量表中断向量表n中断服务程序返回中断服务程序返回n中断服务子程序中断服务子程序8CPUCPU响应中断过程响应中断过程n中断中断请求请求n中断中断响应响应n保护保护现场现场状态寄存器(状态寄存器(PSWPSW)断点(断点(CSCS和和IPIP)中断服务程序要用到的寄存器的内容中断服务程序要用到的寄存器的内容n进入进入中断服务程序中断服务程序n恢复恢复现场现场n中断中断返回返回与中断相关的指令及其执行过程与中

5、断相关的指令及其执行过程nINT nn当前PSW入栈n IF0;TF0 n断点地址入栈(先CS,后IP)n取出中断服务子程序的入口地址(也称中断向量)n 段地址 CSn 偏移地址IP 从而转入中断处理程序n 注意与子程序调用指令的区别9nIRETn断点地址出栈(先IP,后CS)n标志寄存器psw出栈nINTO n相当于INT 4溢出中断,(OF)=1,触发nSTI-开中断开中断 ,IF=1n 用于控制可屏蔽中断请求用于控制可屏蔽中断请求 是否被响应是否被响应nCLI-关中断关中断, IF=01011CPUCPU响应中断过程响应中断过程nCPUCPU响应外部中断的条件响应外部中断的条件外设提出中

6、断申请(有中断请求信号)外设提出中断申请(有中断请求信号)本中断未被屏蔽本中断未被屏蔽本中断优先级最高本中断优先级最高CPUCPU允许中断(允许中断(IF=1IF=1)nCPUCPU响应中断要在完成当前正在执行的指令之后响应中断要在完成当前正在执行的指令之后n在等待指令或串操作指令时,允许在指令执行过程中进在等待指令或串操作指令时,允许在指令执行过程中进入中断,但要在当前一个基本操作完成之后入中断,但要在当前一个基本操作完成之后n下述情况要执行完下一条指令才能响应外部中断下述情况要执行完下一条指令才能响应外部中断CPUCPU正在执行封锁指令正在执行封锁指令正在执行向段寄存器输送数据的指令正在执

7、行向段寄存器输送数据的指令12中断请求的查询中断请求的查询是否有不可是否有不可屏蔽中断屏蔽中断是否有可是否有可屏蔽中断屏蔽中断是否有内是否有内部中断部中断是否有单步是否有单步执行中断执行中断是否允许外部中断是否允许外部中断13保护现场保护现场PSW入栈入栈保护程序保护程序断点地址断点地址允许允许CPU继续继续响应其他中断响应其他中断检查是否有不检查是否有不可屏蔽中断可屏蔽中断检查是否有单检查是否有单步执行中断步执行中断恢复现场恢复现场TF14中断向量表中断向量表中断服务程序进入中断服务程序进入n问题:问题:确定是哪个中断源发出的中断请求信号确定是哪个中断源发出的中断请求信号得到对应的得到对应的

8、中断服务程序入口地址中断服务程序入口地址-中断向中断向量量n解决:解决:中断类型号:每一个中断源分配唯一的中断中断类型号:每一个中断源分配唯一的中断类型号与其对应类型号与其对应中断向量表:用来存放与中断类型号对应的中断向量表:用来存放与中断类型号对应的中断源的中断服务程序的入口地址中断源的中断服务程序的入口地址15中断向量表中断向量表n中断类型号:中断类型号:8086/80888086/8088系统有系统有256256种类型的中断,对应类种类型的中断,对应类型号型号0 0FFHFFH(P501P501)。)。00除法出错除法出错 11单步中断单步中断22不可屏蔽中断不可屏蔽中断 33断点中断断

9、点中断44溢出中断溢出中断 55打印屏幕打印屏幕8 80FH8259A0FH8259A中断中断 10H10H1FHBIOS1FHBIOS中断中断20H20H3FHDOS3FHDOS中断调用中断调用n中断向量表中断向量表:80868086、80888088中断系统按中断类型号由小到大中断系统按中断类型号由小到大的顺序把它们对应的中断处理程序的入口地址放在一张表的顺序把它们对应的中断处理程序的入口地址放在一张表中,并将它安置在中,并将它安置在内存中内存中00000H00000H003FFH003FFH的的1K1K空间内,这空间内,这张表就称为中断向量表(也称中断矢量表)张表就称为中断向量表(也称中

10、断矢量表)每个中断向量占每个中断向量占4 4个字节,高个字节,高2 2个字节放中断入口地址个字节放中断入口地址的的段地址(段地址(CSCS),低,低2 2字节放字节放偏移地址(偏移地址(IPIP)中断向量地址中断类型号中断向量地址中断类型号4 416中断向量表中断向量表17中断向量表中断向量表n供用户使用的供用户使用的中断类型号中断类型号n可由用户定义为可由用户定义为软中断软中断,由,由INT nINT n指令引用指令引用n可通过可通过INTRINTR端直接接入可屏蔽中断端直接接入可屏蔽中断n可通过中断控制器可通过中断控制器8259A8259A引入可屏蔽中断引入可屏蔽中断n用户使用中断类型号进

11、行某种中断处理用户使用中断类型号进行某种中断处理时,要处理的问题时,要处理的问题n1、编好所需要的中断服务子程序、编好所需要的中断服务子程序n2、用户需要自己将中断服务程序用户需要自己将中断服务程序入口地址写入口地址写入中断向量表,入中断向量表,中断向量的装填方法有两种中断向量的装填方法有两种指令指令DOSDOS功能调用功能调用1819中断向量表的装填中断向量表的装填指令装填指令装填MOV AX,0MOV AX,0;主程序中设置;主程序中设置 MOV ES,AXMOV ES,AX MOV BX,NMOV BX,N* *4 4;中断类型号;中断类型号N N MOV AX,OFFSET INTRA

12、DMOV AX,OFFSET INTRAD;置偏移地址;置偏移地址 MOV ES:WORD PTRBX,AXMOV ES:WORD PTRBX,AX MOV AX,SEG INTRADMOV AX,SEG INTRAD;置断地址;置断地址 MOV ES:WORD PTRBX+2,AXMOV ES:WORD PTRBX+2,AX STISTI . . . . . . INTRAD: INTRAD: PUSH AXPUSH AX;中断服务子程序;中断服务子程序 STISTI . . . . . . POP POP AXAX IRETIRET20中断向量表的装填中断向量表的装填DOSDOS中断调用中

13、断调用n设置中断向量设置中断向量把把ALAL中指定的中断类型号的中断向量中指定的中断类型号的中断向量DSDS:DXDX放置在中断矢量表中放置在中断矢量表中n预置预置AL=AL=中断类型号中断类型号 DS:DX=DS:DX=中断服务程序入口地址中断服务程序入口地址 AH=25HAH=25Hn执行执行 INT 21HINT 21Hn取中断向量取中断向量把由把由ALAL指定中断类型号的中断向量从中指定中断类型号的中断向量从中断矢量表中取到断矢量表中取到ESES:BXBX中中n预置预置AL=AL=中断类型号中断类型号 AH=35HAH=35Hn执行执行 INT 21HINT 21Hn返回:返回:ES:

14、BX=ES:BX=中断服务程序入口地址中断服务程序入口地址21中断向量表的设置中断向量表的设置DOSDOS中断调用中断调用MOV AL,MOV AL,N NMOV AH, MOV AH, 35H35HINT 21HINT 21HPUSH ESPUSH ESPUSH BXPUSH BXPUSH DSPUSH DSMOV AX, MOV AX, SEG INTRADSEG INTRADMOV DS, MOV DS, AXAXMOV DX, MOV DX, OFFSET INTRADOFFSET INTRADMOV AL, MOV AL, N NMOV AH, MOV AH, 25H25HINT 2

15、1HINT 21HPOP DSPOP DSPOP DXPOP DXPOP DSPOP DSMOV AL, MOV AL, N N MOV AH, MOV AH, 25H25HINT 21HINT 21HRETRETIRETIRETINTRAD:INTRAD:恢复原恢复原中断向量中断向量设置中断向量设置中断向量取中断向量取中断向量到到ES:BXES:BX存原中断向量存原中断向量中断服务程序中断服务程序22中断向量表中断向量表中断类型号的获取中断类型号的获取n对于对于除法出错、单步中断、不可屏蔽中断、断点中断、除法出错、单步中断、不可屏蔽中断、断点中断、溢出中断溢出中断,CPUCPU自动提供自动提

16、供中断类型号中断类型号0 04 4n用户自己确定的软件中断用户自己确定的软件中断INT nINT n,类型号由,类型号由n n决定决定n对外部可屏蔽中断对外部可屏蔽中断INTRINTR,可用硬件电路设计产生中断,可用硬件电路设计产生中断类型号类型号n对外部可屏蔽中断对外部可屏蔽中断INTRINTR,可以用,可以用8259A8259A获得中断类型号获得中断类型号可屏蔽中断的响应过程23n INTR=1若IF=1,且无内部中断,无NMI,无总线请求,执行完当前指令,n发/INTA=0(通知外设准备中断类型号)n发/INTA=0,读取外设DATA低8位的中断类型码,转入中断处理24内部中断处理过程及

17、其特点:内部中断处理过程及其特点:nb1)程序状态字压入堆栈)程序状态字压入堆栈n (SP)(SP)-2n (SP)+1,(SP) PSWn b2)IF=0,TF=0,以便禁止可屏蔽中断和单,以便禁止可屏蔽中断和单步中断步中断n b3) 断点地址压入堆栈断点地址压入堆栈n (SP)(SP)-2n (SP)+1,(SP)(CS)n (SP)(SP)-2n (SP)+1,(SP) (IP)25nb4)取中断向量)取中断向量n (IP)=(4*n)n (CS)=(4*n+2)nb5)执行中断服务程序)执行中断服务程序nb6)执行中断返回指令)执行中断返回指令IRET,n (IP)(SP)+1,(SP

18、)n (SP)(SP)+2n (CS)(SP)+1,(SP)n (SP)(SP)+2n (PSW)(SP)+1,(SP)n (SP)(SP)+22627中断服务程序返回中断服务程序返回n通过通过中断返回指令中断返回指令nIRETIRETn自动弹出断点处指令地址和程序状态字自动弹出断点处指令地址和程序状态字n使使CPUCPU返回原程序断点处继续执行返回原程序断点处继续执行28中断服务子程序中断服务子程序n保护现场,涉及的寄存器入栈;保护现场,涉及的寄存器入栈;n若允许中断嵌套,用若允许中断嵌套,用STISTI开中断,使开中断,使IF=1IF=1;n执行中断处理程序;执行中断处理程序;n用用CLI

19、CLI关中断,使关中断,使IF=0IF=0;n给中断命令寄存器送中断结束命令给中断命令寄存器送中断结束命令EOIEOI,使当,使当前处理的中断请求标志位清零;前处理的中断请求标志位清零;n恢复现场,保护的寄存器值出栈;恢复现场,保护的寄存器值出栈;n用用IRETIRET返回主程序。返回主程序。29中断优先级和中断嵌套中断优先级和中断嵌套n多个中断源同时向多个中断源同时向CPUCPU请求中断时请求中断时,按中断源的轻重,按中断源的轻重缓急程度确定的优先级别称为缓急程度确定的优先级别称为中断优先级;中断优先级;nCPUCPU先响应优先级高先响应优先级高的中断,的中断,挂起优先级低的挂起优先级低的中断

温馨提示

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

评论

0/150

提交评论