MOV CX ,10
LEA SI,BUFFER MOV DX,04E5H WAIT1:IN AL,DX AND AL,98H CMP AL,98H JNZ WAIT1 MOV DX,0E504H L1:MOV AL,[SI] OUT DX,AL INC SI LOOP L1
HLT
14.在8086最大系统中,分别利用2片74LS244和74LS273设计16位输入和输出接口,其起始端口地址为504H、506H,画出硬件连接图
解:硬件连接图如图7.4所示。
- 117 -
图7.4 硬件连接图
- 118 -
第8章 中断系统与可编程中断控制器8259A
1. 什么叫中断?8086微机系统中有哪几种不同类型的中断?
答:在CPU执行程序的过程中,由于某个事件的发生,CPU暂停当前正在执行的程序,转去执行处理该事件的一个中断服务程序,待中断服务程序执行完成后,CPU再返回到原被中断的程序继续执行。这个过程称为中断。
8086微机系统中有3种中断: 1) 外部可屏蔽中断。 2) 外部不可屏蔽中断。 3) 内部中断
2. 什么是中断类型?它有什么用处?
答:通常用若干位二进制编码来给中断源编号,该编号称为中断类型号。8086微处理器用8位二进制码表示一个中断类型,有256个不同的中断。这些中断可以划分为内部中断、外部不可屏蔽中断、外部可屏蔽中断三类。
用处:使CPU识别中断源,从而能正确地转向该中断源对应的中断服务程序入口。 3. 什么是中断嵌套?使用中断嵌套有什么好处?对于可屏蔽中断,实现中断嵌套的条件是 什么?
答:微处理器在处理低级别中断的过程中,如果出现了级别高的中断请求,微处理器停止执行低级中断的处理程序而去优先处理高级中断,等高级中断处理完毕后,再接着执行低级的未处理完的程序,这种中断处理方式成为中断嵌套。
使用中断嵌套的好处是能够提高中断响应的实时性。对于某些对实时性要求较高的操作,必须赋予较高的优先级和采取中断嵌套的方式,才能保证系统能够及时响应该中断请求。
对于可屏蔽中断,实现中断嵌套的条件有:(1)微处理器处于中断允许状态(IF=1)(2)中断请求的优先级高于正在执行的中断处理程序的优先级。(3)中断请求未被8259屏蔽。(4)没有不可屏蔽中断请求和总线请求。
4. 什么是中断向量?中断类型号为1FH的中断向量为2345H:1234H,画图说明它在中断向 量表中的存放位臵。
答:中断向量为每个中断服务子程序的入口地址,为32位(16位的偏移地址和16位的段地址),在中断向量表中占用4个地址单元。在8086CPU组成的计算机系统中,采用最低的1024个地址单元(称为0页)来存储中断向量。这1024个地址单元成为中断向量表。
- 119 -
因此,中断类型号位1FH的中断向量,在中断向量表中的存储位臵为1FH×4=07CH。中断类型号为1FH的中断向量在中断向量表中的存放位臵如图8.1所示。
图8.1 中断类型号为1FH的中断向量在中断向量表中的存放位臵
5. 中断向量表的功能是什么?叙述CPU利用中断向量表转入中断服务程序的过程。 答:中断向量表是用来存放中断向量的。是中断类型号与它对应的中断服务程序入口地址之间的换算表。
1) CPU获得中断类型号n后,将当前PSW、CS和IP的内容依次压入堆栈,保存断
点的状态和断点地址,以便返回时恢复。 2) 将PSW中的IF位和TF位清0,关闭中断。
3) 把地址为4×n和4×n+1两个单元的16位数作为中断服务程序入口的偏移地址臵
入IP,把地址为4×n+2和4×n+3两个单元的16位数作为中断服务程序入口的段地址臵入CS。 4) 转入中断服务程序。 6. 叙述可屏蔽中断的响应过程。
答:在IF位为1情况下,从INTR端加入中断请求信号开始,到进入中断服务程序为止
- 120 -