微型计算机原理微型计算机原理((第六章)第六章)主讲教师赖于树主讲教师赖于树Email:laser121@sina.comEmail:laser121@sina.com重庆三峡学院物理电子工程学院第六章中断技术第六章中断技术本章内容6.1中断的基本概念6.2IBM-PC微机中断系统6.3可编程中断控制器8259A6.48259A在微机系统中的应用6.16.1中断的基本概念中断的基本概念本章首页本章首页1.什么是中断外设中断:键盘、打印机、显示器等指令中断:INT10H、INT21H等硬件故障中断:奇偶错、电源故障等程序性中断:除法溢出、非法操作码等中断:是指CPU在正常运行程序时,由于内部/外部事件或由程序预先安排的事件,引起CPU中断正在运行的程序,转去为该事件服务。服务完毕,再返回去继续运行被暂时中断的程序的过程。中断服务(处理)程序、断点2.中断源与中断识别1)中断源:发出中断请求的外部设备或引起中断的内部原因2)中断识别:确定中断源,实现程序转移向量中断:中断向量、中断号查询中断:软、硬件查询确定中断源3)中断向量与中断向量表中断向量:中断服务程序入口地址,4个字节(偏移地址、段首址)中断向量表:PA=000H~3FFH,256个;存储结构(中断号,顺序)6.16.1中断的基本概念(续)中断的基本概念(续)本章首页本章首页4)中断类型号与中断向量指针类型号:8位,N=00~FFH中断向量指针:PA=4*N5)中断向量的装入(填写)与修改装入:系统配置和使用的系统软件负责CLICLDMOVAX,0MOVES,AXMOVDI,4*NMOVAX,OFFSETINT_SEVSTOSWMOVAX,SEGINT_SEVSTOSWSTI用串操作指令装入用系统功能调用装入(参照修改)用MOV指令装入设中断类型号为N,服务程序入口为INT_SEVCLIMOVAX,0MOVES,AXMOVDI,4*NMOVAX,OFFSETINT_SEVMOVES:[DI],AXMOVAX,SEGINT_SEVMOVES:[DI+2],AXSTI;写入偏移地址;写入段首址中断向量的修改修改方法与步骤•保存原中断向量INT21H的35H号功能•设置新中断向量INT21H的25H号功能•恢复原中断向量INT21H的25H号功能使用后恢复6.16.1中断的基本概念(续)中断的基本概念(续)本章首页本章首页…OLD_OFFDW?OLD_SEGDW?s…sMOVAH,35HMOVAL,NINT21HMOVOLD_OFF,BXMOVOLD_SEG,ESCLIMOVAH,25HMOVAL,NPUSHDSMOVDX,SEGINT_SEVMOVDS,DXMOVDX,OFFSETINT_SEVINT21HPOPDSSTIs…;定义保存原中断向量的2个字单元;保存原中断向量;设置新中断向量s…CLIMOVAH,25HMOVAL,NMOVDX,OLD_OFFMOVDS,OLD_SEGINT21H;恢复原中断向量获取中断向量(功能号AH=35H)入口参数:AL=类型号出口参数:ES:BX=中断向量设置中断向量(功能号AH=25H)入口参数:AL=类型号入口参数DS:DX=中断向量使用的DOS功能调用6)中断优先级排队方式按优先级排队循环轮流排队7)中断嵌套完全嵌套特定完全嵌套6.2IBM-PC6.2IBM-PC微机中断系统微机中断系统分类:硬中断(外部中断)、软中断(内部中断)1.硬中断(NMI和INTR)1)不可屏蔽中断NMI本章首页本章首页随机性中断号IRQ标准应用02H08H09H0AH70H71H72H73H74H75H76H77H0BH0CH0DH0EH0FHNMI0128910111213141534567奇偶检验错、I/O检测错中断定时器T0中断键盘输入中断接收从片8259A的中断请求实时钟中断改向INT0AH(以IR2出现)保留保留保留协处理器中断硬磁盘控制器中断保留串行通信(COM2)中断串行通信(COM1)中断打印机(LPT2)中断软磁盘控制器中断打印机(LPT1)中断系统硬中断不可屏蔽:不受IF状态影响类型号固定:02H有效信号:上升沿紧急故障处理:RAM奇偶校验错、I/O通道校验错、协处理器运算错协处理器INTNMI产生逻辑&&PCKIOCHCKNMIDQCLRD7写0A0HRESETCPU作用6.2IBM-PC6.2IBM-PC微机中断系统(续)微机中断系统(续)2)可屏蔽中断INTR可屏蔽:IF=1,开放;IF=0,屏蔽类型号由8259A提供(PC机08H~0FH)有效信号:高电平INTR的处理过程⑧开中断,接收请求⑨发2个INTA,取得类型号N⑩(PSW)(SP),IF=TF=0⑪(CS)(SP),(4*N+2)CS⑫(IP)(SP),(4*N)IP⑬执行中断服务程序⑭执行IRET时⑮(SP)(IP),(SP)(CS)⑯(SP)(PSW)⑰继续运行原程序2.软中断1)双字节指令形式的中断(INTn)ROM-BIOS中断:INT10H;INT16HDOS中断:INT21H;INT20H未定义中断:INT60H;INT78H2)特殊中断除法溢出中断(N=0)条件:商超出规定寄存器的表示范...