《微机原理与接口技术》第六章作业答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《微机原理与接口技术》第六章作业
一、P207:
1,3,5,10,14
18,19,20
1、什么叫中断?中断系统的主要功能有哪些?
中断:是指CPU在执行程序的过程中,由于某种外部或内部事件的作用,强迫
CPU停止当前正在执行的程序,转去为该事件服务,待事件服务结束后,能自动地返回到被中断的程序中继续执行。
中断系统的功能:
1、设置中断源
2、中断源识别
3、中断源判优
4、中断与返回
3、CPU 响应中断时的处理过程是什么?在各个处理环节主要完成哪些操作?
过程是:中断请求、中断响应、中断处理和中断返回。
(1)中断请求:中断源需要进行中断服务时,由硬件产生一个中断信号INTR 发给CPU 且保持到CPU 响应。
(2)中断响应:CPU 在当前指令执行结束后采样查询INTR ,若中断请求信号有效且允许响应INTR 中断(IF=1),则向请求设备送回低电平有效的中断响应信号INTR , 自此系统自动进入中断响应周期,并由硬件自动完成内容入栈,清除TF 和IF标志、断点入栈,取中断服务程序的入口地址等一系列操作,继而转去执行中断服务程序。
(3)中断处理:执行中断的主体部分。不同的中断请求源,其中断处理的内容是不同的。需要根据中断请求源所要完成的功能,编写相应的中断服务程序存入内存。等待中断响应后调用执行。
(4)中断返回:又中断服务程序中的中断返回指令IRET 完成。执行该指令时,将压入对战的断点和标志位弹出,使CPU 转向被中断的现行程序中继续执行。
5、中断允许标志IF的作用是什么? 可以用什么指令对它置1或清0。
IF用来控制INTR和单步中断。IF=1允许中断IF=0不允许中断
STI:IF=1
CLI:IF=0
10、中断向量表用来存放什么内容?它占用多大的存储空间?存放在内存的哪个区域?可以用什么方法写入或者读取中断向量表的内容?
中断向量表存放中断向量,即中断服务程序的段基址+偏移地址。
中断向量表占1KB 内存
RAM区,地址范围:000H—3FFH。
写入方法:
1、用传送指令直接装入
2、DOS功能调用:INT 21H
(AH)=25H
(AL)=中断类型号
(DS:DX)=中断服务程序的入口地址
读出方法:
1、用传送指令直接读
2、DOS功能调用:INT 21H
(AH)=35H
(AL)=中断类型号
出口参数:
(ES:BX)=中断服务程序的入口地址
14、8259A 有哪几种中断结束方式? 它们适合应用在什么场合?
1、自动结束方式
自动结束方式是利用中断响应信号INTA的第二个负脉冲的后沿将ISR中的中断服务标志位清除,是在中断过程中完成的,并非中断服务程序的真正结束。只适合适用在无多级中断嵌套的场合。
2、普通结束方式
通过向8259A传送一个普通EOI命令来清除ISR中当前优先权级别最高位,适合使用在完全嵌套方式下的中断结束。
3、特殊结束方式通过向8259A传送一个普通EOI命令来清除ISR中的指定位。适合使用在完全嵌套方式下的中断结束,更适合用于嵌套结构有可能遭到破坏的中断结束。
18、某系统使用一片8259A管理中断,中断请求由IR2 引人,采用电平触发、完全嵌套、普通EOI结束方式,中断类型号为42H 端口地址为80H 和81H,试画出8259A 与CPU的硬件连接图,井编写初始化程序。
初始化程序:
MOV AL,00011011B ;电平触发、单片、写ICW4
OUT 80H,AL ;写ICW1
MOV AL,01000000B ;中断类型号40H,则IR2 为42H
OUT 81H,AL ;写ICW2 MOV AL,00000001B ;完全嵌套、非自动结束、8086模式
OUT 81H,AL ;写ICW4
19、某系统使用两片8259A 管理中断,从片的INT 连接到主片的IR2请求输入端。设主片工作于边沿触发、特殊完全嵌套、非自动结束和非缓冲方式,中断类型号为70H ,端口地址为80H 和81H ;从片工作与边沿触发、完全嵌套、非自动结束和非缓冲方式,中断类型号为40H ,端口地址为20H 和21H 。要求:
(1)画出主、从片级联图
(2)编写主、从片初始化程序
主片初始化程序:
MOV AL,00010001B ;边沿触发、主片、写ICW4
OUT 80H,AL ;写ICW1
MOV AL,01110000B ;中断类型号70H,则IR2 为42H
OUT 81H,AL ;写ICW2
MOV AL,00000100
OUT 81H,AL ;写ICW3
MOV AL,00010001B ;完全嵌套、非自动结束、8086模式
OUT 81H,AL ;写ICW4
从片初始化程序:
MOV AL,00010001B ;边沿触发、从片、写ICW4
OUT 20H,AL ;写ICW1
MOV AL,01000000B ;中断类型号40H,则IR2 为42H OUT 21H,AL ;写ICW2 MOV AL,00000010
OUT 21H,AL ;写ICW3
MOV AL,00000001B ;完全嵌套、非自动结束、8086模式
OUT 21H,AL ;写ICW4
20、某系统由8259A 的IR2引入外设中断请求(跳变信号有效),要求当CPU 响应IR2请求时,输出显示字符串“****”,并中断10次退出,试编写主程序和中断服务程序。
程序:
DATA SEGMENT
MESS DB '*****',OAH,ODH,'$'
INTA00 EQU 0020H
INTA01 EQU 0021H
DATA ENDS
STACK SEGMENT STACK
DB 100H DUP (?)
STACK ENDS
CODE SEGMENT
ASSUME CS :CODE ,DS :DATA ,SS :STACK
MAIN :MOV AX ,DATA
MOV DS ,AX
MOV DX ,INTA00 ;8259A 初始化
MOV AL ,13H ;写ICW1
OUT DX ,AL
MOV DX ,INTA01
MOV AL ,08H ;写ICW2
OUT DX ,AL
MOV AL ,01H ;写ICW4
OUT DX ,AL
PUSH DS
MOV AX ,SEG INT-P ;设置中断矢量
MOV DS ,AX
MOV DX ,OFFSET INT-P
MOV AL ,0AH
MOV AH ,25H
POP DS
MOV AL ,0FBH ;写中断屏蔽字OCW1 OUT DX ,AL
MOV DX ,INTA00
MOV AL ,20H ;写中断结束方式OCW2 OUT DX ,AL
MOV BX,10
WAIT1: STI ;开中断
JMP WAIT1 ;等待中断
INT-P :MOV AX ,DATA ;中断服务程序入口
MOV DS ,AX
MOV DX ,OFFSET MESS ;输出指定字符串
MOV AH ,09H
INT 21H