1、1第七章 中断控制接口习题 7.18088 CPU 具有哪些中断类型?各种中断如何产生,如何得到中断向量号?解答 1:除法错中断:在执行除法指令时,除数为 0 或商超过了寄存器所能表达的范围产生指令中断:在执行中断指令 INT n 时产生溢出中断:在执行溢出中断指令 INTO 时,溢出标志 OF 为 1 产生单步中断:单步标志 TF 为 1,在每条指令执行结束后产生非屏蔽中断:外部通过 NMI 请求信号向微处理器提出请求时产生可屏蔽中断:外部通过 INTR 请求信号向微处理器提出请求,并在允许可屏蔽中断的条件下产生解答 2:除法错中断、溢出中断、单步中断、非屏蔽中断的向量号是 8086 微处理
2、器内部已经确定指令中断的操作数 n 就是向量号可屏蔽中断的向量号在响应中断时通过数据总线从外部获得习题 7.28088 中断向量表的作用是什么?解答参看教程 7.1.3 节 (P156 页) (第二版 P194)习题 7.11下段程序读出的是 8259A 的哪个寄存器?mov al,0bhout 20h,alnopin al,20h解答读取中断服务寄存器 ISR 的内容因为执行输入指令(A00)之前,执行的输出指令,写入了 OCW3(D4D 301),其中 P RR RIS(D2D1D0) 011 指明随后读出 ISR不是查询字习题 7.14中断服务程序的人口处为什么通常要使用开中断指令?解答
3、开中断,以便可以实现中断嵌套。2补充:1. 如何利用 DOS 功能调用设置中断向量?解答参考教程第 7.1.3 节 P157(第二版 195 页)解答:设置中断向量即为把新中断向量写入中断向量表内。方法如下:MOV AH,25HMOV AL,中断向量号MOV DS,新中断向量的段地址MOV DX,新中断向量的偏移地址INT 21H补充:2. 如何利用 DOS 功能调用获取中断向量?解答参考教材第 7.1.3 节 P157(第二版 195 页)解答:获取中断向量即为把中断向量表内的中断向量读出到 ES:BX 中。方法如下:MOV AH,35HMOV AL,中断向量号INT 21H补充:3. 如何开 CPU 的中断允许?解答:用 STI 指令使 IF=1。补充:4. 如何开 8259A 的中断允许?解答:OCW1 中的 IMR 的第 i 位=0,即允许 IR 中的第 i 位发出中断申请。编程方法参见教程 P169 5) 。第二版 P207 页(5) 。