第
6
章作业
问答题
3
若
8086
系统采用单片
8259A
,
其中一个中断源的中断类型码为
46H
,
问该中断源应与
8259A
的哪一个
IR
输入端连接?其中断矢量地址是多少?若其中断服务子程序的首地址为
16A0
:
23D4H
,则向量表对应的
4
个单元的内容是什么?
该中断源应与
8259A
的
IR6
相连
.
其中断矢量地址是
0000
:
0118H,
矢量区对应的
4
个单元内
容依次是:
D4H
,
23H
,
A0H
,
16H
。
4
,
怎样用
8259A
的屏蔽命令字来禁止
IR4
和
IR5
引脚上的请求?又怎样撤销这一禁止命令
?
设
8259A
的端口地址为
20H-21H
,写出有关指令。
使
OCW1
的
D4
和
D5
位为
1
,
写到
8259A
的奇地址就可禁止
IR4
和
IR5
引脚上的请求。
撤销
禁令只需写入
D4
和
D5
位为
0
的
OCW1
命令。有关指令如下:
IN AL,21H
OR AL,30H
OUT 21H
,
AL
;
禁止
IR4
,
IR5
的请求
IN AL,21H
AND AL,0CFH
OUT
21H,AL
;
撤销对
IR4
,
IR5
的禁令用
OR
和
AND
命令是为了保持
OCW1
的其他
6
位不变。
IMR
(中断屏蔽寄存器)内容可读写。
补充
1
、什么叫中断?简述中断的处理过程。
所谓中断是指
CPU
在正常运行程序的过程中,
CPU
内部或外部出现某些事件、异常需要
及时处理,导致
CPU
暂停正在执行的程序,转去执行处理该事件或异常对应的程序,并在
处理完毕返回原程序处继续执行被暂停的程序,这一过程称为中断及中断处理。
中断处理过程包括:中断请求、中断响应、中断处理和中断返回几个步骤。
补充
2
、
8086cpu
有哪几种中断?简述
8086cpu
对可屏蔽中断的响应过程。
中断源可分为两大类:
一类是外设接口的中断请求,
由
CPU
的引脚引入,
中断源来自
CPU
外部,故称外部中断
(
又称硬件中断
)
;另一类在执行指令时引起,来自
CPU
的内部,故称内
部中断
(
又称软件中断
)
。
外部中断分为
NMI(
非屏蔽中断
)
和
INTR(
可屏蔽中断
)
内部中断分为除法错误中断、溢出中断
INTO
、单步执行中断
(
单步中断
)
、
INT n
中断指令
引起的中断、断点中断
在
8086/8088
系统中,
CPU
对可屏蔽中断的响应处理要经过以下几步:
(1)
执行
2
个中断响应总线周期,取得中断类型码。
当
CPU
响应
INTR
引脚上的中断请求后,在
2
个总线周期的
T2~T4
状态分别输出
2
个
负脉冲,
在第
2
个总线周期的
T2~T4
状态内,
CPU
在低
8
位数据总线上获得
8259A
送来的中
断类型码
(2)
执行一个总线写周期将标志寄存器
FLAG
的值压栈。
(3)
将
TF
送入
TEMP
。
(4)
设置
IF=0
,
TF=0
,即关中断和禁止单步中断。