第八章 “中断控制接口”习题答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第八章中断控制接口

〔习题8.1〕

8088 CPU具有哪些中断类型?各种中断如何产生,如何得到中断向量号?

解答1:

⏹除法错中断:在执行除法指令时,除数为0或商超过了寄存器所能表达的范围产生

⏹指令中断:在执行中断指令INT n时产生

⏹溢出中断:在执行溢出中断指令INTO时,溢出标志OF为1产生

⏹单步中断:单步标志TF为1,在每条指令执行结束后产生

⏹非屏蔽中断:外部通过NMI请求信号向微处理器提出请求时产生

⏹可屏蔽中断:外部通过INTR请求信号向微处理器提出请求,并在允许可屏蔽中断的条件下产生

解答2:

⏹除法错中断、溢出中断、单步中断、非屏蔽中断的向量号是8086微处理器内部已经确定

⏹指令中断的操作数n就是向量号

⏹可屏蔽中断的向量号在响应中断时通过数据总线从外部获得

〔习题8.2〕

8088中断向量表的作用是什么?

〔解答〕

参看教材8.1.3节(P194页)

〔习题8.11〕

下段程序读出的是8259A的哪个寄存器?

mov al,0bh

out 20h,al

nop

in al,20h

〔解答〕

⏹读取中断服务寄存器ISR的内容

⏹因为执行输入指令(A0=0)之前,执行的输出指令,写入了OCW3(D4D3=01),其中P RR RIS(D2D1D0)=011指明随后读出ISR

⏹不是查询字

〔习题8.14〕

中断服务程序的人口处为什么通常要使用开中断指令?

〔解答〕

⏹开中断,以便可以实现中断嵌套

补充:1. 如何利用DOS功能调用设置中断向量?

--解答参考教材第8.1.3节(第195页)

解答:

设置中断向量即为把新中断向量写入中断向量表内。方法如下:

MOV AH,25H

MOV AL,中断向量号

MOV DS,新中断向量的段地址

MOV DX,新中断向量的偏移地址

INT 21H

补充:2. 如何利用DOS功能调用获取中断向量?

--解答参考教材第8.1.3节(第195页)

解答:

获取中断向量即为把中断向量表内的中断向量读出到ES:BX中。方法如下:MOV AH,35H

MOV AL,中断向量号

INT 21H

补充:3. 如何开CPU的中断允许?

解答:

用STI指令使IF=1。

补充:4. 如何开8259A的中断允许?

解答:

OCW1中的IMR的第i位=0,即允许IR中的第i位发出中断申请。

编程方法参见P207页(5)。

相关文档
最新文档