微型计算机原理作业第六章-习题与思考题第六章习题与思考题典型例题解析例6-1 试述PC微机中断系统的分类与特点。
答:PC微机系统中断包括硬件(外部)中断和软件(内部)中断两大类。
硬件中断包括不可屏蔽中断NMI和可屏蔽中断INTR。
它们都由外部硬件产生。
软件中断包括软件中断INT nH和CPU内部特殊中断,它们由内部中断指令或执行程序过程中出现异常产生的。
软件中断又有DOS中断和BIOS中断之分。
硬件中断的特点是:(1)硬中断是外部事件而引起的中断,因此,硬件中断具有随机性和突发性。
(2)在硬件中断响应周期,CPU需要发中断回答信号(非屏蔽硬件中断不发中断回答信号)。
(3)硬件中断的中断号由中断控制器提供(非屏蔽硬件中断的中断号由系统指定为02H) (4)硬件中断一般是可屏蔽的(非屏蔽硬件中断是不可屏蔽的)。
软件中断的特点是:(1)软件中断是执行中断指令而产生的,无需外部施加中断请求信号。
在程序需要调用某个中断服务程序时,只要安排一条相应中断指令,就可转去执行所需要的中断程序,因此,中断的发生不是随机的,而是由程序安排好的。
(2)在软件中断响应周期,CPU不需要发中断回答信号。
(3)软件中断的中断类型号是在指令中直接给出,因此,不需要使用中断控制器。
(4)软件中断是不可屏蔽的。
例6-2 试述可编程控制器8259A的作用。
答:可编程控制器8259A在协助CPU处理中断事务中所起的作用主要是:(1)接受和扩充外部设备的中断请求。
外设的中断请求,并非直接送到CPU,而是通过8259A接受进来,再由它向CPU提出中断请求。
一片8259A可授受8个中断请求,经过级联可扩展到8片8259A,能接受64个中断请求。
(2)进行中断优先级排队。
外设的中断优先级排队,并不是CPU安排,而是由8259A安排的。
即由8259A中断请求输入引脚(IR)的编号决定的。
连到IR0上的外设中断优先级最高,连到IR7上的外设中断优先级最低。
(3)向CPU提供中断类型号。
其过程是先在8259A初始化时,将中断源的中断类型号写入8259A的ICW2,当CPU响应中断,进入中断响应周期,用中断回答信号INTA2,再从8259A读取这个中断类型号。
例6-3 试述中断向量表的作用及构成。
答:中断向量也即中断服务程序入口地址,系统中所有的中断服务程序入口地址集中起来放到存储器的某一区域内,这个存放中断向量的存储区就叫中断矢量表。
中断向量表提供了每一个中断服务程序唯一的确定的入口地址,该入口地址包括4个字节,低2个字节的内容为中断服务程序的偏移地址IP,高2个字节的内容为中断服务程序的段基值CS。
.把系统中所有的中断向量集中起来存入到存储器的某一存储区内,这个存放中断向量的存储区就叫中断向量表或中断服务程序入口地址表(中断服务程序首址表)。
实模式下,规定把存储器的0000~3FFH共1024个地址单元作为中断向量存储区。
中断向量表的格式,即每个中断向量的4个字节在中断向量表的存放规律是,向量的偏移量(IP )放在两个低字节单元中,向量的基址(CS )放在两个高字节单元中。
例6-4某8086微机系统由两片8259A 级联构成中断系统,如图6.3所示。
从片8259A 接主片的IR 2,主片的IR 3和IR5有中断引入,中断类型号为33H ,35H 。
两个中断服务程序在同一段内,段基址为2000H ,偏移地址分别为1500H 和2000H 。
从片IR 4和IR 6上有中断请求引入,类型号分别为44H ,46H ,中断服务程序在同一段内,段基址为3000H ,偏移地址为4000H 和4700H ,试分别写出主8259A 和从8259A 的初始化程序,将4个中断服务程序的入口地址装入中断向量表中。
。
。
从8259A主8259A INTA ———— CAS 0 CAS 1 CAS 2 INT IR 0 IR 2CAS 0 INTA ———— CAS 1 IR 0 CAS 2 INT IR 7 SP ——/EN —— 到CPU V CC 图6.3 例6.4的8259A 级联图⑴初始化编程:由于是级联方式,所以,主片8259A和从片8259A应分别初始化,且要ICW3。
假设对主片8259A的使用要求是:主8259A有级联输入且从IR2引入;中断请求信号为边沿触发,中断类型号为30H~37H;采用特殊全嵌套方式,非缓冲方式,非自动EOI结束方式(即普通EOI结束方式);屏蔽IR2,IR3,IR5以外的中断源,主片的端口地址为3F50H,3F51H。
根据上述使用要求可编写主8259A的初始化程序:MOV AL,11H ;设置ICW1主8259A采用级联方式,边沿触发MOV DX,3FF50H ;ICW1的口地址OUT DX,ALMOV AL,30H ;设置ICW2即设置中断类型码基值,本例中为30HMOV DX,3F51H ;ICW2口地址OUT DX,ALMOV AL,04H ;设置ICW3,主片的IR2上接有从片8259A的INT端OUT DX,ALMOV AL,11H ;设置ICW4,特殊全嵌套、非缓冲方式、非自动EOL结束方式OUT DX,ALMOV AL,0DH ;设置OCW1,允许IR2,IR3,IR5中断,其他中断均屏蔽OUT DX,ALMOV AL,20H ;定义OCW2,普通EOI结束方式MOV DX,3F50HOUT DX,AL对从片的初始化:假设对从片8259A的使用要求是:从片8259A接主片的IR2上,中断申请信号为边沿触发;中断类型号别为40H~47H,从片的端口地址为3F52H,3F53H;优先级采用特殊全嵌套方式,结束方式采用非自动结束EOI,非缓冲方式;采用普通EOI结束方式,屏蔽IR4,IR6以外的中断源。
根据上述对从片8259A的使用要求,其初始化程序如下:MOV AL,11H ;设置ICW1,级联方式,边沿触发,要ICW4MOV DX,3F52H ;8259A的偶地址端口OUT DX,ALMOV AL,40H ;设置ICW2即设置中断类型码基值,引入中断类型号为40H~47HMOV DX,3F53H ;8259A奇地址端口OUT DX,ALMOV AL,02H ;设置ICW3,从片接在主片的IR2端OUT DX,ALMOV AL,11H ;设置ICW4,特殊全嵌套、非缓冲方式,非自动EOI结束方式OUY DX,ALMOV AL,0AFH ;设置OCW1,允许IR4,IR6,屏蔽其他中断源OUT DX,ALMOV DX,3F52HMOV AL,20H ;设置OCW2,普通方式OUT DX,AL⑵中断向量装入:将4个中断服务程序的入口地址装入中断向量表,向量地址的装入方法很多,本例中用DOS 功能调用法。
方法是:使用25号功能调用,先将功能调用号25送AH,再将中断类型号送入AL,将中断服务程序的段基址和偏移地址送入DS:DX,然后用INT21H调用即可。
本例中将4个中断服务程序的入口地址装入中断向量表的程序如下:MOV AX ,2000H ;送主片的服务程序所在段的段基址MOV DS,AXMOV DX,1500H ;送入偏移地址MOV AL,33H ;中断类型号33H号送ALMOV AH,25H ;功能调用号送AHINT 21HMOV DX,2000H ;第二个偏移地址送DXMOV AL,35H ;送中断类型号35HINT 21HMOV AX,3000H ;送从片的中断服务程序入口地址的段基址MOV DX,AXMOV DX,4000H ;送从片的服务程序的偏移地址MOV AL,44H ;送中断类型号MOV AH,25HINT 21HMOV DX,4700H ;送另一个入口地址的偏移地址MOV AL,46H ;送中断类型号INT 21HINTA00 EQU 20H ;PC/XT系统中8259A的偶地址端口INTA01 EQU 21H ;PC/XT系统中8259A的奇地址端口DATA SEGMENTMESS DB‘THIS START:MOV AX ,CSMOV DS ,AX ;设DS指向代码段MOV DX ,OFFSET INT-PROCMOV AX ,250AH ;设0AH号中断向量INT 21HCLI ;关中断MOV DX ,INTA01IN AL ,DX ;允许IRQ2中断AND AL ,0FBHOUT DX ,ALMOV BX ,10 ;设置中断次数10STI ;开中断LL:JMP LL ;循环等待中断INT-PROC PROC ;中断服务程序MOV AX ,DATAMOV DS ,AX ;将DS指向数据段MOV DX ,OFFSET MESSMOV AH ,09HINT 21H ;显示发生中断的信息MOV DX ,INT00MOV AL ,20HOUT DX ,AL ;发中断结束命令EOISUB BX ,1JNZ NEXT ;BX计数减1,不为0转NEXTMOV DX ,INTA01IN AL ,DXOR AL,04 ;BX为0,关IRQ2中断OUT DX ,ALSTI ;开中断MOV AH ,4CHINT 21H ;返回DOSNEXT:IRET ;中断返回INT-PROC ENDPCODE ENDSEND START习题与思考题一、填空题1.引发中断的事件,称为是。
对中断进行管理的所有硬件和软件的总和称为。
2.对于可屏蔽中断请求,CPU响应条件为、和。
3.对于非屏蔽中断请求,CPU响应条件为和。
4.中断源识别的两种方法是和。
5.8086/8088中断共有种类型中断,可分为中断和中断。
6.中断服务入口地址表又称为中断向量表,每个中断向量占用字节空间,2个低位字节为,2个高位字节为。
7.若中断类型号为13,则这个中断向量的第一个字节的地址为。
8.若中断类型号为14H,则这个中断向量的第一个字节的地址为。
9.由CPU执行某些指令引起的中断称之为。
10.8086/8088的中断属于中断类型。
11.程序中断方式控制输入输出的主要特点是,可以使和并行工作。
12.8259A中断控制器作用是。
13.根据中断请求来自外部或来自内部,中断分为和。
14.类型的中断常分为非屏蔽中断和可屏蔽中断。
15.8259A中断控制器的命令字分为和。
16.8086/8088的中断向量表中,每个中断处理程序的入口地址占字节。
17.8259A可编程控制器,当单片使用时,可同时接收级外设的中断请求;当级联使用时,可同时接收多达级外设的中断请求。
18.中断源识别的是。
19.中断向量是指。
20.向量中断是指。
21.若中断向量的第一个字节的地址为0190H,则该中断的类型号为()H。
二、选择题:1.在单级中断系统中,CPU一旦响应中断,则立即关闭___标志,以防止本次中断服务结束前同级的其他中断源产生另一次中断进行干扰。