您好,欢迎访问三七文档
1INAL,80H…OUT81H,AL回顾:外设始终准备就绪接口电路最简单只适应个别简单外设1.无条件传送方式2特点?外设具有状态信号接口电路具有状态、数据和命令端口2.查询方式3特点?外设具有状态信号接口电路具有状态、数据和命令端口系统的数据传送效率低,当主程任务量大时,不能快速响应2.查询方式为提高系统的传送效率引入了中断方式4CPU运行主程序期间不关心外设状态外设需要服务时,由外设发出中断请求CPU响应中断为外设需服务中断请求查询方式与中断方式的根本区别:查询方式:事件发生的时序是事先预定的,类似于打电话询问…中断方式:事件发生的时间是随机的,类似接电话。6.5中断方式中断方式的基本思想5中断请求中断的基本概念什么是中断中断是指某事件的发生引起CPU暂停当前程序的运行,转入对所发生事件的处理,处理结束又回到原程序被打断处接着执行这样一个过程。6中断请求中断的基本概念什么是中断中断源----产生中断的机构外部中断源-----外设发出的中断请求内部中断源-----CPU内部产生的中断例如,执行DIVBL时,若BL=0,则产生除法出错中断。此时,应进入中断服务程序进行处理DIVBLSUBBL,M2100:01002100:01022100:0104MOV...如,显示DIVERROR!中断服务程序1234:5600IRET…主程序7中断的基本概念什么是中断中断源----产生中断的机构中断号——也称为中断类型号或中断向量码8086最多有256个中断源,每一个中断源有一个中断号N(N=00H~FFH)中断号N是CPU识别中断源的标记例如:8086规定除法出错中断的中断类型号是00HDIVBLSUBBL,M2100:01002100:01022100:0104MOV...如,显示DIVERROR!中断服务程序1234:5600IRET…主程序88086系统在内存的0000H单元开始,按中断号顺序存放各中断服务程序的入口地址。中断向量表0000H0001H0002H0003H0004H0005H0006H0007H0008H0009H000AH000BH03FCH03FDH03FEH03FFH0#1#2#...255#1.在中断未产生之前,必须事先编写好中断服务程序2.在中断未产生之前,必须事先把中断服务程序的入口地址填写到该表格中。00H56H34H12HDIVBLSUBBL,M2100:01002100:01022100:0104MOV...如,显示DIVERROR!中断服务程序1234:5600IRET…主程序9几个名词0000H0001H0002H0003H0004H0005H0006H0007H0008H0009H000AH000BH03FCH03FDH03FEH03FFH0#1#2#...255#00H56H34H12H向量:中断服务程序的入口地址占4个字节向量地址:存放向量的地址向量地址与中断号N的关系:向量地址=N*4请问:1号中断的向量地址=?0004H若1号中断服务程序的入口地址为5678H:9ABCH,请画出该入口地址在向量表中的存放示意图。BCH9AH78H56HDIVBLSUBBL,M2100:01002100:01022100:0104MOV...如,显示DIVERROR!中断服务程序1234:5600IRET…主程序108086规定除法出错的中断号是0若中断发生保护现场:PSW,CS,IP压栈查向量表:(N*4)→CS:IP执行中断服务程序中断返回:IP,CS,PSW出栈0000H0001H0002H0003H0004H0005H0006H0007H0008H0009H000AH000BH0#1#2#...00H56H34H12HBCH9AH78H56H50H62H28H47H若CPU响应2号中断,请问,中断服务程序的入口地址=?4728H:6250H除法出错中断的响应与返回DIVBLSUBBL,M2100:01002100:01022100:0104MOV...如,显示DIVERROR!中断服务程序1234:5600IRET…主程序11小结:0000H0001H0002H0003H0004H0005H0006H0007H0008H0009H000AH000BH03FCH03FDH03FEH03FFH0#1#2#...255#00H56H34H12H8086最多有256个中断源,N=00H~0FFH向量表占用内存0000H单元开始的1KB空间见P268按中断号顺序存放各中断服务程序的入口地址必须事先把中断服务程序的入口地址填写到该表格中。向量地址与中断号N的关系:向量地址=N*4若CPU响应N号中断时,(N*4)→CS:IP中断的特点:完备复杂的管理系统高效迅速的响应机制关于中断128086中断源分类一.5种内部中断①除法错中断:N=0②单步中断:N=1③断点中断:N=3,如INT3④溢出中断:N=4指令INTO,称为溢出中断指令。如果程序运行到该条指令时,处理器的PSW中的OF标志位已经为1,执行该条INTO指令将产生一个中断。⑤软件中断:INTN如INT21H内部中断的特点:中断号是系统预先约定的,只要中断发生,CPU便可通过向量表找到其入口地址。13二.外部中断它是由外部中断源产生对CPU的请求而引发的。外部中断分为两种:①非屏蔽中断NMINMI上升沿产生中断中断号02H不可屏蔽把系统中最重要的中断源分配成NMI中断NMI内存出错电源掉电外设INTRINTA80868086中断源分类14②可屏蔽中断INTRINTR高电平产生中断可屏蔽中断若IF=1,则响应若IF=0,则不响应NMI内存出错电源掉电外设INTRINTA8086①非屏蔽中断NMI程序员可通过设置IF的状态来控制CPU是否响应INTR中断;对中断的一般管理方法CLI;IF=0,关中断,CLI指令见P91…系统初始化STI;IF=1,开中断…OFDFIFTFSFZFAFPFCF015246789101115INTR中断的响应过程INTR用高电平请求中断,CPU执行完当前指令且在IF=1的条件下,才能响应INTR中断。响应INTR时,CPU发出中断响应信号/INTA;P32在第二个/INTA期间,CPU接收中断源发来的中断类型码N。外设INTRINTACPUD7~D0CLKINTAT1T2T3T4TWTWTWT1T2T3T4中断类型码NAD~ADAD0~AD7CPU把PSW、CS及IP内容压栈。查向量表:(N*4)→CS:IP,CPU将开始执行中断服务程序,完成了INTR中断请求的响应过程。当执行IRET时,CPU从堆栈中弹出IP、CS及PSW,返回断点处继续执行主程序。16NMI为非屏蔽中断NMI上升沿产生中断不可屏蔽,即与IF无关不发中断响应信号中断类型码为02HINTR为可屏蔽中断INTR高电平产生中断若IF=1,则CPU响应INTR中断响应INTR时要发/INTA信号中断类型码由外设提供NMI内存出错电源掉电外设INTRINTA8086CLKINTAT1T2T3T4TWTWTWT1T2T3T4中断类型码NAD~ADAD0~AD7NMI和INTR中断的区别17取指令执行当前指令执行完否有内部中断?有NMI?有INTR?有单步中断?NIF=1TF=1中断响应过程YYYYYNNYNNNNY中断响应中断源的顺序P26718中断响应过程P266198086中断优先级中断源优先级除法错、INTn,INTO最高NMI↓INTR↓单步(陷阱)最低20作业601.从中断向量表的0008H单元开始依次存放有34H,FEH,00H和F0H。问该中断的类型码是。该中断服务程序的入口地址是。602.中断类型码为18H,该中断服务程序的入口地址应放在中断向量表的单元。
本文标题:6-3中断方式
链接地址:https://www.777doc.com/doc-3338722 .html