1、第 6 章 8086中断系统,内容安排,一. 输入/输出方式二. 中断三. 8086/8088中断系统四. 中断矢量表的初始化五. 可编程中断控制器8259A,6.1 输入/输出方式,1. 无条件传送方式,又称同步传送,类似于CPU和存储器间的数据传送,优点:使用I/O指令便可实现输入/输出操作,使得程序简单,节省硬件和软件,缺点:必须已知且确信外设已准备好的情况下才能使用,否则就会出错,如:INAL, PORT PORT为三态缓冲器(74LS244)的端口地址,2. 条件传送方式,又称查询式传送,在不便使用无条件传送场合下,可采用查询方式来解决CPU和外设的速度匹配问题,工作方式:CPU需要
2、I/O接口提供状态和数据两个端口,CPU通过状态端口查询外设的状态,若数据“准备好”就进行数据传送,否则继续查询,优点:通用性好,硬件接线和查询程序十分简单,缺点:CPU利用率极低,3. 中断传送方式,利用CPU本身的中断功能和I/O接口的中断功能来实现对外设I/O数据的传送的,优点:大大提高CPU的工作效率,如:与打印机连接,4. DMA传送方式,DMA传送方式,CPU控制,6.2 中断,定义:指当CPU正在处理某件事情的时候,突然发生的某一外部事件(如一个电平的变化,一个脉冲沿的发生或定时器的计数溢出等)请求CPU迅速去处理,此时若条件允许,CPU暂时停止当前的工作,转去处理所发生的事情。
3、处理完该事件以后,再回到原来被终止的地方(断点),继续原来的工作,这样一个完整的过程称为中断,1. 中断的定义和作用,中断过程: 中断申请 中断响应 中断处理 中断返回,中断响应的条件: CPU应工作在中断方式(CPU开中断,IF=1) 申请中断的事件优先级别到位 CPU执行完当前一条完整的指令以后,作用:提高CPU的工作效率 提高实时数据的处理时效 可以实现多任务多用户管理,2. 中断源,3. 中断的分类,外部设备中断源控制对象中断源故障中断源定时脉冲中断源,4. 具有中断功能的接口电路,中断请求触发器 由外设提供的请求信号,被触发器锁定CPU提出申请中断屏蔽(允许)触发器 可以用指令设置,
4、决定是否允许该设备发出申请信号中断的优先级别排队 电路硬件排队,离CPU越近级别越高 中断矢量寄存器(8086有,51无) 存放各接口的设备号,CPU响应中断时,向该接口发出一个中断响应信号INTA,该信号将接口上的中断矢量寄存器选中,将设备号送到CPU,5. 中断嵌套,在某一时刻,CPU正在执行某个中断服务程序时,若CPU的中断是开放的,如果有级别更高的中断源请求中断时,CPU可以把正在执行的中断服务程序暂停下来而响应和处理中断优先权更高中断源的中断请求,等到处理完后,再返回原来中断服务程序的断点处继续执行,条件:CPU开中断有级别更高的中断源请求,6. 中断系统功能,(1)进行中断优先权排
5、队(2)实现中断嵌套(3)自动响应中断CPU在响应中断时通常要自动做三件事:自动关闭中断和把原执行程序的断点地址压入堆栈按中断源提供的中断矢量自动转入相应中断服务程序执行自动或通过安排在中断服务程序中指令来撤消本次中断请求,以避免再次响应本次中断的请求(4)中断返回,6.3 8086/8088中断系统,中断特点: 矢量型中断,有256个中断矢量号(设备号) (0255),1. 中断分类,2. 中断矢量和中断矢量表,中断矢量:是中断处理子程序的入口地址,每个中断类型对应一个中断矢量,中断矢量表:在内存中,开辟一个区域存放中断服务程序的入口地址的表。对于8086,这个区域的首地址00000H(固定
6、),问题:已知中断矢量号代码,怎样找到中断服务程序的入口地址?,中断矢量表范围: 00000H 003FFH(1KB) 每一个中断服务程序的入口地址占四个字节单元(2564=1024B),高字节放的是段地址(CS),低字节放的是偏移地址(IP) 每个中断源对应一个中断服务程序,每一个中断服务程序都有固定的入口地址,例6-1: 键盘中断的矢量号为09H,它的中断服务程序入口地址为0BA9H:0125H,求它在中断矢量表中的地址及相应单元内容,解:键盘中断对应的中断矢量表位于0000:0024H (09H4=24H)开始的4单元 这4个单元的内容见表:,3. 硬件中断(外部中断),(1)非屏蔽中断
7、,特点:对NMI请求的响应不受中断标志位IF的控制中断矢量号为2NMI中断优先级别高于可屏蔽中断,用途: 用于处理系统的重大故障,如掉电事故,(2)可屏蔽中断,特点:对INTR请求的响应受中断标志位IF的控制中断矢量号为不固定,中断优先级及屏蔽状态有中断控制器8259A控制中断响应需要两个总线周期,CPU响应外部中断、并进入中断子程序的过程中,要依次做几件事:,(1)从数据总线上读取中断矢量号,将其存入内部暂存器(2)将标志寄存器FR的值进栈(3)把FR的中断允许标志IF和单步标志TF清零(4)将断点保护到堆栈中 断点:是指响应中断时,主程序中当前指令下面的一条指令的地址,包括CS和IP的值(
8、5)依据获得的中断矢量号,到内存中断矢量表中找到中断矢量,再依据该中断矢量转入相应的中断服务程序,中断服务(处理)子程序的结构模式:,(1)现场保护,既通过一系列进栈指令保护中断现场,如保护CPU各寄存器的值(2)用指令设置中断允许标志IF开中断,以允许级别更高的中断进入(3)中断处理的具体内容(4)现场恢复(5)中断返回指令IRET,目的将堆栈中保护的断点值和标志值分别装入IP、CS和标志寄存器中,4. 软件中断(内部中断),特点:中断矢量号由CPU内部自动提供,不需要执行中断响应总线周期去读取矢量号 除单步中断外,所有内部中断都不可以用软件屏蔽,即都不能通过执行CLI指令使IF清0来禁止对
9、它们的响应 除单步中断外,所有内部中断的优先级别均高于外部中断 软中断不具有随机性,INT n,6.4 中断矢量表的初始化,中断矢量表并不常驻内存,1. 原因,PC系列各机型启动过程中,首先由ROM BIOS自测试代码对ROM BIOS控制的中断矢量进行初始化装入8086/8088系统:装入01FH共32个中断矢量80286以上CPU系统:装入077H共120个中断矢量若用户开发的应用程序采用INT N形式调用,则要将中断服务程序入口地址提前存入中断矢量表中所选定的单元中,方法:DOS系统功能调用,2. 常用的DOS系统功能调用,目的:为编写汇编语言源程序提供方便,MS-DOS系统中设置了几十
10、个内部子程序,它们可以完成I/O设备管理、存储管理、文件管理、作业管理等功能,注意: MS-DOS系统中设置的几十个内部子程序,可看成内部中断服务程序,用软中断指令调用。常用的中断矢量号为20H27H,系统功能调用的格式: 传送入口参数到指定寄存器中(可选项) 功能号送入AH寄存器 INT 21H,(1)键盘输入单字符,1号DOS系统功能调用,格式: MOV AH, 1 INT 21H,功能:执行时,系统等待键盘输入,待程序员按下任何一键,系统先检查是否Ctrl-Break键,如果是则退出,否则将该键字符的ASCII码置入AL寄存器中,并在屏幕上显示该字符,注意:没有入口参数,(2)键盘输入字
11、符串,0AH号DOS系统功能调用,格式: BUFDB20DB?DB20,DUP(?)MOVDX,OFFSET BUFMOVAH,0AHINT21H,功能:将键盘输入的字符串写入到内存缓冲区中,注意: 必须事先在内存储器中定义一个缓冲区,其第一字节给定该缓冲区中能存放的字节数,第二字节留给系统填写实际键入的字符个数,从第三个字节开始用来存放键入的字符串,最后键入回车()键表示字符串结束如果实际键入的字符数不足填满缓冲区时,则其余字节填“0”如果实际键入的字符数超过缓冲区的容量,则超出的字符将被丢失,而且响铃,表示向程序员发出警告,(3)输出单字符,2号DOS系统功能调用,格式: MOVDL,A
12、MOVAH,2 INT21H,功能: 置入DL寄存器中的字符从屏幕上显示输出(或打印机打印输出),(4)输出字符串,9号DOS系统功能调用,格式: BUF DB good bye $MOVDX,OFFSET BUFMOVAH,9INT21H,功能:是将指定的内存缓冲区中的字符串从屏幕上显示输出来(或打印输出),注意:缓冲区中的字符串必须以“$”字符作为结束标志,(5)直接控制台输入/输出单字符,6号DOS系统功能调用,格式: MOV DL,0FFH MOV AH,6 INT 21H MOV DL,A MOV AH,6 INT 21H,功能:如果(DL)0FFH,则表示是从键盘输入单字符送AL寄
13、存器中 如果(DL)0FFH,则表示是将DL寄存器中内容送屏幕显示输出,(6)返回操作系统,4CH号DOS系统功能调用,格式: MOV AH, 4CH INT 21H,注意:没有入口参数,3. 8086中断矢量表的初始化,格式: MOV DX,OFFSET INT ;中断服务程序偏移量DXMOV AX,SEG INTMOV DS,AXMOV AL,n ;中断矢量号nALMOV AH,25H ;功能号25HAHINT 21H ,方法一:采用DOS系统功能调用,即INT 21H的25H号 功能调用,已知:某一中断服务程序的入口地址为INT(逻辑地址),方法二:直接将中断服务程序的入口地址装入中断矢
14、量 表中,MOVAX, 0MOVES, AXMOVDI, n;中断矢量号n DISHLDI, 1;n 2SHLDI, 1;n 4MOVAX, OFFSET INT;中断服务程序的偏移量AXMOVBX, SEG INT;中断服务程序的段基址BXMOVES: DI, AX;中断服务程序的偏移量矢量表MOVES: DI+2, BX;中断服务程序的段基址矢量表,已知:某一中断矢量号为n,中断服务程序的入口地址为INT(逻辑地址),4.常用的BIOS中断调用,特点: BIOS中断调用要比DOS中断调用复杂些,但运行速度快,功能更强些 BIOS中断调用颇具特色的是显示中断子程序,其矢量号是10H,(1)设
15、置显示方式,矢量号: 10H功能号: AH0入口参数:AL常用显示方式号(06),显示方式号 显示方式 0 40列25行黑白文本方式 1 40列25行彩色文本方式 2 80列25行黑白文本方式 3 80列25行彩色文本方式 4 320列200行黑白图形方式 5 320列200行彩色图形方式 6 640列200行黑白图形方式,注意:对于高分辨率,只支持黑白显示,例6-2:屏幕设置成8025彩色文本方式,程序: MOVAH,0;设功能号 MOVAL,3 ;设显示方式 INT10H,(2)设置光标位置,矢量号: 10H功能号: AH2入口参数: BH页号,通常取0页 DH行号,取值024 DL列号,
16、对于40列文本,取值039 对于80列文本,取值079,程序:MOVBH, 0MOVDH, 10MOVDL, 30MOV AH, 2INT10H,例6-3:将光标置在第10行30列,(3)在当前光标处写字符和属性,矢量号: 10H 功能号: AH9 入口参数: BH页号 AL显示字符的ASCII码 BL属性 CX重复显示的次数,L位为1时表示背景闪烁,否则不闪I位为1时表示前景为高亮度,否则为一般亮度,文本方式16种颜色的组合,例6-4:用兰色清屏,然后在第10行30列显示20个红底白字A,程序:MOVAL, 0 ;AL=0时,清屏参数 MOVBL, 10H ;蓝色背景,无闪烁,属性BL MO
17、VAH, 6 ;清屏功能号6 MOVCX, 0 ;从0行到0列,MOVDH, 24 ;到24行MOVDL, 79 ;79列INT10H ;清屏幕MOVAH, 2MOVBH, 0 ;页号MOV DH, 10MOVDL, 30INT10H ;光标设置在第10行30列MOVAL, AMOVCX, 20 ;重复显示20个字符AMOVBH, 0 ;页号MOVBL, 4FH ;属性BL,红底,白字MOVAH, 9INT10H ;显示20个字母A,(4)设置图形方式显示的背景和彩色组,矢量号:10H功能号:AH0BH入口参数:当BH0时,BL背景颜色,范围015 当BH1时,BL颜色组, 范围01: 0表示
18、绿/红/黄,1表示青/品红/白,位7、6、5表示波特率:0 00 110波特0 01 150波特0 10 300波特0 11 600波特1 00 1200波特1 01 2400波特1 10 4800波特1 11 9600波特,位4、3表示奇偶校验设定:00无奇偶校验01奇校验11偶校验,位2表示停止位数设定01位停止位12位停止位,位1、0表示通信数据位数设定107位数据通信118位数据通信,6.5 可编程中断控制器8259A,功能: 在有多个中断源系统中,协助CPU实现对外部中断的管理,对它们进行优先级排队后向CPU发出中断请求信号,特点:单片8259A能管理8级中断。若采用级联工作方式,可
19、以用9片8259A构成64级主从式中断系统具有中断判优逻辑功能,且对每一级中断都可以屏蔽或允许中断响应后,能将预置的中断类型码自动提供给CPU8259A通过编程可以工作在多种不同的方式,从而能方便的满足多种类型微机中断系统的需要,内容,一. 8259A芯片内部结构二. 8259A芯片的工作原理三. 8259A芯片的中断触发方式四. 中断矢量号的设置五. 中断结束方式六. 8259A的优先级管理方式七. 8259A中断过程步骤八. 8259A芯片的控制字及工作方式设定九. 8259A应用举例,1. 8259A芯片内部结构,数据总线缓冲器:与DB挂接(低8位),传送控制字状态信息,中断向量。有了缓
20、冲器,可直接挂接在总线上,没有缓冲器的设备,不能直接挂接在总线上,级联缓冲器/比较器:用于多8259A系统,也称缓冲方式SP/EN:双功能信号,用于级联控制缓冲方式时,EN=0,表示允许8259A通过缓冲存储器输出 EN=1,表示CPU写8259A非缓冲方式时,SP表示主从关系,SP=1,表示主片,SP=0表示从片,中断请求触发器(IRR): 8位寄存器,用来存放由外部输入的中断申请信号IR0IR7 。当某一个IRi端呈现高电平时,该寄存器的相应位置1,显然,最多有8个中断请求信号同时进入IR0IR7端,则IRR将被置全“1”。至于被置“1”的请求能否进入IRR的下一级判优电路还取决于中断屏蔽
21、寄存器IMR中相应位的状态,中断服务寄存器(ISR): 8位寄存器,用来存放或记录正在服务中的所有中断请求(如在多重嵌套时)。当某一级中断请求被响应,则ISR中相应位被置“1”,CPU执行它的中断服务程序期间,一直保持到该级中断处理过程结束为止。在多重中断时,ISR中可能有多位同时被置“1”,ISR可同时记录多个中断请求,中断屏蔽寄存器(IMR): 8位寄存器,用来存放对各级中断请求的屏蔽信息。由CPU设置,以决定某个中断源是否被屏蔽,当该寄存器中某一位置“1”时,表示禁止该中断请求进入系统。通过IMR寄存器可实现对各级中断的有选择的屏蔽,中断优先级排队电路(PR):用来判别已进入IRR中的各
22、中断请求的优先级别。当有多个中断请求同时产生并经IMR允许进入系统后,先由PR电路判定当前哪一个中断请求具有最高优先级,然后由系统首先响应这一级中断,并转去执行相应的中断服务程序。当出现多重中断时,由PR判定是否允许所出现的新的请求去打断正在处理的中断服务而被优先处理。一般的处理原则是允许高级中断打断低中断,反之不行,8259A引脚,2. 8259A芯片的工作原理,(1)8259A接收外部中断,IRR有8位,对IR0IR7,IRR接收来自某一引脚的中断请求后,对应位置1,锁存请求(2)逻辑电路根据IMR中的对应位是否屏蔽决定是否让其进入优先级排队电路。IMR中对应位为0,则允许进入,若对应位为
23、1,则封锁(3)中断优先级排队电路把新进入的中断请求和当前正在进行的以及排队等待的进行重新排队,决定最高优先级(4)ISR寄存器存放的是当前进行的中断服务的标志,如果新来的优先级足够高,则8259A会通过逻辑电路使输出端INT向CPU发中断请求。此时若IF=1,则CPU在执行完当前指令后,就可以响应中断,对8086CPU而言,响应中断申请后,向8259A回送两个负脉冲INTA,第一个INTA到达时,8259A做3件事: IRR锁存功能失效,不接受任何申请 使ISR相应位置位,提供判优依据 使IRR清零,3. 8259A芯片的中断触发方式,注意:电平触发方式中,中断请求的电平信号持续时间不能太长
24、,否则出现重复中断现象;也不能太短,否则出现中断请求丢失现象边沿触发方式中,不会出现重复中断现象或中断请求丢失现象,4. 中断矢量号的设置,中断类型码肯定是连续的,它们在中断类型表中的位置取决于D7D3 位的状态,例6-5:D7D3=01000 则中断类型码将40H47H,该控制字由指令送到8259A,当CPU响应中断时,由第二个INTA信号将它取走,送给CPU,取得中断服务程序入口地址,5. 中断结束方式,(1)普通EOI方式 当任何一级的中断服务结束时,CPU执行一段中断结束程序,给8259A回送一个EOI结束命令,将ISR中当前最高级别的中断标志清0注:该方式只有当前结束的中断过程是所有
25、申请中断标志中级别最高时,才使用这种方式。如果在中断服务程序中,曾经修改过中断级别,则决不能采用这种方式,(2)特殊EOI方式当中断服务程序结束时,CPU给8259A回送EOI命令的同时,将当前结束的中断级别也会送给8259A。8259A可以将ISR中指定位清0。该方式可以在任何情况下使用,(3)自动EOI方式特点:中断服务程序中不用程序结束,只要执行IRET指 令即可,CPU响应中断时就将对应的ISR清“0”。 缺点:任何一级中断在执行中断服务程序期间,在8259中没有任何标记,如果出现了新的中断不管级别高低,只要IF=1,就能响应,造成“重复嵌套”现象的发生,6. 8259A的优先级管理方
26、式,中断优先级确定后,一般的处理原则: 高级中断打断低级中断而被优先处理,禁止低级打断高级或同级中断相互打断,(1)完全嵌套方式,系统复位后自动进入的一种默认的基本方式,8259A的8个中断源在该方式下自动将IR0设置为最高级,IR7级别最低。要求在中断服务程序结束之前,执行一段程序,将要结束的中断请求的ISR相应位清“0”,以便响应下一级的中断请求。CPU响应中断时,要占用两个总线周期(2个INTA信号)并且进行断点(CS:IP,4字节)和现场(FR, 2字节以及其它资源)保护,占用大量的栈空间在中断嵌套的过程中,CPU每响应一次中断进入中断服务程序后,执行一条STI指令,将IF置“1”,否
27、则高级中断将无法进入系统,任何一级中断处理完毕,CPU应向8259A回送EOI结束命令,以便8259A将ISR寄存器中的相应位清“0”,标志级中断结束, 普通EOI循环方式 当任何一级中断被处理完后,CPU给8259A回送普通EOI命令,8259A接收到这一命令后,将ISR寄存器中优先级最高的位清“0”,并赋给它最低优先级,而将最高级赋给它的下一级, 自动EOI循环方式 任何一级中断响应后,在中断响应总线周期中,由第二个中断响应信号INTA的后沿自动将ISR寄存器中相应位清“0”,并立即改变各级中断的优先级别。改变方案与普通EOI循环方式相同(重复嵌套!), 特殊EOI循环方式 利用置位优先权
28、指令对任何一个中断源(IRi)设置为最低级别,那么IRi+1应该是最高级别,其它各级按循环方式类推注意:使用置位优先权指令后,正在处理的中断不一定在尚未处理完的中断中具有最高优先级,在该方式下只能是特殊EOI方式,(3)中断屏蔽方式,CPU可以利用CLI指令,将IF清“0”,禁止一切可屏蔽中断,不能有选择的屏蔽,8259A可以有选择的屏蔽,可以响应任何级别的中断,也可以屏蔽任何级别的中断, 普通屏蔽方式,将IMR中的1位或某几位置“1”,就可屏蔽中断请求CPU执行主程序时,禁止响应某级或某几级,IMR中相应位置“1”CPU在处理某级中断时,禁止高级别的某级或某几级,IMR中相应位置“1”,(4
29、) 特殊完全嵌套方式 级联方式下有效,自学,7. 8259A中断过程步骤, 当一条或几条中断请求线(IRQ0IRQ7)变成高电平,则使IRR相应位置“1” 可用IMR对IRR进行屏蔽。通过优先级分析电路即PR,把当前未屏蔽的最高优先级的中断请求从INT输出,送至CPU的INTR端 若CPU是处于开中断状态,则在执行完当前指令后,便进入中断响应周期,一个中断响应周期共占用两个总线周期,在此期间,CPU发出两个中断响应信号。8259A在收到CPU的第1个中断应答信号后,将ISR中的中断优先级最高的那一位置“1”,而将IRR的相应位复位成“0” 8259A在收到第2个信号后,将把对应的中断向量(中断
30、类型号n)送到数据线,CPU读入该中断向量经乘4换算后便可转入相应的中断服务子程序 中断响应结束后,若在自动结束中断(AEOI)方式下,8259A在第2个脉冲结束时,会将ISR中相应位为“1”的位自动复位成“0”。若是非自动结束中断方式(EOI),则该位的“1”状态将一直保持到中断过程结束,由CPU发EOI命令才能复位成0,8. 8259A芯片的控制字及工作方式设定,每片包含两个内部端口地址,一个偶地址端口(A0=0),一个奇地址端口(A0=1),其它高位地址码由用户定义,用来做8259A的片选信号(CS)8259A中ISR、IRR及IMR的内容可以通过写控制命令字来加以改变。有两种类型的控制
31、命令字:初始化命令字ICW:(ICW1ICW4),它们必须在初始化时写入。并且,一旦写入,一般在系统运行过程中就不再改变工作方式命令字或操作命令字OCW:(OCW1OCW3)它们必须在初始化命令后方能写入。它们用来对中断处理过程作动态控制。在一个系统运行过程中,操作命令字可以被多次设置,(1)ICW1,芯片初始化命令字 标记:A0=0,D4=1,(2)ICW2,设置中断类型码初始化命令字,紧跟在ICW1之后,定义中断类型码的高5位,低3位由IRi确定 。 标记:A0=1,注:中断类型码一定是连续的!,(3)ICW3,级联方式初始化字,紧跟在ICW2之后, 标记:A0=1 自学,缓冲方式:指在多
32、片8259A级联的大系统中8259A通过总线驱动器和数据总线相连的一种方式,在此方式下,将8259A的SP/EN端和总线驱动器的允许端相连,利用从SP/EN端输出的低电平,可以作为总线驱动器的启动信号,(1)OCW1,当8259A经预置ICWi后,已进入初始状态,便可接受来自IRi端的中断请求,然后自动进入操作命令字状态,准备接受由CPU写入8259A的操作命令字OCWi8259A有3个操作命令字,即OCW1OCW3,操作命令字是在应用程序中设置的对OCWi的操作,次序上没有严格的要求对端口地址有严格的规定,即OCW1必须写入奇地址端口,OCW2和OCW3必须写入偶地址端口,中断屏蔽操作命令字
33、,标记:A0=1,(2)OCW2,设置优先级循环方式和中断结束方式的操作命令字 标记:A0=0,D3=D4=0,(3)OCW3,001-普通EOI方式011-特殊EOI方式(L20有效,指定结束的是哪一级中断,并清ISR)101-普通EOI循环方式111-特殊EOI循环方式(L20有效,清L20指 定级别ISR,并赋予其最低优先级)000-自动EOI方式(复位,清除)100-自动EOI方式(置位,设置)110-置位优先权命令,向8259A发置位优先权命令,最低优先级赋予L20指定的IRi,其它中断源按循环方式分别赋给,标记:A0=0,D3D4=01OCW3不是必需的,注: 读IMR寄存器不需要
34、设置RR和RIS只需将端口设置成奇地址A0=1 用IN指令,IMR AL,与OCW3无关,可在程序的任何位置安排IN指令实现,P-查询位,查询当前有无中断以及中断工作在哪一级,如:已知当前ISR寄存器中第2位和第5位置“1”,如果在第2级中断服务程序中,将OCW3中P位置“1”后,安排如下一条指令: IN AL, 81H,注:当要读IRR、ISR或者查询时,定义OCW3,用IN指令读入 读IMR不必设OCW3,9. 8259A应用举例,例6-6:在IBM PC/XT机中,只用1片8259A中断控制器,用来提供8级中断请求,其中IRQ0优先级最高,IRQ7优先级最低。它们分别用于日历时钟中断、键
35、盘中断、保留、网络通信、异步通信中断、硬盘中断、软盘中断及打印机中断。8259A片选地址为20H、21H,1初始化MOV AL, 13H ;写ICW1,单片,边沿触发,需要设置ICW4OUT 20H, AL ;A00;D41MOV AL, 8 ;写ICW2,中断类型号从8开始 ;(即IRQ0的中断类型号为8)OUT 21H, AL ;A01,MOVAL, 9 ;写ICW4,缓冲工作方式,80888/8086配置OUT21H, AL;A01MOV AL, 0;写OCW1,允许IRQ0IRQ7 ;全部8级中断请求OUT21H, AL,2送中断矢量入口地址 如,设IRQ0的中断类型号为8,则异步通信中断IRQ4的中矢量类型号为8412(0CH),则中断入口地址的偏移量(IP值)与段基址(CS)在入口地址表中的存放地址为12448(30H33H)。其中30H、31H存放指令指针IP;32H、33H存放指令段码CS,作业,请叙述中断矢量号(中断类型)、中断矢量表和中断服务程序入口地址三者的关系8086/8088共有多少矢量号?每一个矢量号占用矢量表的几个字节空间?它们的内容是什么?中断矢量表定位于内存储器的何处?INT 21H的键盘输入功能1和功能8有什么区别编写程序,求3856H+9276H,并将结果显示在屏幕上8259A芯片的主要功能是什么?8259A如何复位?复位后状态是什么?,