微机原理与接口技术第六章8259A练习题与答案.docx

上传人:b****1 文档编号:2143568 上传时间:2023-05-02 格式:DOCX 页数:19 大小:271.10KB
下载 相关 举报
微机原理与接口技术第六章8259A练习题与答案.docx_第1页
第1页 / 共19页
微机原理与接口技术第六章8259A练习题与答案.docx_第2页
第2页 / 共19页
微机原理与接口技术第六章8259A练习题与答案.docx_第3页
第3页 / 共19页
微机原理与接口技术第六章8259A练习题与答案.docx_第4页
第4页 / 共19页
微机原理与接口技术第六章8259A练习题与答案.docx_第5页
第5页 / 共19页
微机原理与接口技术第六章8259A练习题与答案.docx_第6页
第6页 / 共19页
微机原理与接口技术第六章8259A练习题与答案.docx_第7页
第7页 / 共19页
微机原理与接口技术第六章8259A练习题与答案.docx_第8页
第8页 / 共19页
微机原理与接口技术第六章8259A练习题与答案.docx_第9页
第9页 / 共19页
微机原理与接口技术第六章8259A练习题与答案.docx_第10页
第10页 / 共19页
微机原理与接口技术第六章8259A练习题与答案.docx_第11页
第11页 / 共19页
微机原理与接口技术第六章8259A练习题与答案.docx_第12页
第12页 / 共19页
微机原理与接口技术第六章8259A练习题与答案.docx_第13页
第13页 / 共19页
微机原理与接口技术第六章8259A练习题与答案.docx_第14页
第14页 / 共19页
微机原理与接口技术第六章8259A练习题与答案.docx_第15页
第15页 / 共19页
微机原理与接口技术第六章8259A练习题与答案.docx_第16页
第16页 / 共19页
微机原理与接口技术第六章8259A练习题与答案.docx_第17页
第17页 / 共19页
微机原理与接口技术第六章8259A练习题与答案.docx_第18页
第18页 / 共19页
微机原理与接口技术第六章8259A练习题与答案.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机原理与接口技术第六章8259A练习题与答案.docx

《微机原理与接口技术第六章8259A练习题与答案.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术第六章8259A练习题与答案.docx(19页珍藏版)》请在冰点文库上搜索。

微机原理与接口技术第六章8259A练习题与答案.docx

微机原理与接口技术第六章8259A练习题与答案

中断技术和中断控制器8259A练习题及答案

一、填空题

1.8088微处理器最多能处理256种不同类型的中断。

 2.8088系统的中断向量表位于从内存地址00000H开始,占1K字节存储单元。

 3.8088CPU响应INTR中断时,将PSW(或标志寄存器内容)和断点(或CS:

IP)进堆栈保存。

 4.8259A可管理8级优先级中断源,通过级联,最多可管理64级优先级中断源。

 5.若8259A的IRR(中断请求寄存器)的内容为10H,说明IR4请求中断。

二、选择题

 6.8088CPU的标志寄存器中IF=1时,表示允许CPU响应______中断。

C

 A.内部中断B.外部中断C.可屏蔽中断D.不可屏蔽中断

 7.CPU在响应中断时,保存断点是指______。

D

  A.将用户设置的程序指令地址入栈保存

  B.将中断服务程序的入口地址入栈保存

  C.将程序状态字PSW入栈保存

  D.将返回地址即程序计数器PC(CS:

IP)的内容入栈保存

 8.8088的中断向量表用于存放______。

B

  A.中断类型号  B.中断服务程序的入口地址

  C.中断服务程序的返回地址  D.断点地址

三、判断题 

9.8086的可屏蔽中断的优先级高于不可屏蔽中断。

[]×

 10.通常8259A芯片中的IR0优先级最低,IR7的优先级最高。

[]×

 11.在8088系统中,所谓中断向量就是中断服务程序入口地址。

[]√

四、简答题

12.CPU响应INTR中断的条件是什么?

  答:

(1)INTR信号为有效电平

    

(2)当前指令执行完毕

    (3)CPU开中断(IF=1)

    (4)没有更高级的请求(RESET,HOLD,NMI)

 13.一般CPU响应中断时自动做哪些工作?

8088CPU呢?

  答:

一般CPU在响应中断时,关中断,保存断点,识别中断源,找到中断服务程序入口地址,转入中断服务程序。

  8080CPU在响应中断时,首先把PSW(或标志寄存器内容)入栈保存,其余同一般CPU.

 14.8088CPU在执行中断返回指令IRET时,执行什么操作?

  答:

(1)弹出断点送CS:

IP

    

(2)弹出PSW送标志寄存器

 15.中断控制器8259A中下列寄存器的作用是什么?

  

(1)IRR(中断请求寄存器):

保存中断源的中断请求

  

(2)IMR(中断屏蔽寄存器):

屏蔽/允许中断源请求中断,由程序写入,1为屏蔽,0为允许

  (3)ISR(中断服务寄存器):

记录CPU正在为哪些中断源服务

  (4)IVR(中断向量寄存器):

保存中断向量号

16、初使化时设置为非自动结束方式,那么在中断服务程序将结束时必须设置什么操作命令?

如果不设置这种命令会发生什么现象?

答案:

当中断服务程序将结束时,必须发0CW2=20H为中断结束命令,执行此命令即撤消正在服务的中断请求和服务标志;否则,即使返回主程序但未退出此中断,造成中断响应的混乱。

17、中断服务程序结束时,用RET指令代替IRET指令能否返回主程序?

这样做存在什么问题?

答案:

RET应该可以使中断服务程序返回主程序,但因为RET是子程序返回指令,它只从堆栈中恢复CS和IP,而不能使状态字PSW得以恢复,所以不能使断点完全恢复,对原程序的继续执行造成不良影响.

18、在哪些情况下须用CLI指令关中断呢?

在哪些情况下须用STI指令开中断?

答案:

在程序初使化阶段,连续传送数据不希望被中断打断,用查询方式等情况下须用CLI关中断.在程序初始化结束之后,退出中断服务程序前,中断过程中须响应更高级中断等情况下须用STI开中断.

19、8259A的初始化命令字和操作命令字有什么差别?

它们分别对应于编程结构中哪些内部寄存器?

答案:

初始化命令字通常在系统初始化阶段设置,从ICW1开始,按照固定次序的设置,一经设置完成,则在以后的操作中基本保持不变,操作命令字是在程序执行阶段向8259A发出的命令字,实现以8259A的状态,中断方式和过程的控制.操作命令字可以一个程序中多次设置,从而改变中断的方式.初始化命令字有4个,分别为ICW1,ICW2,ICW3,ICW4,操作命令字有#个,分别为OCW1,OCW2,OCW3.

20、8259A的优先级自动循环方式和优先级特殊循环方式有什么差别?

答案:

优先级自动循环方式规定刚被服务过的中断其优先级为最高,相邻序号的中断级为最高优先级,依次循环.而优先级特殊循环方式是指定某个中断其优先级为最低,相邻高序号的中断其优先级则为最高.

21、8259A的中断屏蔽寄存器IMR和8086/8088的中断允许标志IF有什么差别?

在中断响应过程中,它们怎样配合起来工作?

答案:

IMR的8位对应8个中断级,其中置为1的位所对应的中断级的输入线IR处于被屏蔽方式,被屏蔽的中断级请求不能使8259A的INT输出端产生有效的请求信号.所以即使当中断允许IF=1时也无法响应.IF是CPU的中断允许标志,当IF=0时所有可屏蔽中断被禁止.在中断响应过程中,通过设置IF,IMR可灵活控制中断的优先次序.

22、如果利用中断方式传送数据,则娄据是如何传输的?

中断机构起什么作用?

答案:

利用中断方式传送数据,一般是首先向CPU发出中断请求,CPU响应中断后在中断处理程序中进行数据传输,传输完毕返回.中断机构起控制作用,实时性较强.

23、在8086/8088的中断系统中,响应中断过程是如何进入中断服务程务程序的?

答案:

中断源提供中断类型码,从中断向量表中相应位置取出中断服务程序首址置入IP和CS中,程序转至中断服务程序.

24、8259A的ICW2设置了中断类型码的哪几位?

说明对8259A分别设置ICW2为30H,38H,36H有什么差别?

答案:

因ICW2设置了中断类型码的高5位,所以中断类型码基值必须是能被8整除的值.若ICW2设置为30H,则8级中断的类型码依次为30H~37H.若设置为38H,则8级中断的类型码依次为38H~3FH.若设置为36H<中断类型码为30H~37H,因其高5位仍为00110B.

25、8259A通过ICW4可以给出哪些重要信息?

在什么情况下不需要用ICW3?

答案:

ICW4中给出的重要信息是:

特列全嵌套方式/正常全嵌套方式,非缓冲方式/缓冲方式,从片/主片,中断自动结束/中断正常结束,8086/8088方式还是8080/8085方式.当ICW1中的IC4=0时,表示不设置ICW4.当ICW1中的SNGL=0时,表示为级联方式,需要设置ICW3.

26、8259A的特殊屏蔽方式和普通屏蔽方式相比,有什么不同之处?

特殊屏蔽方式一般用在什么场合?

答案:

不同之处在于:

当普通屏蔽方式中断服务程序正在执行时,同级或较低级和被屏蔽的中断请求不被响应,只有当前中断结束后方可响应同级或低级中断,特殊屏蔽方式除用OCW1屏蔽方式,屏蔽掉的和正在服务的中断级外,其他任何级的中断请求都将可能中断正在服务的中断(CPU处于开中断状态).相当于赋于OCW1中未屏蔽的中断级有更高的优先权.用这种方法可在程序的不同阶段任意改变中断级的优先次序.

27、8259A可编程中断控制器的主要功能有哪些?

答案:

主要功能有四个:

(1)单片8259A可管理8级优先权中断源,通过级联,最多可管理64级优先权中断源.

(2)对任何一级中断源都可单独进行屏蔽,使该中断请求暂时被挂起,直到取消屏蔽时.

(3)能向CPU提供中断类型码.

(4)具有多种中断优先级管理方式,这些管理方式可能过程序动态地进行变化.

28、外设向CPU申请中断,但CPU不给以响应,其原因有哪些?

答案:

其原因有四个:

(1)CPU处于关中断状态,IF=0

(2)该中断请求已被屏蔽;

(3)该中断请求的时间太短,未能保持到指令周期结束;

(4)CPU已释放总线(即已响应了DMA请求),而未收回总线控制权.

29、写出8086CPU各内部中断名称及产生的条件.

答案:

(1)指令中断INTn.n由用户定义.

(2)断点中断INT3.断点由用户设置.(3)单步中断.TF=1.(4)溢出中断INTO.当OF=1时,执行一条INT4指令.(5)除法出错中断.执行DIV或IDIV指令后,或商大于表示范围则执行一条INT0指令.

五、应用题

30、下面对一个主从式8259A系统进行初始化的程序段.请对以下程序段详细注释,并具本说明各初始化命令字的含义.

主片初始程序:

M82590EQU40H

M82591EQU41H

MOVAL,11H

MOVDX,M82590

OUTDX,AL;

(1)

MOVAL,08H

INCDX

OUTDX,AL;

(2)

MOVAL,04H

OUTDX,AL;(3)

MOVAL,01H

OUTDX,AL;(4)

从片初始化程序:

S82590EQU90H

S82591EQU91H

MOVDX,S82590

MOVAL,11H

OUTDX,AL;(5)

MOVAL,70H

INCDX

OUTDX,AL;(6)

MOVAL,02H

OUTDX,AL;(7)

MOVAL,01H

OUTDX,AL;(8)

答案:

(1)设ICW1,中断请求信号为上升沿,级联方式,须设ICW4

(2)设ICW2,中断类型码基值为08H

(3)设ICW3,IR2与从片的INT相连

(4)设ICW4,正常的完全嵌套,非缓冲方式,正常中断结束,8086/8088方式

(5)同主片ICW1

(6)设ICW2,中断类型码基值为70H

(7)设ICW3,从片INT与主片的IR2相连

(8)同主片ICW4

31、IR4为正在运行的中断,希望在特殊的程序段上允许较低的IR7响应中断.试编写程序片段.

答案:

根据题意程序片段为

IR4的程序

CLI;关中断,以便设置命令

MOVAL,68H;设置特殊屏蔽方式(OCW3)

OUT20H,AL

INAL,21H;读IMR状态

ORAL10H

OUT21H,AL;屏蔽IR4

STI;开中断,允许响应其他中断请求信号

...;继续处理IR4,如果IR7有请求,可以响应,处理完后要回到IR4处

...

CLI;关中断,以便设置命令

INAL,21H;读屏蔽字

ANDAL,0EFH;开放IR4

OUT20H,AL;恢复原来的屏蔽字

MOVAL,48H;复位特殊屏蔽方式(OCW3)

OUT20H,AL

STI;CPU开中断

...;继续对IR4进行中断处理

MOVAL,20H;发中断结束命令(OCW2)

OUT20H,AL

IRET;返回主程序

32、若8086系统中采用级联方式,主8259A的中断类型码从30H开始,端口地址为20H,21H.从8259A的INT接主片的IR7,从片的中断类型码从40H开始,端口地址为22H,23H.均不要ICW4.试对其进行初始化编程

答案:

主:

M82590EQU20H

M82591EQU21H

MOVAL,00010000B

MOVDX,M82590

OUTDX,AL

MOVAL,30H

INCDX

OUTDX,AL

MOVAL,80H

OUTDX,AL

从S82590EQU22H

S82591EQU23H

MOVAL,00010000B

MOVDX,S82590

OUTDX,AL

MOVAL,40H

INCDX

OUTDX,AL

MOVAL,07H

OUTDX,AL

33、单片8259A与PC机的连接见图1。

要求单机工作,边缘触发,自动结束中断。

屏蔽IR6、IR7两中断源,IR0的中断类型号为10H,编程对8259A的初始化。

图1

答案:

 

确定端口地址:

由图知,若CS=0,必须IOR、IOW任一为低电平,AEN=0,A4=A5=A6=A7=A8=A9=1,A3A2A1=010,若A0=0,端口地址为03F4H;若A0=1,为03F5H

2.初始化程序:

MOVDX,03F4H

MOVAL,13H

OUTDX,AL

MOVDX,03F5H

MOVAL,10H

OUTDX,AL

MOVAL,03H

OUTDX,AL

34、若中断服务程序的入口地址为0320:

0000H,中断类型码为60H,试编写程序段,把中断服务程序的入口地址放于矢量表中。

答案:

MOVAX,0000H

MOVES,AX

MOVBX,60H*4

MOVES:

WORDPTR[BX],AX

MOVAX,0320H

MOVES:

WORDPTR[BX+2],AX

35、在IBMPC/XT机中,需通过读取ISR的值,判断是否为硬件中断,若是,清除正在服务的优先级,并发一般的EOI结束命令。

编写该程序的有关片段。

答案:

程序有关的片段为

MOVAL,0BH;设OCW3操作命令字,置读ISR状态

OUT20H,AL

NOP

INAL,20H;读ISR

MOVAH,AL;保存正在服务的优先级

JNZHW-INT;部位0,硬件中断转换为0,非硬件中断

...

HW-INT:

INAL,21H;读ISR

ORAL,AH;屏蔽当前服务的优先级

OUT20,AL

MOVAL,20H;设OCW2操作命令字,发一般的结束命令

OUT20H,AL

36、下面对一个主从式8259A系统进行初始化的程序段。

请对以下程序段详细注释,并具体说明各初始化命令的含义。

主片初始程序:

M82590EQU40H

M82591EQU41H

........

MOVAL,11H

MOVDX,M82590

OUTDX,AL;设ICW1,中断请求信号为上升沿,级连方式,需设ICW4

MOVAL,08H

INCDX

OUTDX,AL;设ICW2,中断类型码基址为08H

MOVAL,04H

OUTDX,AL;设ICW3,IR2与从片的INT相连

MOVAL,01H

OUTDX,AL;设ICW4,正常的完全嵌套,非缓冲方式,正常中断结束,8086/80088方式

从片初始化程序:

M82590EQU90H

M82591EQU91H

........

MOVDX,82590

MOVAL,11H

OUTDX,AL;同主片ICW1

MOVAL,70H

INCDX

OUTDX,AL;设ICW3,从片INT与主片的IR2相连

MOVAL,02H

OUTDX,AL

MOVAL,01H

OUTDX,AL;同主片ICW4

37、某微机系统使用主、从两片8259A管理中断,从片中断请求INT与主片的IR2连接。

设主片工作于特殊完全嵌套、非缓冲和非自动结束方式,中断类型号为40H,端口地址为20H和21H。

从片工作于完全嵌套、非缓冲和非自动结束方式,中断类型号为70H,端口地址为80H和81H。

试编写主片和从片的初始化程序。

答案:

根据题意,写出ICW1,ICW2,ICW3和ICW4的格式。

编写初始化程序如下:

主片8259A的初始化程序如下:

  MOV  AL,00010001B;级联,边沿触发,需要写ICW4

  OUT  20H,AL           ;写ICW1

  MOV  AL,01000000B        ;中断类型号40H

  OUT  21H,AL           ;写ICW2

  MOV  AL,00000100B        ;主片的IR2引脚接从片

  OUT  21H,AL           ;写ICW3

  MOV  AL,00010001B        ;特殊完全嵌套、非缓冲、自动结束

  OUT  21H,AL           ;写ICW4

从片8259A初始化程序如下:

MOV  AL,00010001B        ;级联,边沿触发,需要写ICW4

  OUT  80H,AL           ;写ICW1

  MOV  AL,01110000B        ;中断类型号70H

  OUT  81H,AL           ;写ICW2

  MOV  AL,00000010B        ;接主片的IR2引脚

  OUT  81H,AL           ;写ICW3

  MOV  AL,00000001B       ;完全嵌套、非缓冲、非自动结束

  OUT  81H,AL          ;写ICW4

38、设计一个中断处理程序。

要求中断请求信号以跳变方式由IR2引入(可为任一定时脉冲信号),当CPU响应IR2请求时,输出字符串“8259AINTERRUPT!

”,中断10次,程序退出(设8259A的端口地址为20H和21H,中断类型号为40H)。

答案:

  中断处理程序如下:

  DATA   SEGMENT

  MESS   DB'8259A?

INTERRUPT!

',0AH,0DH,'$'

  COUNT  DB 10         ;计数值为10

  DATA   ENDS

  STACK  SEGMENT STACK

  STA   DB 100HDUP(?

  TOP   EQU LENGTH  STA

  STACK  ENDS

  CODE  SEGMENT

  ASSUME  CS:

CODE,DS:

DATA,SS:

STACK

  MAIN:

  CLI

  MOV   AX,DATA

  NOV   DS,AX

  MOV   AX,STACK

  MOV   SS,AX

  MOV   SP,TOP

  MOV   AL,13H        ;8259A初始化

  OUT   20H,AL        ;单片,边沿触发

  MOV   AL,40H        ;中断类型号40H

  OUT   21H,AL

  MOV   AL,01H        ;非自动结束

  OUT   21H,AL

  MOV   AX,SEGINT-P     ;设置中断向量

  MOV   DS,AX        ;中断服务子程序入口段基址送DS

  MOV   DX,OFFSETINT-P   ;中断服务子程序入口偏移地址送DX

  MOV   AL,42H        ;IR2的中断类型号42H送AL

  MOV   AH,25H        ;25H功能调用

  INT   21H

  IN    AL,21H        ;读IMR

  AND   AL,0FBH        ;允许IR2请求中断

  OUT   21H,AL        ;写中断屏蔽字OCW1

  WAIT1:

  STI          ;开中断

  CMP   COUNT,0        ;判断10次中断是否结束

  JNZ   WAIT1         ;未结束,等待

  MOV   AX,4C00H       ;结束,返回DOS

  INT   21H

  INT-P  PROC           ;中断服务子程序

  PUSH  DS             ;保护现场

  PUSH  AX

  PUSH  DX

  STI               ;开中断

  MOV   DS,AX

  MOV   DX,OFFSETMESS

  MOV   AH,09H

  INT   21H

  DEC   COUNT          ;控制10次循环

  JNZ   NEXT

  IN   AL,21H        ;读IMR

  OR   AL,04H          ;屏蔽IR2请求

  OUT   21H,AL

  NEXT:

  CLI          ;关中断

  MOV   AL,20H          ;写OCW2,送中断结束命令EOI

  OUT   20H,AL

  POP   DX           ;恢复现场

  POP   AX 

  POP   DS

  IRET              ;中断返回

  INT-P  ENDP

  CODE   ENDS

  END   MAIN

参考练习题:

8259A应用举例

8255A作中断方式工作的字符打印机的接口,如图5.24所示。

本例中8255A向8259A请求中断,8259A向CPU请求中断,CPU响应中断后执行中断服务程序,向8255A的A端口输出数据,然后数据传到打印机打印。

8255A的A端口作为数据通道,工作在方式1输出方式。

此时,

自动作为

信号输出端,

则自动作为

信号输入端,而

自动作为INTR信号输出端。

打印机接口需要一个数据选通信号

,故由CPU控制PCO来产生选通脉冲

在此没有用,将它悬空就行了。

端连接打印机

端。

图5.248255A作中断方式打印机接口

连到8259A的中断请求信号输入端

8259A工作在单片、全嵌套方式、上升沿请求中断、一般中断结束方式、非缓冲、

中断类型码08H。

设8255A的端口地址为:

A端口―――00COH

B端口―――00C2H

C端口―――00C4H

控制口―――00C6H

设8259A的端口地址为:

奇端口―――005OH

偶端口―――0052H

程序由初始化程序、主程序、中断服务程序三大部分组成。

◆初始化程序由8259A初始化、8255A初始化、中断服务初始化几部分组成。

◆主程序没有别的任务,但是不能不写主程序,至少要有一条转移指令,原地跳转,等待中断,而中断服务程序执行完毕以后仍然返回这条跳转指令。

◆中断服务程序从数据缓冲区取1个字节数据,输出到8255A的A端口;用对C端口的置1/置0命令使PC0输出负脉冲

,从而将数据送入打印机;然后发一条中断结束命令;最后中断返回。

请求中断和响应的过程是:

每当8255A端口A数据输出寄存器空,需要CPU送下一个数据的时候,

自动变为高电平,向8259AIR3请求中断;8259A通过INT引腿向CPU请求中断;CPU响应中断,根据8259A提供的中断类型号,到中断向量表中取得中断向量;然后转移到中断服务程序执行。

中断的详细过程见第二章“中断操作和中断系统”中可屏蔽中断响应过程部分。

假定待打印的数据存放在内存PRNBUF缓冲区,下面是具体程序段:

INIT;MOV   AL,0AOH;8255A初始化程序

 OUT   0C6H

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2