8086中断系统讲解
- 格式:ppt
- 大小:169.50 KB
- 文档页数:12
8086-6-中断中断(8086)中断就是打断处理器当前的执⾏流程,去执⾏⼀些和当前⼯作不相⼲的指令,执⾏完之后,还可以返回到原来的程序流程继续执⾏。
就好⽐你在打游戏突然⽼板来电话了,你不得不先停⽌打游戏然后来处理这件更为重要的事件,然后打完电话之后继续打游戏。
中断的⼀些概念:中断号:由于CPU需要通过对不同类型的中断进⾏不同处理,所以每种类型的中断都被统⼀编号,这称为中断类型号、中断向量或者中断号。
Intel处理器允许256 个中断,中断号的范围是0~255中断源:中断信号的来源,或者说产⽣中断的设备,被称为中断源。
中断嵌套:当⼀个中断事件正在处理时,如果来了⼀个优先级更⾼的中断事件时,允许暂时中⽌当前的中断处理,先为优先级较⾼的中断事件服务,这称为中断嵌套。
实模式下的中断向量表(Interrupt Vector Table,IVT):所谓中断处理,其实就是处理器要执⾏⼀段与该中断有关的程序(指令)你也可以将其当作⼀个函数。
处理器可以识别256 个中断,那么理论上就需要256 段代码。
这些代码实际存放的位置并不重要,重要的是,在实模式下,处理器要求将它们的⼊⼝点也就是起始地址集中存放到内存中从物理地址0x00000 开始,到0x003ff 结束,共1KB 的空间内,这就是所谓的中断向量表。
每个中断的⼊⼝点地址在中断向量表中占2 个字,分别是中断处理代码的偏移地址和段地址。
中断0的⼊⼝点位于物理地址0x00000 处,也就是逻辑地址0x0000:0x0000;中断1 的⼊⼝点位于物理地址0x00004 处,即逻辑地址0x0000:0x0004;其他中断⼊⼝点地址以此类推。
中断分类:中断⼤致上可以分为硬件中断和软件中断(简称为软中断)。
顾名思义,硬件中断由硬件来提供,⽐如说:CPU,⿏标键盘等。
⽽软件键盘由内部的代码来定义。
硬件中断:硬件中断还可以分为外部硬件中断和内部硬件中断,外部硬件中断是指除CPU以外的硬件对应的中断,⽽内部硬件中断是内部CPU对应的中断。
中断系统概述基本概念处理过程中断请求中断判优中断相应中断处理中断返回16位微机中断系统中断类型外部中断内部中断中断向量表组成及定位在8086/8088 中断系统中,所有中断服务程序的入口地址(中断向量)集中放在内存的最低1K区域(即地址为00000H ~ 003FFH) ,构成一个中断向量表。
每个中断向量占4个内存单元,前两个单元存放中断向量的偏移地址,后两个单元存放中断向量的段地址,因此,中断向量表可存放256 个中断向量。
中断向量地址= 4×中断类型码中断步骤心读取中断类型码;计算中断向量地址;取中断向量,偏移地址放IP ,段地址放CS;转入中断服务程序;中断返回到INT 指令的下一条指令。
设置例子设中断服务程序入口地址标号为VINTSUB ,中断类型码为N。
设置中断量:PUSHDS;数据段地址压栈MOVAX,0;中断向量表段地址-DSMOVDS, AXMOVBX,N*4;中断向量地址-+BXMOVAX,OFFSET VINTSUB;中断向量填入中断向量表MOV[BX], AXMOVAX,SEG VINTSUBMOV[BX +2],AXPOPDS;恢复数据段地址在PC 机中,通常是使用DOS 功能调用INT 21H 来设置中断向量。
入口参数设置为:AH 中预置功能号25H;AL 中预置中断类型码N;DS:DX 中预置中断向量(段地址置入DS ,偏移地址置入DX) 。
利用DOS 功能调用设置中断向量的程序:PUSH DSMOV AX, SEG VINTSUBMOV DS,AXMOV DX, OFFSET VINTSUBMOV AH, 25HMOV AL, NINT 21HPOP DS相应过程32位微机中断系统(略)中断控制器8259A编程模型中断请求寄存器IRR中断服务寄存器ISR中断屏蔽寄存器IMR优先权电路PR初始化命令寄存器ICW1 ~ ICW4操作命令寄存器OCW1 ~ OCW3外部引脚工作方式中断嵌套方式普通嵌套方式特殊全嵌套方式中断屏蔽方式中断优先权循环方式中断查询方式中断触发方式编程初始化命令字(ICW)ICW1设置方法将中断屏蔽寄存器IMR 清O;分配IRQ7 的优先权为7 (即最低级);清除特殊屏蔽方式;若IC4 =0 ,则将寄存器ICW4清0 。