《微机原理11中断与中断控制CH8.ppt》由会员分享,可在线阅读,更多相关《微机原理11中断与中断控制CH8.ppt(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、8.1 中断的基本概念中断的基本概念8.2 可编程中断控制器可编程中断控制器8259 8.3 中断服务程序的编程中断服务程序的编程8.4 保护模式的中断处理保护模式的中断处理第八章第八章 中断与中断控制中断与中断控制8.1 中断的基本概念中断的基本概念中断最初是作为中断最初是作为处理器处理器与外部设备交换信息的一种控制方式提出与外部设备交换信息的一种控制方式提出的。由此,最初的中断全部是对外部设备而言的,称为外部中断的。由此,最初的中断全部是对外部设备而言的,称为外部中断或硬件中断。或硬件中断。随着计算机技术的发展,中断的范围也随之扩大,出现了内部软随着计算机技术的发展,中断的范围也随之扩大,
2、出现了内部软件中断的概念,它是为解决机器内部运行时出现的异常以及为编件中断的概念,它是为解决机器内部运行时出现的异常以及为编程方便而提出的。程方便而提出的。外部中断或硬件中断通常称为外部中断或硬件中断通常称为中断中断,软件中断或异常中断通常称,软件中断或异常中断通常称为为异常异常(Exception)8.1 中断的基本概念中断的基本概念不论哪种中断都遵循同样的中断处理过程不论哪种中断都遵循同样的中断处理过程中中断断源源中断中断请求请求 当当 前前 程程 序序中断中断服务服务程序程序程序断点程序断点中断返回中断返回中断响应中断响应中断:处理器暂停执行当前程序,转而处理随机发生的事件,处理中断:处
3、理器暂停执行当前程序,转而处理随机发生的事件,处理完毕后再返回到断点处继续执行原来程序的过程完毕后再返回到断点处继续执行原来程序的过程F中断的类型中断的类型PC系列微机最多可以支持系列微机最多可以支持256种中断,它们被分为四种类型:种中断,它们被分为四种类型:内部中断和异常内部中断和异常软件中断软件中断外部可屏蔽中断外部可屏蔽中断外部非屏蔽中断外部非屏蔽中断每个中断和异常都指定了一个类型号代表不同的优先级。每个中断和异常都指定了一个类型号代表不同的优先级。类型类型0表示最高优先级的中断,类型表示最高优先级的中断,类型255最低优先级的中断最低优先级的中断1.内部中断和异常内部中断和异常为处理
4、器执行某些操作而引起的中断,包括除法错误异常、单为处理器执行某些操作而引起的中断,包括除法错误异常、单步调试中断、断点中断等步调试中断、断点中断等这类中断使用了这类中断使用了0H09H中的若干个中断号中的若干个中断号内部中断和异常的例子内部中断和异常的例子 P.218F中断的类型中断的类型2.软件中断软件中断执行执行有定义的有定义的INT n指令而引发的中断,称为软件中断指令而引发的中断,称为软件中断有定义的有定义的 并非所有的中断号都有对应的中断服务程序并非所有的中断号都有对应的中断服务程序软件中断使用软件中断使用05H、10H0FFH中的若干个中断号中的若干个中断号软件中断进一步分为软件中
5、断进一步分为BIOS中断和中断和DOS中断中断F中断的类型中断的类型3.外部可屏蔽中断外部可屏蔽中断外部可屏蔽中断是处理器响应各种外部硬件中断的最常用的方外部可屏蔽中断是处理器响应各种外部硬件中断的最常用的方法,通过法,通过CPU的的INTR引脚产生引脚产生外部可屏蔽中断受处理器内部的中断允许标志位外部可屏蔽中断受处理器内部的中断允许标志位IF的控制的控制处理器以电平触发方式接受处理器以电平触发方式接受INTR请求,当每条指令结束时,请求,当每条指令结束时,若若INTR为高电平且为高电平且IF=1,则则CPU响应相应响应相应I/O接口的中断请求。接口的中断请求。处理器只有一个处理器只有一个IN
6、TR引脚可以接受外部可屏蔽中断请求,为引脚可以接受外部可屏蔽中断请求,为了管理众多的外部中断源,微机系统中采用可编程中断控制器了管理众多的外部中断源,微机系统中采用可编程中断控制器8259。PC系列机通过两片系列机通过两片8259级连可以响应级连可以响应15个外部中断源个外部中断源F中断的类型中断的类型4.外部非屏蔽中断外部非屏蔽中断为外部紧急请求提供服务的中断,通过处理器的为外部紧急请求提供服务的中断,通过处理器的NMI引脚产生引脚产生NMI输入是上升沿触发的,输入是上升沿触发的,只要只要NMI输入端上出现由输入端上出现由0到到1的跳的跳变,一个中断服务请求就被锁存在变,一个中断服务请求就被
7、锁存在Pentium中,与中,与IF标志的状标志的状态无关态无关NMI有一个专用的类型号有一个专用的类型号02H使用非屏蔽中断的典型例子是电源故障中断使用非屏蔽中断的典型例子是电源故障中断F中断的类型中断的类型F中断的优先级与中断嵌套中断的优先级与中断嵌套通常一个系统有多个中断源,而通常一个系统有多个中断源,而CPU同一时刻只能响应一个中同一时刻只能响应一个中断源的请求,那么当多个中断源同时请求中断服务时,应该先断源的请求,那么当多个中断源同时请求中断服务时,应该先响应哪一个,有一个次序安排的问题。按中断源的轻重缓急程响应哪一个,有一个次序安排的问题。按中断源的轻重缓急程度确定的优先级别,称为
8、优先级。度确定的优先级别,称为优先级。内部中断和异常内部中断和异常软件中断软件中断外部非屏蔽中断外部非屏蔽中断外部可屏蔽中断外部可屏蔽中断优优先先级级递递增增F中断的优先级与中断嵌套中断的优先级与中断嵌套当当CPU正在响应某一中断源的请求,执行为其服务的中断服务正在响应某一中断源的请求,执行为其服务的中断服务程序时,如果有优先级更高的中断源发出请求,程序时,如果有优先级更高的中断源发出请求,CPU将中止正将中止正在执行的中断服务程序而转入为新的中断源服务,等新的中断在执行的中断服务程序而转入为新的中断源服务,等新的中断服务程序执行完后,再返回到被中止的中断服务程序,这一过服务程序执行完后,再返
9、回到被中止的中断服务程序,这一过程称为中断嵌套。程称为中断嵌套。中断嵌套可以有多级,具体级数原则上不限,只取决于堆栈深中断嵌套可以有多级,具体级数原则上不限,只取决于堆栈深度度F中断的优先级与中断嵌套中断的优先级与中断嵌套1#中断请求中断请求响应响应返回返回1#中断中断服务程序服务程序2#中断请求中断请求响应响应返回返回2#中断中断服务程序服务程序3#中断请求中断请求响应响应返回返回3#中断中断服务程序服务程序原主程序原主程序中断优先级中断优先级3#2#1#F中断向量中断向量中断类型号通过一个地址指针表与中断服务程序的入口地址相中断类型号通过一个地址指针表与中断服务程序的入口地址相联,在实模式
10、下,该表称为中断向量表。联,在实模式下,该表称为中断向量表。中断向量表包含中断向量表包含256个中断向量。每个中断向量包含两个字(个中断向量。每个中断向量包含两个字(4个字节),高地址字为中断服务程序所在代码段的段基址,低个字节),高地址字为中断服务程序所在代码段的段基址,低地址字为代码段中中断服务程序第一条指令的偏移量。地址字为代码段中中断服务程序第一条指令的偏移量。实模式下,中断向量表存放在内存最低端的实模式下,中断向量表存放在内存最低端的1K单元之中,物理单元之中,物理地址地址00000H003FFHP.222F中断指令中断指令STI开中断指令开中断指令将标志寄存器中的中断标志位将标志寄
11、存器中的中断标志位IF置置1,允许允许CPU响应来自响应来自INTR引脚的中断请求引脚的中断请求CLI关中断指令关中断指令将标志寄存器中的中断标志位将标志寄存器中的中断标志位IF清清0,使,使CPU不响应来自不响应来自INTR引脚的中断请求引脚的中断请求F中断指令中断指令INT n软件中断指令软件中断指令n为中断号。调用为中断号。调用n号中断服务程序号中断服务程序将标志寄存器压栈将标志寄存器压栈将将TF置置0,禁止单步操作,将,禁止单步操作,将IF置置0,使,使CPU处于关中断状态处于关中断状态断点的断点的CS、IP压栈压栈从中断向量表取从中断向量表取n号中断向量号中断向量 IP、CS转向转向
12、n号中断服务程序号中断服务程序F中断指令中断指令IRET中断返回指令中断返回指令中断服务程序的出口指令,从栈顶弹出中断服务程序的出口指令,从栈顶弹出6个字节依次写入个字节依次写入IP、CS和标志寄存器和标志寄存器在执行在执行IRET之前必须保证栈顶是断点地址,否则执行之前必须保证栈顶是断点地址,否则执行IRET指令指令将导致系统瘫痪将导致系统瘫痪8.2 可编程中断控制器可编程中断控制器8259A8259A是一种可编程中断控制器是一种可编程中断控制器,有如下功能:有如下功能:一片一片Intel 8259可管理可管理8个中断请求,并把当前优先个中断请求,并把当前优先级最高的中断请求送到级最高的中断
13、请求送到CPU的的INTR端。端。当当CPU响应中断时,为响应中断时,为CPU提供中断类型码。提供中断类型码。8个外部中断的优先级排列方式,可以通过对个外部中断的优先级排列方式,可以通过对8259编程进行指定。也可以通过编程屏蔽某些中断请求,编程进行指定。也可以通过编程屏蔽某些中断请求,或者通过编程改变中断类型码。或者通过编程改变中断类型码。允许允许9片片8259级联,构成级联,构成64级中断系统。级中断系统。在在PC/AT系列微机中,使用两片系列微机中,使用两片8259级联,构成级联,构成15级中断级中断F8259A的引脚与功能结构的引脚与功能结构P.234D7D0:数据线。用于与数据线。用
14、于与CPU之间传送命令、状态、之间传送命令、状态、中断类型码。中断类型码。:读出信号。通知:读出信号。通知8259把某个内部寄存器的值把某个内部寄存器的值送数据线送数据线D7D0。:写入信号。通知写入信号。通知8259把数据线把数据线D7D0上的值上的值写入内部某个寄存器。写入内部某个寄存器。A0:选择内部寄存器的端口地址。选择内部寄存器的端口地址。在标准在标准AT机中,使用两片机中,使用两片8259构成主从式中断系统,构成主从式中断系统,主主8259的端口地址:的端口地址:20H,21H从从8259的端口地址:的端口地址:A0H,A1HINT:把把IRQ7IRQ0上的最高优先级请求传送到上的
15、最高优先级请求传送到CPU的的INTR引脚引脚 :接收:接收CPU的中断响应信号。的中断响应信号。CPU发出的中断响发出的中断响应信号为两个负脉冲。第一个负脉冲作为中断应答信应信号为两个负脉冲。第一个负脉冲作为中断应答信号,第二个负脉冲到来时,号,第二个负脉冲到来时,8259从数据线从数据线D7D0上发上发出中断类型码。出中断类型码。F8259A的引脚与功能结构的引脚与功能结构F8259A的内部结构框图和中断工作过程的内部结构框图和中断工作过程P.235IRR:中断请求寄存器中断请求寄存器ISR:中断服务寄存器中断服务寄存器IMR:中断屏蔽寄存器中断屏蔽寄存器PR:优先级判别器优先级判别器中断
16、过程执行步骤:中断过程执行步骤:P.236F8259A的控制字格式的控制字格式初始化命令字(初始化命令字(ICW1ICW4)ICW1ICW4在初始化程序中设定,且在整个工作过程在初始化程序中设定,且在整个工作过程中保持不变。中保持不变。ICW1ICW4必须按顺序设定。必须按顺序设定。ICW1写入写入8259偶地址中(偶地址中(A0=0,在在AT机中为机中为20H/A0H),),ICW2ICW4写入写入8259奇地址中(奇地址中(A0=1,在在AT机中为机中为21H/A1H)。)。P.238 图图7.14初始化命令字(初始化命令字(ICW1ICW4)1.ICW12.ICW23.ICW3ICW3设
17、置主设置主8259和从和从8259的联结关系(仅当的联结关系(仅当ICW1中的中的SNGL=1,系统中有多片系统中有多片8259级联时,级联时,才设置才设置ICW3)。)。4.ICW4规定规定8259的中断结束方式,中断嵌套方式,缓冲的中断结束方式,中断嵌套方式,缓冲/非缓冲方式。非缓冲方式。P.237初始化命令字(初始化命令字(ICW1ICW4)ICW1A EQU 20H;主片端口地址主片端口地址ICW2A EQU ICW1A+1ICW3A EQU ICW2AICW4A EQU ICW2A.MOV AL,11H;ICW1,边沿触发,多片,需边沿触发,多片,需ICW4OUT ICW1A,ALN
18、OP;I/O端口延时端口延时MOV AL,08H;ICW2,中断类型码中断类型码OUT ICW2A,ALNOPMOV AL,04H;ICW3,IR2接从片接从片OUT ICW3A,ALNOPMOV AL,01H;ICW4,非缓冲,全嵌套,非自动结束非缓冲,全嵌套,非自动结束OUT ICW4A,ALNOPAT机中主片的初始化机中主片的初始化操作命令字(操作命令字(OCW1OCW3)OCW1OCW3在应用程序中设置,且可设置多次。在应用程序中设置,且可设置多次。OCW1OCW3的设置次序无要求。的设置次序无要求。OCW1为奇地址(为奇地址(A0=1,AT机中为机中为21H/A1H),OCW2OCW
19、3为偶地址(为偶地址(A0=0,AT机中为机中为20H/A0H)。)。操作命令字(操作命令字(OCW1OCW3)1.OCW1中断屏蔽命令字中断屏蔽命令字IMR,当其中某位置当其中某位置1时,对应的时,对应的IR请求被屏蔽请求被屏蔽。例:使主例:使主8259的的IR5屏蔽,程序为:屏蔽,程序为:OCW1 EQU 21H;主主8259 OCW1的地址的地址IN AL,OCW1;读出读出IMROR AL,00100000B;屏蔽屏蔽IR5OUT OCW1,AL操作命令字(操作命令字(OCW1OCW3)2.OCW2设置中断优先级循环方式和中断结束方式设置中断优先级循环方式和中断结束方式P.2413.O
20、CW3多功能操作命令字多功能操作命令字操作命令字(操作命令字(OCW1OCW3)3.OCW3可以设置对可以设置对8259内部寄存器读出命令内部寄存器读出命令例:读例:读IRROCW3 EQU 20HIRR EQU OCW3ISR EQU OCW3MOV AL,0AH;读出命令,读出命令,P=0,RR=1,RIS=0,选选IRROUT OCW3,ALIN AL,IRR;在在AL中读得中读得IRR的值的值操作命令字(操作命令字(OCW1OCW3)3.OCW3可以设置对可以设置对8259内部寄存器读出命令内部寄存器读出命令例:读例:读ISROCW3 EQU 20HIRR EQU OCW3ISR EQ
21、U OCW3MOV AL,0BH;读出命令,读出命令,P=0,RR=1,RIS=1,选选ISROUT OCW3,ALIN AL,ISRF8259A应用举例应用举例PC/AT中,中,8259的使用情况为:的使用情况为:2片片8259级联,提供级联,提供15级向量中断。从片的级向量中断。从片的INT接接主片的主片的IR2。端口地址:主片端口地址:主片20H、21H,从片从片A0H、A1H。主片和从片均采用边沿触发。主片和从片均采用边沿触发。采用全嵌套优先级排列方式采用全嵌套优先级排列方式采用非缓冲方式,主片采用非缓冲方式,主片 接接+5V,从片从片 接地。接地。主片的类型码为主片的类型码为08H0
22、FH,从片的类型码为从片的类型码为70H77H。F8259A应用举例应用举例F8259A应用举例应用举例ICW1A EQU 20H;主片端口地址主片端口地址ICW2A EQU ICW1A+1ICW3A EQU ICW2AICW4A EQU ICW2AICW1B EQU 0A0H;从片端口地址从片端口地址ICW2B EQU ICW1B+1ICW3B EQU ICW2BICW4B EQU ICW2B;-主片主片8259A-MOV AL,11H;ICW1,边沿触发,多片,需边沿触发,多片,需ICW4OUT ICW1A,ALNOP;I/O端口延时端口延时MOV AL,08H;ICW2,中断类型码中断类
23、型码OUT ICW2A,ALNOPMOV AL,04H;ICW3,IR2接从片接从片OUT ICW3A,ALNOPMOV AL,01H;ICW4,非缓冲,全嵌套,非自动结束非缓冲,全嵌套,非自动结束OUT ICW4A,ALNOP;-从片从片8259A-MOV AL,11H;ICW1,边沿触发,多片,需边沿触发,多片,需ICW4OUT ICW1B,ALNOPMOV AL,70H;ICW2,中断类型码中断类型码OUT ICW2B,ALNOPMOV AL,02H;ICW3,INT接主片的接主片的IR2OUT ICW3B,ALNOPMOV AL,01H;ICW4,非缓冲,全嵌套,非自动结束非缓冲,全嵌
24、套,非自动结束OUT ICW4B,ALNOPPC/AT机主、从机主、从8259的初始化程序的初始化程序F8259A应用举例应用举例8.3 中断服务程序的编程中断服务程序的编程F中断服务程序的编程原则中断服务程序的编程原则1)中断是异步发生的,进入响应时并不考虑当前运行状态。因)中断是异步发生的,进入响应时并不考虑当前运行状态。因此中断服务程序必须保护现场此中断服务程序必须保护现场2)在进入具体中断处理之前要先初始化中断向量,使其指向相)在进入具体中断处理之前要先初始化中断向量,使其指向相应的中断服务程序,但在此之前要先关中断,以防接管中断过程应的中断服务程序,但在此之前要先关中断,以防接管中断
25、过程中发生中断中发生中断3)在中断服务程序入口处要立即开中断,以允许较高优先级的)在中断服务程序入口处要立即开中断,以允许较高优先级的中断产生中断产生4)中断服务程序的服务时间要尽量压缩,以免干扰同级或低级)中断服务程序的服务时间要尽量压缩,以免干扰同级或低级中断设备的工作中断设备的工作5)由于)由于PC机中机中8259采用正常结束中断,因此在中断服务程序执采用正常结束中断,因此在中断服务程序执行行IRET返回前应向返回前应向8259发结束中断命令发结束中断命令EOIMOV AL,20H;使当前使当前ISR中的对应位复位中的对应位复位OUT 20H,ALIRET6)当编制替代系统原有中断服务程
26、序时,应保存好原中断向量当编制替代系统原有中断服务程序时,应保存好原中断向量的内容。在应用程序终止前恢复原有的中断向量的内容。在应用程序终止前恢复原有的中断向量7)中断服务程序不要使用)中断服务程序不要使用DOS系统功能调用(系统功能调用(INT 21H),),因因为为DOS不允许重入不允许重入F中断服务程序的编程原则中断服务程序的编程原则8)若中断服务程序只为某个应用程序服务,则中断服务程序可以)若中断服务程序只为某个应用程序服务,则中断服务程序可以和主程序组装成一个程序一起装入内存,随主程序结束而一起退和主程序组装成一个程序一起装入内存,随主程序结束而一起退出内存出内存9)若中断服务程序为
27、多个应用程序服务,则中断服务程序可以与)若中断服务程序为多个应用程序服务,则中断服务程序可以与一个初始化程序组装成一个程序一起装入内存,通过初始化程序一个初始化程序组装成一个程序一起装入内存,通过初始化程序的执行而将中断服务程序驻留内存的执行而将中断服务程序驻留内存F中断服务程序的编程原则中断服务程序的编程原则F中断向量表的操作中断向量表的操作读写转段向量表不能使用读写转段向量表不能使用MOV指令,而应调用相应的指令,而应调用相应的DOS功能功能取中断向量取中断向量预置预置AH=35H,AL=中断类型号中断类型号执行执行INT 21H把类型号为把类型号为AL的中断向量取出到的中断向量取出到ES
28、:BX中中设置中断向量设置中断向量预置预置AH=25H,AL=中断类型号中断类型号,DS:DX=中断向量中断向量执行执行INT 21H把把DS:DX指向的中断向量放置到中断向量表中类型号为指向的中断向量放置到中断向量表中类型号为AL的的中断向量处中断向量处F中断向量表的操作中断向量表的操作例:填写中断向量表,实现用户所定义的例:填写中断向量表,实现用户所定义的60H中断中断.CLIPUSH DSMOV AX,SEG INT60MOV DS,AXMOV DX,OFFSET INT60MOV AH,25HMOV AL,60HINT 21HPOP DSSTI.INT60 PROC FARIRETIN
29、T60 ENDP中断服务中断服务程序程序F中断向量表的操作中断向量表的操作例:用用户定义的例:用用户定义的中断服务程序置换系统原有的中断服务程序中断服务程序置换系统原有的中断服务程序DATA SEGMENT OLD_INT_SEG DW?OLD_INT_OFF DW?DATA ENDS.MOV AL,XXMOV AH,35HINT 21HMOV OLD_INT_SEG,ESMOV OLD_INT_OFF,BXCLIPUSH DSMOV AX,SEG NEW_INTMOV DS,AXMOV DX,OFFSET NEW_INTMOV AH,25HMOV AL,XXINT 21HPOP DSSTIC
30、LIPUSH DSMOV AX,SEG OLD_INT_SEGMOV DS,AXMOV DX,OFFSET OLD_INT_OFFMOV AH,25HMOV AL,XXINT 21H.F中断服务程序的编程中断服务程序的编程中断入口中断入口保护现场保护现场为中断源服务部分为中断源服务部分发中断结束命令发中断结束命令恢复现场恢复现场中断返回中断返回F中断服务程序的驻留中断服务程序的驻留INT 21H的的31H号功能号功能功能:实现程序驻留,返回功能:实现程序驻留,返回DOS入口入口参数:参数:AH=31H DX=被驻留程序的体积,单位是节,被驻留程序的体积,单位是节,1节节=16字节字节CODE
31、SEGMENT ASSUME.START:JMP INITINT_PR PROC FAR STI PUSH 保护现场保护现场 中断服务程序主体中断服务程序主体 POP恢复现场恢复现场 MOV AL,20H OUT 20H,AL IRETINT_PR ENDPINTI:CLI 设置中断向量设置中断向量MOV AL,0OUT 21H,ALSTIMOV AH,31HMOV DX,(OFFSET INIT+15)/16+10HINT 21HCODE ENDS END STARTF中断服务程序的驻留中断服务程序的驻留8.4 保护模式的中断处理保护模式的中断处理保护模式下采用中断描述符表保护模式下采用中断
32、描述符表IDT管理各级中断管理各级中断IDT中最多可以有中最多可以有256个描述符,对应于个描述符,对应于256个中断个中断/异常源异常源IDT表中的描述符包括了中断服务程序的入口地址表中的描述符包括了中断服务程序的入口地址信息信息IDT可置于内存的任意区域,其起始地址由中断描可置于内存的任意区域,其起始地址由中断描述符表寄存器述符表寄存器(IDTR)设置设置8.4 保护模式的中断处理保护模式的中断处理IDT表中的描述符一般是中断门和陷阱门,中断门表中的描述符一般是中断门和陷阱门,中断门对应外部硬件中断,陷阱门对应内部软件中断或异对应外部硬件中断,陷阱门对应内部软件中断或异常常门描述符的格式门
33、描述符的格式8.4 保护模式的中断处理保护模式的中断处理01234567PDPL0 TYPE 访问权限字节访问权限字节中断门中断门TYPE=1110陷阱门陷阱门TYPE=11118.4 保护模式的中断处理保护模式的中断处理SIDT指令指令存储中断描述符表寄存器存储中断描述符表寄存器IDTREGDB 6 DUP(?).SGDT IDTREG将将IDTR的内容复制到由的内容复制到由IDTREG指定的内存中的指定的内存中的6个字节中个字节中LIDT指令指令装入中断描述符表寄存器装入中断描述符表寄存器IDTREGDW 01FFH,0000H,0001H.LIDT IDTREG将由将由IDTREG指定的
34、内存中的指定的内存中的6字节操作数装入字节操作数装入IDTR中中8.4 保护模式的中断处理保护模式的中断处理1.执行下述指令片段后,执行下述指令片段后,IDT装在内存的什么地址?表的长度是多少?装在内存的什么地址?表的长度是多少?表中可以存放多少个门描述符?表中可以存放多少个门描述符?IDT_TABLEDW 01FFH,0000H,0001H.LIDT IDTREG2.假设假设8259的端口地址为的端口地址为50H、51H,试编写一段程序,将试编写一段程序,将8259中的中的IRR、ISR、IMR的内容读出送至存储器中的内容读出送至存储器中REG_ARR开始的内存单元开始的内存单元中中3.某微机系统采用三片某微机系统采用三片8259级连使用,一片为主,两片为从,从片分级连使用,一片为主,两片为从,从片分别接入主片的别接入主片的IR2和和IR4,试画出该系统的硬件连接图。试画出该系统的硬件连接图。4.某微机系统只有一片某微机系统只有一片8259,其端口地址为,其端口地址为02C0H、02C1H,试编写试编写初始化程序,要求初始化程序,要求1)中断请求输入采用电平触发,)中断请求输入采用电平触发,2)IR0的中断类型的中断类型码是码是16,3)采用缓冲器方式,)采用缓冲器方式,4)采用普通的)采用普通的EOI命令命令作业作业