微机原理答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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:

INT-P1 PROC FAR

PUSH AX

INC [SI]

MOV AL, 20H

OUT 0A0H, AL

OUT 20H,AL

POP AX

IRET

INT-P1 ENDP

请问:(1)分配给这个中断的中断类型号是什么?

相关文档
最新文档