微型计算机原理作业第六章 习题与思考题

第六章 习题与思考题
典型例题解析
船用靠球例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个中断请求,经过级联可扩展到88259A,能接受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-48086微机系统由两片8259A级联构成中断系统,如图6.3所示。从片8259A接主片的IR2,主片的IR3IR5有中断引入,中断类型号为33H35H。两个中断服务程序在同一段内,段基址为2000H,偏移地址分别为1500H2000H。从片IR4IR6上有中断请求引入,类型号分别为44H46H,中断服务程序在同一段内,段基址为3000H,偏移地址为4000H4700H,试分别写出主8259A和从8259A的初始化程序,将4个中断服务程序的入口地址装入中断向量表中。
初始化编程:
由于是级联方式,所以,主片8259A和从片8259A应分别初始化,且要ICW3。假设对主片8259A的使用要求是:主8259A有级联输入且从IR2引入;中断请求信号为边沿触发,中断类型号为30H37H;采用特殊全嵌套方式,非缓冲方式,非自动EOI结束方式(即普通EOI结束方式);屏蔽IR2IR3IR5以外的中断源,主片的端口地址为3F50H3F51H
根据上述使用要求可编写主8259A的初始化程序:
  MOV  AL11H      ;设置ICW18259A采用级联方式,边沿触发
  MOV  DX3FF50H  ICW1的口地址
  OUT  DXAL
  MOV  AL30H      ;设置ICW2即设置中断类型码基值,本例中为30H
  MOV  DX3F51H  ICW2口地址
  OUT  DXAL
  MOV  AL04H    ;设置ICW3,主片的IR2上接有从片8259AINT
  OUT  DXAL
  MOV  AL11H    ;设置ICW4,特殊全嵌套、非缓冲方式、非自动EOL结束方式
  OUT  DXAL
  MOV  AL0DH    ;设置OCW1,允许IR2IR3IR5中断,其他中断均屏蔽
  OUT  DXAL
  MOV  AL20H    ;定义OCW2,普通EOI结束方式
  MOV  DX3F50H 
  OUT  DXAL
对从片的初始化:
假设对从片8259A的使用要求是:从片8259A接主片的IR2上,中断申请信号为边沿触发;中断类型号别为40Hudiab47H,从片的端口地址为3F52H3F53H;优先级采用特殊全嵌套方式,结束方式采用非自动结束EOI,非缓冲方式;采用普通EOI结束方式,屏蔽IR4IR6以外的中断源。
根据上述对从片8259A的使用要求,其初始化程序如下:
MOV  AL  11H    ;设置ICW1,级联方式,边沿触发,要ICW4
  MOV  DX  3F52H  8259A的偶地址端口
  OUT  DX  AL 
  MOV  AL  40H    ;设置ICW2即设置中断类型码基值,引入中断类型号为40H47H
  MOV  DX  3F53H  8259A奇地址端口
  OUT  DX  AL
  MOV  AL  02H    ;设置ICW3,从片接在主片的IR2
  OUT  DX  AL
  MOV  AL  11H    ;设置ICW4,特殊全嵌套、非缓冲方式,非自动EOI结束方式
  OUY  DX  AL
  MOV  AL  0AFH  ;设置OCW1,允许IR4IR6,屏蔽其他中断源
  OUT  DX  AL
  MOV  DX3F52H
  MOV  AL  20H  ;设置OCW2,普通方式
  OUT  DX  AL
中断向量装入:
4个中断服务程序的入口地址装入中断向量表,向量地址的装入方法很多,本例中用DOS功能调用法。方法是:
使用25号功能调用,先将功能调用号25AH,再将中断类型号送入AL,将中断服务程序的段基址和偏移地址送入DSDX,然后用INT 21H调用即可。
本例中将4个中断服务程序的入口地址装入中断向量表的程序如下:
MOV  AX  2000H  ;送主片的服务程序所在段的段基址
MOV  DS  AX
MOV  DX  1500H  ;送入偏移地址
MOV  AL  33H    ;中断类型号33H号送AL
MOV  AH  25H  ;功能调用号送AH
INT    21H
MOV  DX  2000H  ;第二个偏移地址送DX
MOV  AL  35H    送中断类型号35H
INT    21H
MOV  AX  3000H  ;送从片的中断服务程序入口地址的段基址
MOV  DX  AX
MOV  DX  4000H  ;送从片的服务程序的偏移地址
MOV  AL  44H    送中断类型号
MOV  AH  25H 
INT    21H
MOV  DX  4700H  ;送另一个入口地址的偏移地址
MOV  AL  46H    ;送中断类型号
INT 21H
6.2IBM PC/XT 62联轴器弹簧芯总线的IRQ2端输入一中断请求信号,该中断请求信号的中断源可由62芯总线CLK 输出的时钟经8253定时/计数器产生,也可由一分频电路直接分频产生。每产生一次中断,要求CPU 响应后在CRT 上显示字符串“THIS IS A 8259A INTRERRUPT!”,中断十次后,主机返回DOS 状态,不再响应中断请求。
解: 已知 PC/XT 8259A 地址为:偶地址20H,奇地址21H,并且使用系统的中断类型号为08H0FHIRQ
2对应的中断类型号为0AH。程序流程如图6.4所示
INTA00  EQU  20H  PC/XT系统中8259A的偶地址端口
INTA01  EQU  21H  PC/XT系统中8259A的奇地址端口
DATA    SEGMENT
MESS  DBTHIS IS A 8259A INTRERRUPT!’,OAHODH,‘$’
DATA  ENDS
CODE  SEGMENT
ASSUME  CSCODEDSDATA
STARTMOV    AX   CS   
MOV    DS   AX    ;设DS指向代码段
MOV    DX   OFFSET  INT-PROC
MOV    AX 250AH  ;设0AH号中断向量
INT    21H
CLI                    pgd-476;关中断
MOV    DX INTA01
IN      AL DX      ;允许IRQ2中断
AND    AL 0FBH   
OUT    DX AL
MOV    BX 10    ;设置中断次数10
STI                    ;开中断
LL    JMP    LL          ;循环等待中断
INT-PROC  PROC              ;中断服务程序
MOV    AX DATA
MOV    DS AX    ;将DS指向数据段
MOV    DX OFFSET  MESS
MOV    AH 09H
INT    21H          ;显示发生中断的信息
MOV    DX INT00
MOV    AL 砂浆机 20H
OUT    DX AL    ;发中断结束命令EOI

本文发布于:2024-09-20 20:48:39,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/306284.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:中断   地址   服务程序
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议