微机原理答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第8 章中断系统
习题参考答案
8-1.8086 系统中,用IRET 指令结束中断服务程序后,标志IF 的值是____A____。
8-2.执行8086 的IRET 中断返回指令后,将从堆栈中弹出__C__字节数据,存入相应的寄存器。8-3.8086 的中断向量表中存放的是_B_。
8-4.8086 中断向量表的范围是RAM 地址的__A__。
8-5 采用中断方式为外部设备服务的优点包括__C_。
8-6 为了可以实现中断嵌套,在8086系统的中断服务程序中,需要写一条__D_。
8-7.在具有2 片8259A 级联的中断系统中,两片8259A 都设置为非自动结束中断,以下说法中正确的是____C____。
8-8.以下和中断有关的操作中,必须由CPU 自动完成的是____A____。
8-9.中断系统可以实现中断嵌套,其最主要的原因是____C___。
8-10.在8086 系统中,一个中断类型号为0DBH 的中断服务子程序位于从8100H:1234H开始的内存中,在中断向量表中相应的中断向量所在的起始物理地址为____A___。
8-11.在8086 系统中,一个中断类型号为0DBH 的中断服务子程序入口地址是8100H:1234H,这个地址在中断向量表中连续4 个存储单元存放的内容依次为_____C____。
8-12.4 片8259A 构成的级联中断控制系统中,最多可以直接连接的外部中断源的数目是__D__。8-13.8086 的以下各种中断中,需要硬件提供中断类型号的只有____D__。
8-14.对于8086 的软件中断,以下说法中正确的是_____D____。
8-15.什么是中断向量?什么是中断向量表?8086的中断向量表存放在存储器的哪个区域?为什么8086 中断向量表的大小是1024 个字节?
答:中断向量就是中断服务程序的入口地址。中断向量表存放中断服务程序的入口地址,或者存放跳转到中断服务程序入口的转移指令。8086 的中断向量表位于RAM 区的00000H~003FFH。因为8086 支持256 个中断,每个中断服务程序的入口地址是4 个字节,共需要1024字节。
8-16.现在有10 个外中断源要申请中断,都用软件查询来进行优先级排队,此时需要为这些中断源准备几个中断服务程序?为什么?
答:只需要一个中断服务程序。10 个中断源通过一个或门向CPU 申请中断。当有几个中断源同时申请时,在中断服务程序中进行排队查询。再转移到各自的服务程序段。并不需要为每个中断源准备一个服务程序。
8-17.如果8259A设置为非自动结束中断方式。但是,用户在编写中断服务程序时,没有向8259A 发
送中断结束命令EOI。这样的做法会产生什么不好的后果?
答:其结果是8259 内部的中断服务寄存器中的相应的登记不会撤销。也就不会允许后续的同级中断的申请。而实际上CPU 的服务已经结束,应该可以允许中断的申请。
8-18.执行以下指令后的结果有什么不同:
MOV AX,1234H MOV AX,1234H
MOV BX,5678H MOV BX,5678H
PUSH BX PUSH BX
PUSH AX PUSH AX
RET IRET
再进一步叙述IRET 指令和RET 指令有什么不同。
答:执行左边一组指令后,IP=1234H。执行右边一组指令后,CS=5678H,IP=1234H。RET 指令一般是近调用返回,只将堆栈顶部内容弹出到IP。IRET 指令一定是远调用的返回,要将栈顶4 个字节弹出到CS 和IP。还会将自动压入的标志寄存器的内容出栈到标志寄存器。
8-19 向8259A 的A0=1 的端口发送一个命令字,如何可以确定这个命令字是初始化命令字ICW2 而不是操作命令字OCW1?
答:要看前一个命令字是不是ICW1。如果是ICW1,则这个命令字是ICW2,否则就是OCW1。
8-20.8259A 的初始化有几种不同的情况,分别使用在什么条件下?
答:1)只使用ICW1 和ICW2:单片8259,而且不使用ICW4。
2)使用ICW1、ICW2 和ICW3:多片8259,但不使用ICW4。
3)使用ICW1、ICW2 和ICW4:单片8259,但使用ICW4。
4)使用ICW1、ICW2、ICW3 和ICW4:多片8259,也使用ICW4。
8-21.8259A 设置为非自动结束中断,级联使用8259A 时,主8259A 的服务程序和从8259A 的服务程序,在发送中断结束命令方面有什么不同?
答:主8259 的服务程序要结束主8259A 的ISR 寄存器中的登记。从8259 的服务程序要结束主8259A 和从8259 的ISR 寄存器中的登记。
8-22.分析以下中断向量表写入程序:
MOV AX, 0
MOV ES, AX
MOV BX, 01C8H
LEA AX, INTSUB
MOV ES: [BX], AX
MOV AX, SEG INTSUB
MOV ES: [BX+2],AX
相应中断源的中断类型号是什么?请再用另外一种方式,完成这个中断向量表的写入程序。
答:中断类型号是72H。用DOS 功能调用25H 来写入:
PUSH DS
MOV AX, SEG INTSUB
MOV DS, AX
MOV DX, OFFSET INTSUB
MOV AL, 72H
MOV AH, 25H
INT 21H
POP DS
8-23.以下的子程序1 是中断初始化程序,子程序2 是响应中断的中断服务程序。0A0H和20H 都是8259A 的端口地址。分析这些程序段,并回答问题:
子程序1:
INT-P2 PROC FAR
PUSH DS
PUSH AX
PUSH DX
MOV DX, OFFSET INT-P1
MOV AX, SEG INT-P1
MOV DS, AX
MOV AL, 78H
MOV AH, 25H
INT 21H
POP DX
POP AX
POP DS
RET
INT-P2 ENDP
子程序2: