收藏 分销(赏)

第九章 8086CPU中断.ppt

上传人:pc****0 文档编号:14029333 上传时间:2026-06-09 格式:PPT 页数:126 大小:1.41MB 下载积分:10 金币
下载 相关 举报
第九章 8086CPU中断.ppt_第1页
第1页 / 共126页
第九章 8086CPU中断.ppt_第2页
第2页 / 共126页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第九章 中断,当,CPU,用查询的方式与外设交换信息时,,CPU,就要浪费很多时间去等待外设。这样就引出一个快速的,CPU,与慢速的外设之间数据传送的矛盾,这也是计算机在发展过程中遇到的严重问题之一。为解决这个问题,一方面要提高外设的工作速度,另一方面发展了中断慨念。中断系统是计算机的重要指标之一。,9,1,中断原理,9,1,1,从无条件传送、条件传送到中断传送,条件传送最大的缺点就是为了,CPU,和外设在时间上配合正确,,CPU,花大量的时间用无条件方式对状态线进行查询,从而降低了整个系统的工作效率。,具有中断功能的,CPU,中,有一个硬件部件专门用于检测外设的状态线。,9,1,中断原理,9,1,2,中断概念,9,1,中断原理,9,1,2,中断概念,可见在中断传送方式下,外设应有请求,CPU,服务的权利,当外部设备准备好向,CPU,传送数据,或者外设已准备就绪接收,CPU,的数据,或者有某些紧急情况要求处理,或者是定时时间到等等。这时,,外设向,CPU,发出中断请求,,CPU,接收到请求并在一定条件下,暂时停止执行原来的程序而转去中断处理,,处理好中断服务再返回来执行原来程序,这就是中断概念。,9,1,中断原理,9,1,3,中断应用,一、实时故障处理,存储器出错检测电路,9,1,中断原理,9,1,3,中断应用,二、分时操作,同时处理,有了中断功能,,CPU,可命令多个外设同时工作。虽然,CPU,在不同的时间点上为不同的任务工作,但宏观上看,CPU,几乎同时为不同的任务工作,极大地发挥了,CPU,高速性的特点。,处理任务,1,处理任务,2,处理任务,3,9,2,中断系统组成及其功能,9,2,1,三个与中断有关的触发器,一、中断请求触发器,应该有两个特点:,1,、它的输出可以作为中断请求信号,在满足一定条件的情况下把信号发送给,CPU,,,并在,CPU,未响应时一直保存下去;,2,、当,CPU,满足一定条件下响应了该中断请求信号,执行了相关的操作后,该中断请求信号可以被撤除。,9,2,中断系统组成及其功能,9,2,1,三个与中断有关的触发器,8255A,工作在方式,1,输入,A,口的选通信号,当其有效时,外设把数据打入,A,口的输入缓冲器,A,口的输入缓冲器“满”信号,当其有效时表示,A,口的输入缓冲器已暂存一个有效数据。,A,口的中断请求信号。当其有效时,,8255A,的,A,口向,CPU,申请中断,要求,CPU,从,A,口取数,中断允许信号。,STB,数据锁存,INTR,9,2,中断系统组成及其功能,9,2,1,三个与中断有关的触发器,二、中断屏蔽触发器,中断屏蔽触发器的功能就是决定中断请求触发器的输出信号是否可以作为中断请求信号发送给,CPU,,,这样,CPU,通过对中断屏蔽触发器的设置就可以达到对中断源的控制。,中断屏蔽触 发 器,8255A,工作在方式,1,输入,A,口的选通信号,当其有效时,外设把数据打入,A,口的输入缓冲器,A,口的输入缓冲器“满”信号,当其有效时表示,A,口的输入缓冲器已暂存一个有效数据。,A,口的中断请求信号。当其有效时,,8255A,的,A,口向,CPU,申请中断,要求,CPU,从,A,口取数,中断允许信号。,MOV AL,00001001 ;,允许发中断,MOV,控制口,,AL,MOV AL,00001000 ;,屏蔽中断,MOV,控制口,,AL,9,2,中断系统组成及其功能,9,2,1,三个与中断有关的触发器,CPU,内部的中断允许触发器,IF,CPU,通过对它进行设置来决定是否对发给它的中断请求信号进行响应。,中断检测,IF,中断逻辑,INTR,CLI,IF,0,关中断,STI,IF,1,开中断,9,2,中断系统组成及其功能,9,2,1,三个与中断有关的触发器,CPU,内部的中断允许触发器,IF,有些,CPU,,,比如,8086CPU,,,设置了两种中断类型:,可屏蔽中断和不可屏蔽中断,。可屏蔽中断受中断允许触发器控制,只有当,IF,为,1,时,,CPU,才能响应中断请求信号。而不可屏蔽中断不受中断允许触发器的控制,只要中断请求信号有效,不管,IF,是否为,1,,,CPU,就必须响应。因此不可屏蔽中断的中断优先级要大于可屏蔽中断的中断优先级。,中断检测,IF,中断逻辑,INTR,NMI,不可屏蔽中断,可屏蔽中断,9,2,中断系统组成及其功能,9,2,2,再谈中断条件,外设的中断请求信号要想发给,CPU,并能最终得到,CPU,的响应,必须要满足如下两个条件:一个是中断屏蔽触发器处于非屏蔽状态。在这种情况下,中断请求信号才能发给,CPU,。但,CPU,是否相应这个中断,还要看中断允许触发器是否处于开中断状态。只有,CPU,是开中断的条件下,,CPU,才能进入中断响应过程,处理中断事务。这就是第二个条件。,中断响应,中断屏蔽,FF,中断允许,FF,CPU,内的中断逻辑,中断申请信号,INTR,9,2,中断系统组成及其功能,9,2,3,中断响应过程,中断过程主要包括三个方面,外设发中断请求信号给,CPU,即中断请求,CPU,对中断请求信号所作出的反应即中断响应,CPU,执行对外设操作的子程序即中断处理。,9,2,中断系统组成及其功能,9,2,3,中断响应过程,一、中断申请,当中断屏蔽触发器状态为,1,,则中断请求触发器输出的中断请求信号发给,CPU,。,二、中断响应,CPU,响应可屏蔽中断申请必须满足的,3,个条件,:,无总线请求;,CPU,被允许中断;,CPU,执行完现行指令,9,2,中断系统组成及其功能,9,2,3,中断响应过程,三、中断处理,CPU,响应中断后要自动完成三项任务,1,、,关闭中断;,2,、,CS,、,IP,以及,FR,的内容推入堆栈;,3,、中断服务程序段地址送,CS,中,偏移地址送,IP,中。,一旦,CPU,响应中断,就可转入中断服务程序之中。中断服务程序的结构如下:,push ax,;,1,、,保护现场,push,bx,sti,;,2,、,开中断,;,3,、中断处理,cli,;,4,、,关中断,pop,bx,;,5,、,恢复现场,pop ax,sti,;,6,、,开中断和,中断返回,iret,9,3,中断源识别及中断优先权,在中断系统中一个非常关键的问题是,CPU,如何知道是哪一个中断源发出的中断申请信号。只有正确地确定中断源,,CPU,才能转到相应的中断服务程序为之服务。这里,确定中断源的方法被称为中断源识别或中断方式。,A B C,CPU,INTR,?!,9,3,中断源识别及中断优先权,9,3,1,中断源识别,包括两个方面:,1,、确定中断源,,2,、找到该中断服务程序的首地址。下面我们给出解决问题的两种方案。,9,3,中断源识别及中断优先权,9,3,1,中断源识别,一、查询中断,IN AL,IPORT,;,从输入接口取中断信息,TEST AL,,,80H,;是,0,号设备请求吗,?,JNZ SEVO,;,是,转,0,号设备服务程序,TEST AL,40H,;,否,是,1,号设备请求吗,?,JNZ,SEVl,;,是,转,1,号设备服务程序,TEST AL,20H,;,否,是,2,号设备请求吗,?,JNZ SEV2,;,是,转,2,号设备服务程序,TEST AL,10H,;,否,是,3,号设备请求吗,?,JNZ SEV3,;,是,转,3,号设备服务程序,条件传送查询中断?,特点:简单,响应慢,9,3,中断源识别及中断优先权,9,3,1,中断源识别,二、矢量中断,中断申请信号,INTR,和中断响应信号,INTA,是一对握手信号。在驱动一个中断事件过程中,中断请求信号是外设发给,CPU,的,当其有效时,表示外设请求,CPU,为之服务。而中断响应信号是,CPU,发给外设的,当其有效时,表明,CPU,可以为这个外设服务,同时要求外设提供中断类型号。,9,3,中断源识别及中断优先权,9,3,1,中断源识别,二、矢量中断,CS,T,9,3,中断源识别及中断优先权,9,3,2,中断优先权,一、软件方案,软件查询确定优先权的缺点是,响应中断慢,9,3,中断源识别及中断优先权,9,3,2,中断优先权,二、硬件方案,1,、链形电路,这种方法是利用外设在系统中的物理位置来决定其中断优先权的,中断申请,中断申请,中断申请,中断允许入,IEI,1,,,允许发中断,中断允许出,IEO,IEI INTR,0,0,0,1,易受电路延迟影响!,9,3,中断源识别及中断优先权,9,3,2,中断优先权,二、硬件方案,2,、编码电路,74LSl48,是一个,8,到,3,线的优先权编码器,它是一个,16,个管脚双列直插式,TTL,器件,I,0,I,1,I,7,000,I,0,I,1,I,7,I,0,I,1,I,7,001,中断申请信号,级联控制信号,Gs,9,4 8086,中断系统,8086,中断系统有两大类型的中断源:,一类是由外部设备产生的中断,我们称之为,硬件中断,,硬件中断有时又称,外中断,。对于硬件中断,又分为,不可屏蔽中断和可屏蔽中断,,硬件中断是通过,CPU,芯片的,INTR,管脚或,NMI,管脚从外部引入的。,另一类是由指令在某种运行结果时产生的中断,我们称之为,软件中断,。,中断类型号和中断服务子程序的入口地址之间的关系是什么?,INT_PROC PROC FAR,PUSH AX,POP AX,IRET,?,9,4 8086,中断系统,9,4,1,不可屏蔽中断,所谓不可屏蔽中断就是用户不能通过,CPU,内的中断允许触发器,IF,控制的中断,由,8086CPU,的,NMI,管脚引入。,NMI,中断请求采用上升沿触发方式,这种中断一旦产生,在,CPU,内部直接生成中断类型号,02,。,如何处理多个,NMI,中断源?,9,4 8086,中断系统,9,4,2,可屏蔽中断,可屏蔽中断就是用户可以控制的中断,其途径是通过对,CPU,内的中断允许触发器,IF,的设置来禁止和允许,CPU,响应中断。可屏蔽中断由,8086CPU,的,INTR,管脚引入。这种中断请求需要设备提供中断类型号,,CPU,响应中断后,取中断类型号的,4,倍作为中断服务入口地址表的地址,通过查表得到相应的中断服务程序首地址,转去执行相应的中断服务程序。,9,4 8086,中断系统,9,4,3,软件中断,软件中断是由,8086,指令系统中的某些指令产生,或由这些指令运行后某种特定的结果产生。,9,4 8086,中断系统,9,4,3,软件中断,一、除法中断,当进行除法运算时,若除数为,0,或除数太小,使得商数大于相应寄存器所能表示的最大值,被称作除法出错。这时除法指令就相当于一个中断源,它向,CPU,发出类型,0,中断。,9,4 8086,中断系统,9,4,3,软件中断,二、溢出中断,当算术运算产生溢出时,将在,INTO,指令控制下,向,CPU,发出类型,4,的中断,即溢出中断。,比如,mov,al,40h,add al,40h,into,9,4 8086,中断系统,9,4,3,软件中断,三、单步中断和断点中断,(1),单步中断,当,8086CPU,的标志寄存器中的,TF,标志为,1,时,,8086CPU,处于单步工作方式,这时,CPU,在每条指令执行后自动产生类型,l,的中断。,TF,在标志寄存器的第,8,位。,(2),断点中断,INT3,指令是,1,字节指令,(0CCH),,,如何实现断点调试?,9,4 8086,中断系统,9,4,3,软件中断,四、软中断,软中断是由中断指令引起的。中断指令的指令格式为,INT n,(CD 21),,,操作数,n,就是中断类型号。,当,CPU,执行完毕中断指令,INT n,后,就会立即产生一个中断类型号为,n,的中断。,int,n,call far 4*n,9.4 8086,中断系统,9.4,4,中断概念的再讨论,一、中断与调子程序之间的关系,1,、中断过程实际上是,CPU,从执行当前主程序转到执行为外设服务的子程序,因此从这个角度来看,是,中断过程一个调用子程序的过程。,2,、但中断过程与子程序调用还是有很大差别的,比如,首先调用子程序的过程是一个无条件过程,但中断过程的中断服务程序的调用一般是有条件的。,其次子程序调用在整个程序执行中的位置是固定的。但对于硬件中断过程,只要条件满足,在整个程序执行的任意一时间点都有可能发生从主程序向中断服务子程序的转移事件,也就是说硬件中断产生的调用过程是随机的,不可预测的。,9.4 8086,中断系统,9.4,4,中断概念的再讨论,二、外部中断和,INT n,之间的关系,结合中断指令,INT n,,,我们可以这样理解外部中断:当外部中断源发中断给,CPU,时,如果,CPU,满足一定的条件,处于开中断状态,,CPU,就可以响应中断,这时外设,在,CPU,正在执行指令与其下一个指令之间,等效“插入”了一个,INT n,指令,这里的,n,就是外设提供的中断类型号。注意这里用“等效”两字表示实际过程中是不存在插入,INT n,指令的操作,但,CPU,确实完成了类似,INT n,指令的功能,实现了主程序向中断程序的转移。,MOV AL,10,MOV BX,100,MOV BL,100,ADD AL,BL,INT n,INT n,9.5 8086CPU,的中断管理,9.5.1 8086CPU,的中断处理顺序,8086CPU,的中断优先权排列从高到低为:,1,、除法出错中断,溢出中断,,INT n,;,2,、,NMl,;,3,、,INTR,;,4,、,单步中断。,9.5 8086CPU,的中断管理,9.5.2 8086CPU,的中断服务入口地址表,已知中断程序,int_proc,和中断类型号,n,int_proc,far,push,iret,int_proc,endp,CPU,中断类型号,n,?,9.5 8086CPU,的中断管理,9.5.2 8086CPU,的中断服务入口地址表,已知中断程序,int_proc,和中断类型号,n,int_proc,far,push,iret,int_proc,endp,CPU,中断类型号,n,把,地址,int,_ proc,放到,4*n,地址,9.5 8086CPU,的中断管理,9.5.2 8086CPU,的中断服务入口地址表,9.5 8086CPU,的中断管理,9.5,3,中断入口地址设置,一、,用串指令,CLI,;,关中断,MOV AX,0,MOV ES,AX,;,置附件段基地址为,0,MOV DI,n*4,;,置附件段偏移地址到,DI,MOV AX,OFFSET INT_VCE,;,置中断程序首地址的偏移量到,AX,CLD,STOSW,;,填偏移量到中断地址表,MOV AX,SEG INT_VCE,;,置中断程序的段基地址到,AX,STOSW,;,填段基地址到中断地址表,STI,;,开中断,9.5 8086CPU,的中断管理,9.5,3,中断入口地址设置,二、用伪指令,INT,TBLSEGMENT AT 0,;,定义,INT,TBL,段,段基地址为,0,ORG n*4,;,指定偏移地址,DD INT,VCE,;,存中断程序入口地址,INT,TBL ENDS,;,其他处理,MCODE SEGMENT,;,主程序,;其他处理,INT,VCE PROC FAR,;,中断类型,4,的服务程序,IRET,INT,VCEENDP,8.5 8086CPU,的中断管理,8.5,3,中断入口地址设置,三、用系统调用,使用,25H,功能时要求:,AL,中断类型号,DS,:,DX,中断服务程序首地址的段、偏移地址,注意,DS,保护,PUSH DS,MOV DX,,,SEG INT60H,;,段基地址送,DS,MOV DS,,,DX,MOV DX,,,OFFSET INT60H,;,偏移地址送,DX,MOV AL,,,60H,;,中断类型号送,AL,MOV AH,,,25H,INT 21H,;,25H,功能调用,POP DS,8.5 8086CPU,的中断管理,8.5,3,中断入口地址设置,四、直接装入法,若外设的中断类型号为,6BH,,,则此中断类型号对应的中断矢量表地址为从,00lACH,开始的四个存储单元设中断服务程序段地址是,1000H,,,偏移地址为,2000H,。,MOV AX,,,0,MOV DS,,,AX,;,置数据段段基地址为,0,MOV AX,,,2000H,MOV 01ACH,AX,;,对偏移地址为,01AC,的单元,MOV AX,1000H,;,送双字,MOV 01ACH+2,AX,9.6,可编程中断控制器,8259,外设,状态线,C,P,U,INTR,发中断申请信号,中断屏蔽触发器,发中断矢量,中断优先权排队,中断控制器,9.6,可编程中断控制器,8259,一、,8259A,的内部结构,中断服务寄存器,中断请求,寄存器,IR0,IR1,IR7,IR2,IR3,IR4,IR5,IR6,IR0,IR1,IR2,IR3,IR4,IR5,IR6,IR7,0,0,1,、工作原理,0,001,中断服务寄存器,中断请求,寄存器,IR0,IR1,IR7,IR2,IR3,IR4,IR5,IR6,IR0,IR1,IR2,IR3,IR4,IR5,IR6,IR7,0,0,1,、工作原理,0,000,中断服务寄存器,中断请求,寄存器,IR0,IR1,IR7,IR2,IR3,IR4,IR5,IR6,IR0,IR1,IR2,IR3,IR4,IR5,IR6,IR7,0,0,1,、工作原理,0,2,、,单级,8259,与,8086CPU,联接,R,RD,WR,3,、接口电路,(,设置偶地址,),CS,(138)Y,i,A,0,9.6,可编程中断控制器,8259,二、,8259A,的中断管理方式,(一)、中断优先权管理,1,完全嵌套方式,8259A,的中断请求输入端引入的中断具有固定的优先权排队顺序,,IR,0,为最高优先级,,IR,1,为次高优先级,依次类推,,IR,7,为最低优先级。,9.6,可编程中断控制器,8259,2,特殊全嵌套方式,特殊全嵌套方式和全嵌套方式基本相同,只有一点不同,就是在特殊全嵌套方式下,当处理某一级中断时,如果有同级的中断请求,那么,也会给予响应,从而实现一种对同级中断请求的特殊嵌套。,特殊全嵌套方式一般用在,8259A,级连的系统中。,9.6,可编程中断控制器,8259,3,自动循环方式,从,IR,0,IR,7,引入的中断轮流具有最高优先权。,初始优先级队列规定为,IR0,IR1IR2IR3IR4IR5IR6IR7,如果,IR0,端正好有中断请求,处理完后,IR1IR2IR3,IR4,IR5IR6IR7IR0,如果,IR4,端正好有中断请求,处理完后,IR5IR6IR7IR0IR1IR2IR3IR4,9.6,可编程中断控制器,8259,4,优先级特殊循环方式,最低优先级是由编程确定的,从而最高优先级也由此而定。,比如定,IR5,最低,则,IR6,最高,IR6IR7IR0IR1IR2IR3IR4IR5,9.6,可编程中断控制器,8259,(三)中断屏蔽方式,有两种方法:,第一、普通屏蔽方式。,第二、采用特殊屏蔽方式。,系统正在处理高级中断时,可以响应低级别中断,9.6,可编程中断控制器,8259,(四)、,8259A,中断结束的管理方式,中断服务寄存器,中断请求,寄存器,IR0,IR1,IR7,IR2,IR3,IR4,IR5,IR6,IR0,IR1,IR2,IR3,IR4,IR5,IR6,IR7,000,0,0,0,9.6,可编程中断控制器,8259,(四)、,8259A,中断结束的管理方式,可采用三种中断结束方式:,自动,EOI,方式,/INTA,清除中断服务寄存器高级别位,一般,EOI,方式,程序对,8259,发中断结束命令,,清除中断服务寄存器高级别位,特殊,EOI,方式,程序对,8259,发中断结束命令,,清除中断服务寄存器指定位,9.6,可编程中断控制器,8259,三、,8259A,编程,(一)、,8259A,的初始化命令字,ICW1,的,格式和含义,主要功能是中断信号的触发方式,例如:上升沿触发,级联,0 0 0 1 0 0 0 1,8086,级联,沿,触发,9.6,可编程中断控制器,8259,三、,8259A,编程,(一)、,8259A,的初始化命令字,ICW2,的格式和含义,功能是中断类型号,例如:中断类型号为,08,0F,0 0 0 0 1 x x x,9.6,可编程中断控制器,8259,三、,8259A,编程,(一)、,8259A,的初始化命令字,ICW3,的格式和含义,在,8259A,有级联情况下使用,主,从,ICW301001000,ICW300000110,ICW30000011,9.6,可编程中断控制器,8259,三、,8259A,编程,(一)、,8259A,的初始化命令字,ICW4,的格式和含义,主要功能是中断嵌套方式选择,使能中断结束方式,D1,1,为自动,EOI,,,Dl,0,为非自动,EOI,D4,位,SFNM,为有级联时定义的,,D4,1,为特殊完全嵌套方式,,D4=0,完全嵌套方式,例如:,0 0 0 0 0 0 0 1,9.6,可编程中断控制器,8259,三、,8259A,编程,(二)、,8259A,的操作命令字,0CW1,的,格式和含义,主要功能是确定屏蔽位,1,表示禁止中断,0 0 0 1 0 0 0 1,9.6,可编程中断控制器,8259,三、,8259A,编程,(二)、,8259A,的操作命令字,0CW2,的格式和含义,主要功能是,控制中断结束,,优先权循环等操作,如果采用一般,EOI,方式,0 0 1 0 0 0 0 0,0,中断服务寄存器,中断请求,寄存器,IR0,IR1,IR7,IR2,IR3,IR4,IR5,IR6,IR0,IR1,IR2,IR3,IR4,IR5,IR6,IR7,000,0,0,MOV AL,20H,OUT,端口,(A0=0),AL,9.6,可编程中断控制器,8259,三、,8259A,编程,(二)、,8259A,的操作命令字,0CW3,的格式和含义,主要功能是控制,8259A,的中断屏蔽和读取寄存器的状态,一般不用,9.7,中断举例,中断传送方式的设计过程是:,一、硬件方面:,设定硬件的中断类型号。,二、软件方面:,分主程序和中断子程序,中断子程序:,编写中断服务子程序。,主程序:,1,、关中断;,2,、,填写中断入口地址表;,3,、,设置,8259A,及其他编程芯片;,4,、,开中断;,举例一:软件中断,INTO,中断,执行结果由两个加数决定,,有溢出:,BL,0FFH,;,无溢出:,BL,00,。,INTO1PROC,;,中断溢出处理,PUSH AX,MOV BL,0FFH,POP AX,IRET,;,中断返回,INTO1ENDP,DATASEGMENT,;,定义数据段,ADD1DB?,ADD2DB?,DATAENDS,CODESEGMENT,;,定义代码段,ASSUME CS:CODE,DS:DATA,START:MOV AS,DATA,MOV DS,AX,MOV AX,0,;,填写中断地址表,MOV ES,AX,MOV DI,04*4,;,存中断程序首地址的偏移量,MOV AX,OFFSET INTO1,;,可用,MOV AX,CS,CLD,STOSW,;,存中断程序首地址的段地址,MOV AX,SEG INTO1,STOSW,MOV BL,0,;,主程序,MOV AL,ADD1,;,计算,ADD1,ADD2,ADD AL,ADDD2,INTO,;,若有溢出,转溢出处理,MOV AL,BL,MOV AX,4C00H,INT 21H,HLT,INTO1PROC,;,中断溢出处理,MOV BL,0FFH,IRET,;,中断返回,INTO1ENDP,;,CODEENDS,END START,举例二:硬件中断,下图是一个接口电路,用中断传送方式使,8255A,的,A,口的发光二极管依次发光,要求每个二极管在一个循环中发光,1S,。设,8255A,端口地址为,80H,86H,,,8253,端口地址为,88H,8EH,,主,8259,端口地址,为,90H,92H,,从,8259,端口地址为,98H,9AH,CA0,CA1,CA2,CA0,CA1,CA2,SP,SP,+5V,0V,/INTA,/INTA,/INTA,INT,INT,INTR,IR0 IR7,IR0 IR7,OUT0 GATA0 CLK0,+5V,1KHz,A0 A1 A7,+5V,8259,8259,8255,8253,8255A,的,A,口工作方式可选为方式,0,的输出,而,8253,通道,0,的工作方式可定为方式,0,,即计数结束产生中断信号。,8255A,的方式控制字:,10001011B,。即,A,输出,,B,口输入,,C,口输入。,8253,通道,0,的方式控制字:,00110001B,。,即工作方式为方式,0,,,BCD,码计数。,8259,设置特点,1,、初始化具有顺序性,2,、顺序为,ICW1,、,ICW2,、,ICW3,、,ICW4,主,8259,设置,ICW1,:,上升沿触发,级联,端口,90H,:,00010001B,ICW2,:,中断类型码,端口,92H,:,08H,ICW3,:,主片从片标志,端口,92H,:,00000100B,ICW4,:,完全,中断嵌套方式,非自动中断结束方式,端口,92H,:,00000001B,从,8259,设置,ICW1,:,上升沿触发,级联,端口,98H,:,00010001B,ICW2,:,中断类型码,端口,9AH,:,30H,ICW3,:,主片从片标志,端口,9AH,:,00000010B,ICW4,:,完全,中断嵌套方式,非自动中断结束方式,端口,9AH,:,00000001B,SHIFT_DATDB 0FEH,CLI,;,关中断,CLD,;,填写中断入口地址表,MOV AX,0,MOV ES,AX,MOV DI,4*31H,MOV AX,OFFSET INT_31H,MOV ES:DI,AX,INC DI,INC DI,MOV AX,SEG INT_31H,MOV ES:DI,AX,;,设置主,8259,MOV AL,11H,;,设置,ICW1,;,上升沿触发,级联,OUT 90H,AL,MOV AL,08,;,设置,ICW2,;,中断矢量,OUT 92H,AL,MOV AL,04,;,设置,ICW3,;,IR2,级联,OUT 92H,AL,MOV AL,01;,设置,ICW4;,非自动结束中断,(,清中断服务,FF),OUT 92H,AL,MOV AL,01101011B,;,设置,IOW1,开放,IR2,,,IR4,,,IR7,中断,OUT 92H,AL,;,设置从,8259,MOV AL,11H,;,设置,ICW1,OUT 98H,AL,MOV AL,30H,;,设置,ICW2,OUT 9AH,AL,MOV AL,02,;,设置,ICW3,OUT 9AH,AL,MOV AL,01,;,设置,ICW4,OUT 9AH,AL,MOV AL,00000000B,;,设置,IOW1,开放,IR0IR7,中断,OUT 9AH,AL,;,设置,8255,和,8253,MOV AL,10001011B,;,设置,8255A,OUT 86H,AL,MOV AL,0,OUT 80H,AL,MOV AL,00110001B,;,设置,8253,通道,0,OUT 8EH,A,MOV AL,00,OUT 88H,AL,MOV AL,10H,OUT 88H,AL,STI,;,开中断,;执行其他程序,中断服务子程序:,主要是对,8255,的,A,口进行操作,使变量,SHIFT_DAT,的内容左移,,重新设置,8253,通道,0,,为下一次中断信号产生作准备,,对,8259A,传送一个,EOI,命令,表示中断程序完成。,INT31HPROC FAR,;,中断服务子程序,PUSH AX,;,保护现场,PUSHF,MOV AL,SHIFT_DAT,;,对,8255,的,A,口送数,OUT 80H,AL,ROL AL,1,;,变量,SHIFT_DAT,左移,MOV SHIFT_DAT,,,AL,;,准备下一次数据,MOV AL,00110001B,;,重新设置,8253,OUT 8EH,AL,MOV AL,00,OUT 88H,AL,MOV AL,10H,OUT 88H,AL,;,发,EOI,命令,MOV AL,20H,;,传送,EOI,命令给,8259,OUT 98H,AL,;,向从,8259,发,EOI,命令,OUT 90H,AL,;,向主,8259,发,EOI,命令,;,POPF,;,恢复现场,POP AX,IRET,;,中断返回,INT31HENDP,9.8 IBM-PC,机硬件中断,9.8,1,中断设置,在,PC/XT,机中,有一片,8259A,中断控制芯片,可管理,8,个中断,源。在,PC/AT,机中有两片,8259A,中断控制芯片,可管理,15,个中断源,。,9.8 IBM-PC,机硬件中断,9.8,1,中断设置,优先权,主片,:,IR0,IR1,从片:,IR0,IR1,IR2,IR3,IR4,IR4,IR5,IR6,IR7,主片:,IR3,IR4,IR5,IR5,IR7,中断类型号,主片:,00H,07H,从片:,70H,77H,9.8 IBM-PC,机硬件中断,9.8,2 PC,机中断资源的使用,一、对中断屏蔽寄存器的操作,主片,8259A,中断屏蔽寄存器的,I,O,端口地址是,21H,,,它的,8,位对应控制,8,个外部设备,通过设置这个寄存器的某位为,0,或为,1,来允许或禁止某外部设备的中断。某位为,0,表示允许某种外设中断请求,,某位为,1,表示某种外没的中断请求被屏蔽,(,禁止,),。,从片,8259A,中断屏蔽寄存器的,I,O,端口地址是,A1H,例如,只允许键盘中断,可设置如下中断屏蔽字:,MOV AL,11111101B,OUT 21H,AL,如果系统重新增设键盘中断则可用下列指令实现:,IN AL,21H,AND AL,11111101B,OUT 21H,AL,9.8 IBM-PC,机硬件中断,9.8,2 PC,机中断资源的使用,二、中断结束命令,在一次中断处理结束之前,还应给,8259A,可编程中断控制器的中断命令寄存器发出中断结束命令,EOI,,,可采用一般的,EOI,方式,中断命令寄存器的,I,O,端口地址为,20H,,,结束外中断用下面的指令:,MOV AL,20H,OUT 20H,AL,同样,如果中断是从片,8259A,的中断输入线产生的,则要同时对主片和从片的中断命令寄存器发,EOI,命令。从片,8259A,中断命令寄存器的,I,O,端口地址是,A0H,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服