微机课后答案打印 2(5)

2019-08-29 19:12

到主程序被中断处继续执行的过程。

CPU与外设采用中断技术交换数据,可以克服无条件传递和查询传送的缺点,即CPU和外设只能串行工作。这样可以提高系统的工作效率,充分发挥CPU的高速运算的能力。 5. 什么叫中断系统,它具备哪些功能??

【解】计算机系统中完成中断处理过程的软硬件称为中断系统。

中断系统应具有以下功能:

(1) 能实现中断响应、中断服务和中断返回

当有中断源发出中断请求时,CPU能决定是否响应此中断,若接受这个中断请求,CPU能在保护断点(现行CS:IP值)后,转去执行相应的中断服务程序,中断处理完成后能恢复断点,继续执行程序。?

(2) 能实现中断优先级排队?

当两个或多个中断源同时提出中断请求时,CPU要能根据各中断请求的轻重缓急程度,分别处理,即给每个中断源一个优先级别,保证首先处理优先级高的中断申请。

(3) 能实现中断嵌套?

若中断处理过程中,又有新的优先级较高的中断请求,且当中断允许时,CPU应能暂停正在执行的中断服务程序,转去响应与处理优先级较高的中断申请,待处理结束后,再返回原先较低的中断处理过程。

6. CPU在什么情况下才响应中断,中断处理过程一般包括哪些步骤??

【解】CPU每执行完一条指令后,当查询到有中断请求且此时CPU允许中断(即中断允许标志位IF=1,开中断),CPU才能响应中断。

CPU中断处理的具体过程一般包括以下步骤:中断请求、中断判优、中断响应、中断处理及中断返回。

7. 何谓非屏蔽中断和可屏蔽中断??

【解】何谓非屏蔽中断和可屏蔽中断都是硬件中断(也称外部中断)。非屏蔽中断通过CPU的NMI端引入,它不受内部中断允许标志位IF的屏蔽,一般在一个系统中只允许有一个非屏蔽中断。可屏蔽中断是通过CPU的INTR引入 ,它受内部中断允许标志IF的控制。只有在IF=1时,CPU才能响应中断源的请求。当IF=0时,中断请求被屏蔽。通常在一个系统中,通过中断控制器(8259A)的配合,可屏蔽中断可以有一个或多个。 8. CPU如何识别中断源?

【解】通过读取8259中断服务寄存器ISR中的内容识别中断源。ISR寄存所有正在被服务的中断级,优先权电路对保存在IRR中的各个中断请求,经过判断确定最高的优先权,并在中断响应周期把它选通送至中断服务寄存器ISR。

9. 什么叫中断优先权,有哪些解决中断优先权的办法?

【解】由于中断请求是随机的,在某一瞬间有可能出现两个或两个以上中断源同时提出请求的情况。这时必须根据中断源的轻重缓急,给每个中断源确定一个中断级别,这个级别称为中断优先权。在系统中如果有多个中断源,就要考虑其优先权的问题。通常CPU只有一条中断请求线,当有多个中断源同时请求中断服务时,就要求CPU能识别出哪些中断源有中断请求,同时辨别和比较它们的优先权,先响应中断源中优先权级别最高的中断请求。另外,当CPU正在处理中断时,也要能响应更高级的中断申请,并屏蔽同级或较低的中断请求。

21

确定中断的中断优先权一般可以采用软件和硬件两种方法。 10. 简述8086/8088CPU的中断结构及中断处理过程。?

【解】8086/8088CPU可以处理256种类型的中断源,这些中断源可分为硬件中断和软件中断两大类。CPU响应中断后,把正在执行程序的当前地址(CS∶IP)压入堆栈保存,将中断服务程序入口地址送入CS∶IP,由此开始执行中断服务程序。在8086系统中,允许引入256种类型中断源(类型码为0~255),相应有256个中断服务程序首址。存放中断地址的一段内存空间称中断向量表。断类型码与中断向量所在位置(中断向量地址指针)之间的对应关系为:中断向量地址指针=4*中断类型码?

内部中断的处理过程:?

(1)CPU取得中断类型码,将类型码乘4作为向量表指针。(2)把CPU 标志寄存器入栈,保护各个标志,此操作类似于PUSHF指令。(3)清除IF和TF标志,屏蔽新的INTR中断和单步中断。(4)保存断点,即把断点处IP和CS压栈,先压CS值后压IP值。(5)从中断向量表中取中断服务程序入口地址分别送入IP和CS中。(6)按新的地址执行中断服务程序。

CPU执行中断服务程序的最后一条中断返回指令IRET后,返回到断点处继续执行原程序。 11. 8086/8088的中断系统分哪几类,其优先顺序如何??

【解】8086/8088CPU可以处理256种类型的中断源,这些中断源可分为硬件中断和软件中断两大类。硬件中断是由外部硬件产生的,它又可分为非屏蔽中断和可屏蔽中断。一般在一个系统中只允许有一个非屏蔽中断,可屏蔽中断可以有一个或多个。软件中断是CPU根据软件的某些指令或者软件对标志寄存器某个标志位的设置而产生的。

8086/8088系统中,中断优先权排队次序从高到低为:除法出错、指令中断、溢出中断、非屏蔽中断、可屏蔽中断、单步中断。

12. 中断入口地址表的功能是什么?已知中断类型码分别为84H和0FAH,它们的中断入口在中断入口地址表的什么位置上??

【解】CPU响应中断后,把正在执行程序的当前地址(CS:IP)压入堆栈保存,将中断服务程序入口地址送入CS:IP,由此开始执行中断服务程序。在8086系统中,允许引入256种类型中断源(类型码为0~255),相应有256个中断服务程序首址。这些地址就存放在中断入口地址表中。

中断类型码分别为84H的中断源所对应的中断服务程序首址存放在0000∶0210H(4×84H=210H)开始的4个单元中。

中断类型码分别为0FAH 的中断源所对应的中断服务程序首址存放在0000∶03E8H(4×0FAH=3E8H)开始的4个单元中。

14. 8086/8088CPU如何获得中断类型码??

【解】对于专用中断,中断类型码是自动形成的。几种类型码为:类型0、1、3、4。

对于INT n指令,其类型码为指令中给定的n。 对于外部非屏蔽中断请求,CPU自动提供中断类型号2。

对于外部可屏蔽中断请求,CPU从数据线中获取外部设备的中断类型码, 15. 简述中断控制器8259A的内部结构和主要功能。?

【解】8259A的内部结构见教材图7-11。它由中断请求寄存器IRR(INTERRUPT Request Register)、优先权电路、中断服务寄存器ISR(IN—Service Register)、中断屏蔽寄存器

22

IMR(Interrupt Mask Register)、数据总线缓冲器、读写电路、控制逻辑和级连缓冲/比较器组成。

8259A的主要功能为:

(1) 具有8级优先权控制,通过级连可扩展至64级优先权控制。 (2) 每一级中断都可以屏蔽或允许。

(3) 在中断响应周期,8259A可提供相应的中断向量号(中断类型号)。 (4) 可通过编程来进行选择工作方式。 1

第8章 接口技术

教材习题解答

1.填空题

(1) 8255A内部包括两组控制电路,其中A组控制______的工作方式和读写操作,B组控制

______的工作方式和读写操作。

(2) 8255A的端口A工作于方式2时,使用端口C的______位作为与CPU的外部设备的联络信

号。

(3) 当8255A的端口A和端口B均工作于方式1输出时,端口C的PC4和PC5可以作为_____

使用。

(4) 8255A的端口A工作于方式2时,端口B可以工作于______。

(5) 8255A中,可以按位进行置位/复位的端口是______,其置位/复位操作是通过向______

口地址写入_______实现的。 答案:

(1) 端口A、端口C高4位(PC7~PC4)

端口B、端口C低4位(PC3~PC0) (2) PC3~PC7

(3) STBA(端口A的选通输入信号)、IBFA(输入缓冲器满信号) (4) 方式0或方式1 (5) 端口C;控制;控制字

2.已知8255A的端口A、B、C和控制口地址分别为120H、122H、124H和126H,试按下列要求设计初始化程序:

(1) 将端口A和端口B设置成方式0,端口A、端口C作为输出口,端口B作为输入口。 (2) 将端口A设置成方式2,端口B设置成方式1,端口B作为输出口。 (3) 将端口A和端口B均设置成方式1的输入状态,且PC6、PC7设置成输出位。 【解】

(1) 方式选择控制字的内容:82H

D7 1 D6 0 D5 0 D4 0 D3 0 D2 0 D1 1 D0 0 23

控制字标志 端口A设置成方式0 端口A为输出口

端口C(7-4)作为输出口

端口B设置成方式0

端口B为输入口

端口C(3-0)作为输出口

初始化程序:

MOV AL,82H ;方式选择控制字送AL

OUT 126H,AL ;方式选择控制字输出给8255A控制端口

(2) 方式选择控制字的内容:0C4H

D7 1 控制字标志

D6 1 D5 × D4 ×

D3 ×

D2 1 端口B设置成方式1

D1 0 端口B为输出口

D0 ×

端口A设置成方式2

初始化程序:

MOV AL,0C4H ;方式选择控制字送AL

OUT 126H,AL ;方式选择控制字输出给8255A控制端口

(3) 方式选择控制字的内容:0B6H

D7 1 控制字标志

D6 0 D5 1 D4 1 端口A为输入口

D3 0 端口C(7-4)作为输出口

D2 1 端口B设置成方式1

D1 1 端口B为输入口

D0 ×

端口A设置成方式1

初始化程序:

MOV AL,0B6H ;方式选择控制字送AL

OUT 126H,AL ;方式选择控制字输出给8255A控制端口

3.某一外部输入设备,当它准备好一个数据时,那个发出一个数据准备好的状态信号READY(高电平有效)。当CPU把数据取走后,要求CPU通过ACK线向外设发一负脉冲,以便外设清除READY信号。试用8255A作为接口芯片,分别用查询和中断方式从外设读入100个数据,将其存入从DAT_BEG开始的内存区。要求:画出8255A与外设之间的连线,并进行编程。 【解】

(1) 用查询方式从外设读入数据时,8255A与外设之间的连线如图8-30所示,使用端口C传送控制和状态信息。

PA7~0 PC4 PC2 ACK READY 图8-30 8255A与外设之间的连线

方式选择控制字的内容:91H

D7

D6

D5

D4

D3

D2

D1

D0

24

1 控制字标志

0 0 1 端口A为输入口

0 端口C(7-4)作为输出口

× 端口B

× 端口B

1 端口C(3-0)作为输入口

端口A设置成方式0

设在系统中8255A的端口地址为:

端口A:00E0H 端口B:00E2H 端口C:00E4H 控制口:00E6H 读入数据的程序:

DATA SEGMENT

;数据段开始

DAT_BEG DB 100 DUP(?) DATA ENDS CODE

;数据段结束

;代码段开始

SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX ;装填数据段 LEA BX,DAT_BEG ;传送变量的地址 MOV AL,91H OUT 0E6H,AL MOV AL,09H OUT 0E6H,AL MOV CX,9

RDLP: IN AL,0E4H

AND AL,04H JZ RDLP IN AL,0E0H MOV [BX],AL INC BX MOV AL,08H OUT 0E6H,AL

;用置位方式使PC4=0

;使ACK为低

;未准备好,则等待

;已准备好,则从端口A输入数据 ;将输入数据保存到内存中 ;读入端口C的内容(READY信号)

;方式控制字送AL

;方式控制字写入8255A控制口 ;用置位方式使PC4=1 ;使ACK为高

CALL DELAY ;一段定时程序,形成负脉冲 MOV AL,09H OUT 0E6H,AL LOOP RDLP MOV AH,4CH INT 21H

DELAY PROC

;返回DOS ;定义延时子程序

;向CX中送延时常数,决定延时的时间

;用置位方式使PC4=1 ;使ACK为高

MOV CX,100

DELAY2:NOP

LOOP DELAY2 RET

25

DELAY ENDP CODE

ENDS

;定义延时子程序结束 ;代码段结束

;源程序结束

END START

26


微机课后答案打印 2(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:业主委员会,辞职报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: