微机原理与接口技术第六章-8259A练习题及答案知识讲解_第1页
微机原理与接口技术第六章-8259A练习题及答案知识讲解_第2页
微机原理与接口技术第六章-8259A练习题及答案知识讲解_第3页
微机原理与接口技术第六章-8259A练习题及答案知识讲解_第4页
微机原理与接口技术第六章-8259A练习题及答案知识讲解_第5页
免费预览已结束,剩余8页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、中断技术和中断控制器 8259A练习题及答案一、填空题1.8088 微处理器最多能处理 256种不同类型的中断。2.8088系统的中断向量表位于从内存地址00000H开始,占1K字节存储单元。3.8088CPU响应INTR中断时,将PSW或标志寄存器内容) 和断点(或CS:IP)进堆栈保存。4.8259A可管理且级优先级中断源,通过级联,最多可管理64级优先级中断源。5.若8259A的IRR(中断请求寄存器)的内容为10H,说明IR4请求中断。二、选择题6.8088CPU的标志寄存器中IF=1时,表示允许CPU向应 中断。CA.内部中断B.外部中断C.可屏蔽中断D.不可屏蔽中断7 .CPU在响

2、应中断时,保存断点是指 。DA.将用户设置的程序指令地址入栈保存8 .将中断服务程序的入口地址入栈保存C.将程序状态字PSWK栈保存D.将返回地址即程序计数器 PC (CS: IP)的内容入栈保存8.8088的中断向量表用于存放。 BA.中断类型号B.中断服务程序的入口地址C.中断服务程序的返回地址D.断点地址三、判断题9.8086的可屏蔽中断的优先级高于不可屏蔽中断。X10 .通常8259A芯片中的IR0优先级最低,IR7的优先级最高。 X11 .在8088系统中,所谓中断向量就是中断服务程序入口地址。 V四、简答题12 .CPU响应INTR中断的条件是什么?答:(1)INTR信号为有效电平

3、(2)当前指令执行完毕(3)CPU 开中断(IF=1)(4)没有更高级的请求(RESET , HOLD ,NMI)13 . 一般CPUP向应中断时自动做哪些工作 ? 8088CPU呢?答:一般CPUS响应中断时,关中断,保存断点,识别中断源,找到中断服务程序入口地址,转入中断服务程序。8080CPUS响应中断时,首先把 PSW(或标志寄存器内容)入栈保存,其余同一般 CPU.14.8088CPU在执行中断返回指令IRET时,执行什么操作?答:(1)弹出断点送CS:IP(2)弹出PSW送标志寄存器15.中断控制器8259A中下列寄存器的作用是什么 ?(1) IRR (中断请求寄存器):保存中断源

4、的中断请求(2) IMR (中断屏蔽寄存器):屏蔽/允许中断源请求中断,由程序写入, 1为屏蔽,0为允许(3) ISR (中断服务寄存器):记录CPU正在为哪些中断源服务(4) IVR (中断向量寄存器):保存中断向量号16、初使化时设置为非自动结束方式 ,那么在中断服务程序将结束时必须设置什么操作命令?如果不设置这种命令会发生什么现象?答案:当中断服务程序将结束时,必须发 0CW2=20H 为中断结束命令,执行此命令即撤消正在服务的中断请求和服务标志;否则,即使返回主程序但未退出此中断,造成中断响应的混乱。17、中断服务程序结束时, 用 RET 指令代替IRET 指令能否返回主程序?这样做存

5、在什么问题?答案:RET应该可以使中断服务程序返回主程序,但因为RET是子程序返回指令,它只从堆栈中恢复 CS和IP,而不能使状态字PSW得以恢复,所以不能使断点完全恢复,对原程序的继续执彳f造成不良影响.18 、在哪些情况下须用CLI 指令关中断呢?在哪些情况下须用STI 指令开中断?答案:在程序初使化阶段,连续传送数据不希望被中断打断,用查询方式等情况下须用CLI 关中断 .在程序初始化结束之后,退出中断服务程序前,中断过程中须响应更高级中断等情况下须用STI 开中断 .19 、 8259A 的初始化命令字和操作命令字有什么差别?它们分别对应于编程结构中哪些内部寄存器?答案:初始化命令字通

6、常在系统初始化阶段设置,从ICW1 开始,按照固定次序的设置,一经设置完成,则在以后的操作中基本保持不变,操作命令字是在程序执行阶段向8259A发出的命令字,实现以8259A的状态,中断方式和过程的控制.操作命令字可以一个程序中多次设置,从而改变中断的方式.初始化命令字有4个 ,分别为 ICW1,ICW2,ICW3,ICW4, 操作命令字有#个 ,分别为 OCW1,OCW2,OCW3.20 、 8259A 的优先级自动循环方式和优先级特殊循环方式有什么差别?答案:优先级自动循环方式规定刚被服务过的中断其优先级为最高,相邻序号的中断级为最高优先级, 依次循环.而优先级特殊循环方式是指定某个中断其

7、优先级为最低,相邻高序号的中断其优先级则为最高.21 、 8259A 的中断屏蔽寄存器IMR 和 8086/8088 的中断允许标志IF 有什么差别?在中断响应过程中,它们怎样配合起来工作 ?答案:IMR 的 8 位对应 8 个中断级, 其中置为1 的位所对应的中断级的输入线IR 处于被屏蔽方式,被屏蔽的中断级请求不能使8259A 的 INT 输出端产生有效的请求信号.所以即使当中断允许IF=1 时也无法响应.IF 是 CPU 的中断允许标志,当 IF=0时所有可屏蔽中断被禁止.在中断响应过程中,通过设置IF,IMR 可灵活控制中断的优先次序.22、如果利用中断方式传送数据,则娄据是如何传输的

8、?中断机构起什么作用?答案:利用中断方式传送数据,一般是首先向CPU 发出中断请求,CPU 响应中断后在中断处理程序中进行数据传输,传输完毕返回 . 中断机构起控制作用, 实时性较强.23、在8086/8088 的中断系统中,响应中断过程是如何进入中断服务程务程序的?答案:中断源提供中断类型码,从中断向量表中相应位置取出中断服务程序首址置入IP 和 CS 中 ,程序转至中断服务程序.24、 8259A 的 ICW2 设置了中断类型码的哪几位?说明对8259A 分别设置ICW2 为 30H,38H,36H 有什么差别?答案:因ICW2设置了中断类型码的高 5位,所以中断类型码基值必须是能被 8整

9、除的值.若ICW2设置为30H,则8级中断的 类型码依次为 30H37H.若设置为38H,则8级中断的类型码依次为 38H3FH.若设置为36H中断类型码为 30H37H, 因其高 5 位仍为 00110B.25、 8259A 通过 ICW4 可以给出哪些重要信息?在什么情况下不需要用ICW3?答案:ICW4 中给出的重要信息是:特列全嵌套方式/正常全嵌套方式,非缓冲方式/缓冲方式,从片/主片,中断自动结束/中断正常结束 ,8086/8088方式还是8080/8085 方式.当 ICW1 中的 IC4=0 时 ,表示不设置ICW4. 当 ICW1 中的 SNGL=0 时 ,表示为级联方式,需要

10、设置ICW3.26、 8259A 的特殊屏蔽方式和普通屏蔽方式相比,有什么不同之处?特殊屏蔽方式一般用在什么场合?答案:不同之处在于: 当普通屏蔽方式中断服务程序正在执行时,同级或较低级和被屏蔽的中断请求不被响应,只有当前中断结束后方可响应同级或低级中断,特殊屏蔽方式除用OCW1 屏蔽方式,屏蔽掉的和正在服务的中断级外,其他任何级的中断请求都将可能中断正在服务的中断(CPU 处于开中断状态).相当于赋于OCW1 中未屏蔽的中断级有更高的优先权.用这种方法可在程序的不同阶段任意改变中断级的优先次序.27、 8259A 可编程中断控制器的主要功能有哪些?答案:主要功能有四个:(1)单片8259A可

11、管理8级优先权中断源,通过级联,最多可管理64级优先权中断源.(2)对任何一级中断源都可单独进行屏蔽,使该中断请求暂时被挂起,直到取消屏蔽时.(3)能向CPU 提供中断类型码.(4)具有多种中断优先级管理方式,这些管理方式可能过程序动态地进行变化.28、外设向CPU 申请中断,但 CPU 不给以响应,其原因有哪些?答案:其原因有四个:(1)CPU 处于关中断状态,IF=0(2)该中断请求已被屏蔽;(3)该中断请求的时间太短,未能保持到指令周期结束;(4)CPU 已释放总线(即已响应了DMA 请求 ),而未收回总线控制权.29、写出8086CPU 各内部中断名称及产生的条件.答案:(1)指令中断

12、INT n.n由用户定义.(2)断点中断INT 3.断点由用户设置.(3)单步中断.TF=1.(4)溢出中断INTO.当OF=1时,执行一条INT4 指令 .(5)除法出错中断.执行 DIV 或 IDIV 指令后 ,或商大于表示范围则执行一条INT0 指令 .五、应用题30 、 下面对一个主从式8259A 系统进行初始化的程序段.请对以下程序段详细注释,并具本说明各初始化命令字的含义.主片初始程序:M82590 EQU 40HM82591 EQU 41H MOV AL,11HMOV DX,M82590OUT DX,AL ;(1)MOV AL,08HINC DXOUT DX,AL;(2)MOV

13、AL,04HOUT DX,AL;(3)MOV AL,01HOUT DX,AL ;(4)从片初始化程序:S82590 EQU 90HS82591 EQU 91HMOV DX,S82590MOV AL,11HOUT DX,AL ;(5)MOV AL,70HINC DXOUT DX,AL ;(6)MOV AL,02HOUT DX,AL;(7)MOV AL,01HOUT DX,AL;(8)答案:(1)设 ICW1, 中断请求信号为上升沿,级联方式,须设 ICW4(2)设 ICW2, 中断类型码基值为08H(3)设 ICW3,IR2 与从片的INT 相连(4)设 ICW4, 正常的完全嵌套,非缓冲方式,

14、正常中断结束,8086/8088方式(5)同主片ICW1(6)设 ICW2, 中断类型码基值为70H(7)设 ICW3, 从片 INT 与主片的IR2 相连(8)同主片ICW431 、 IR4 为正在运行的中断,希望在特殊的程序段上允许较低的IR7 响应中断.试编写程序片段答案:根据题意程序片段为IR4 的程序CLI;关中断,以便设置命令MOV AL,68H ;设置特殊屏蔽方式(OCW3)OUT 20H,ALIN AL,21H;读 IMR状态OR AL 10HOUT 21H,AL ; 屏蔽 IR4STI;开中断,允许响应其他中断请求信号.;继续处理IR4,如果IR7有请求,可以响应,处理完后要

15、回到IR4处CLI;关中断,以便设置命令IN AL , 21H ;读屏蔽字AND AL, 0EFH ;开放 IR4OUT 20H, AL ;恢复原来的屏蔽字MOV AL 48H;复位特殊屏蔽方式(OCW3OUT 20H, ALSTI; CPU开中断.;继续对IR4进行中断处理MOV AL,20H;发中断结束命令(OCW2OUT 20H,ALIRET;返回主程序32、若8086系统中采用级联方式,主8259A的中断类型码从30H开始端口地址为20H,21H.从8259A的INT接主片的IR7,从片的中断类型码从 40H开始,端口地址为22H,23H.均不要ICW4.试对其进行初始化编程答案:主:

16、M82590 EQU 20H从 S82590 EQU 22HM82591 EQU 21HS82591 EQU 23HMOV AL,00010000BMOV DX,M82590OUT DX,ALMOV AL,30HINC DXOUT DX,ALMOV AL,80HMOV AL,00010000BMOV DX,S82590OUT DX,ALMOV AL,40HINC DXOUT DX,ALMOV AL,07HOUT DX,AL答案:33、单片8259A与PC机的连接见图1。要求单机工作,边缘触发,自动结束中断。屏蔽 IR6、IR7两中断源,IR0的中断类型号为10H,编程对8259A的初始化IV!

17、 1(1(AHIS 人“1A HA -A HA :A iA A 2A图1OUT DX,AL确定端口地址:由图知, 若 CS=0, 必须IOR、 IOW 任一为低电平,AEN=0 , A4=A5=A6=A7=A8=A9=1 , A3A2A1=010 ,若 A0=0 ,端口地址为03F4H ;若 A0=1 ,为 03F5H2.初始化程序:MOV DX , 03F4HMOV AL , 13HOUT DX, ALMOV DX , 03F5HMOV AL , 10HOUT DX, ALMOV AL , 03HOUT DX, AL34、若中断服务程序的入口地址为0320: 0000H,中断类型码为60H,

18、试编写程序段,把中断服务程序的入口地址放于矢量表中。答案: MOV AX , 0000HMOV ES , AXMOV BX , 60H*4MOV ES : WORD PTRBX , AXMOV AX , 0320HMOV ES : WORD PTRBX+2 , AX35、在 IBMPC/XT 机中,需通过读取ISR 的值,判断是否为硬件中断,若是,清除正在服务的优先级,并发一般的EOI 结束命令。编写该程序的有关片段。答案:程序有关的片段为MOV AL 0BH ; 设OCW操作命令字,置读 ISR状态OUT 20H, ALNOPIN AL , 20H;读ISRMOV AH, AL;保存正在服务

19、的优先级JNZ HW-INT;部位0,硬件中断转换为0,非硬件中断HW-INT: IN AL , 21H;读ISROR AL, AH;屏蔽当前服务的优先级OUT 20, ALMOV AL , 20H;设OCW辑作命令字,发一般的结束命令OUT 20H, AL36、下面对一个主从式8259A 系统进行初始化的程序段。请对以下程序段详细注释,并具体说明各初始化命令的含义。主片初始程序:M82590 EQU 40HM82591 EQU 41HMOV AL,11HMOV DX,M82590OUT DX,AL ;设ICW1,中断请求信号为上升沿,级连方式,需设 ICW4MOV AL,08HINC DXO

20、UT DX,AL ;设ICW2,中断类型码基址为 08HMOV AL,04HOUT DX,AL ;设ICW3, IR2 与从片的INT 相连MOV AL,01HOUT DX,AL ;设ICW4,正常的完全嵌套,非缓冲方式,正常中断结束,8086/80088方式从片初始化程序:M82590 EQU 90HM82591 EQU 91HMOV DX,82590MOV AL,11HOUT DX,AL ;同主片ICW1MOV AL,70HINC DXOUT DX,AL ;设ICW3,从片INT与主片的IR2相连MOV AL,02HOUT DX,ALMOV AL,01HOUT DX,AL ;同主片ICW4

21、37、某微机系统使用主、从两片 8259A管理中断,从片中断请求INT与主片的IR2连接。设主片工作于特殊完全嵌套、 非缓冲和非自动结束方式, 中断类型号为40H,端口地址为20H和21Ho从片工作于完全嵌套、 非缓冲和非自动结束方 式,中断类型号为 70H,端口地址为80H和81H。试编写主片和从片的初始化程序。答案:根据题意,写出ICW1, ICW2, ICW3和ICW4的格式。编写初始化程序如下:主片 8259A 的初始化程序如下:MOVAL, 00010001B;级联 , 边沿触发, 需要写ICW4OUT20H, AL; 写 ICW1MOVAL, 01000000B; 中断类型号40H

22、OUT21H, AL; 写 ICW2MOVAL, 00000100B; 主片的IR2 引脚接从片OUT21H, AL; 写 ICW3MOVAL, 00010001B; 特殊完全嵌套、非缓冲、自动结束OUT21H, AL; 写 ICW4从片 8259A 初始化程序如下:MOVAL, 00010001B; 级联 , 边沿触发, 需要写ICW4OUT80H, AL; 写 ICW1MOVAL, 01110000B; 中断类型号70HOUT81H, AL; 写 ICW2MOVAL, 00000010B; 接主片的IR2 引脚OUT81H, AL; 写 ICW3MOVAL, 00000001B; 完全嵌套

23、、非缓冲、非自动结束OUT81H, AL; 写 ICW438、设计一个中断处理程序。要求中断请求信号以跳变方式由IR2引入(可为任一定时脉冲信号),当CPU响应IR2请求时,输出字符串“ 8259A INTERRUPT!,中断10次,程序退出(设 8259A的端口地址为20H和21H,中断类型号 为 40H)。 答案: 中断处理程序如下: DATASEGMENTMESSDB'8259A? INTERRUPT!', 0AH,0DH, '$'COUNTDB 10;计数值为10DATAENDSSTACKSEGMENT STACKSTADB 100H DUP(?)TOP

24、EQU LENGTH STASTACKENDSCODESEGMENTASSUMECS:CODE, DS:DATA,SS:STACKMAIN:CLIMOVAX,DATANOVDS, AXMOVAX, STACKMOVSS, AXMOVSP, TOPMOVAL, 13HOUT20H,ALMOVAL, 40HOUT21H,ALMOVAL, 01HOUT21H,ALMOVAX, SEG INT-PMOVDS, AXMOVDX, OFFSET INT-PMOVAL, 42HMOVAH, 25HINT21H; 8259A 初始化; 单片 , 边沿触发; 中断类型号40H; 非自动结束; 设置中断向量; 中

25、断服务子程序入口段基址送DS; 中断服务子程序入口偏移地址送DX; IR2 的中断类型号42H 送 AL; 25H 功能调用INAL, 21H;读 IMRANDAL, 0FBH;允许IR2请求中断OUT21H, AL;写中断屏蔽字OCW1WAIT1:STI;开中断CMPCOUNT,0;判断10次中断是否结束JNZWAIT1;未结束,等待MOVAX, 4C00H;结束,返回DOSINT21HINT-PPROC;中断服务子程序PUSHDS;保护现场PUSHAXPUSHDXSTI;开中断MOVDS, AXMOVDX, OFFSET MESSMOVAH, 09HINT21HDECCOUNT;控制10次

26、循环JNZNEXTINAL, 21H;读 IMRORAL, 04H;屏蔽IR2请求OUT21H, ALNEXT:CLI;关中断MOVAL, 20H;写OCW2,送中断结束命令EOIOUT20H, ALPOPDX;恢复现场POPAXPOPDSIRET;中断返回INT-PENDPCODEENDSENDMAIN中 82 55A向序,向82 55 AI动作为二田营信 出端。打印机 砺在此没有参考练习题:8259A应用举例8255A作中断方式工作的字符打印机的接口,如图5. 24所示。本 8259A请求中断,82 59A向CPU请求中断,CPU响应中断后执行中断服务 的A端口输出数据,然后数据传到打印机

27、打印。82 55 A的 A端口作为数据通道,工作在方式1输出方式。此时,F 号输出端,则自动作为京?信号输入端,而,口自动作为I NTR信号输 接口需要一个数据选通信号而,故由CPU控制PCO来产生选通脉冲旃 用,将它悬空就行了。 夜端连接打印机*即但端。图5. 24 8 25 5A作中断方式打印机接口比连到825 9A的中断请求信号输入端网。8259A工作在单片、全嵌套方式、上升 沿请求中断、一般中断结束方式、非缓冲、耳中断类型码08H。设82 55A的端口地址为:A 端口0 0 COHB 端口00 C2HC 端口00 C4H控制口00C6 H设82 59A的端口地址为:奇端口0 05 0H

28、偶端口0 05 2H程序由初始化程序、主程序、中断服务程序三大部分组成。 初始化程序由8259A初始化、82 55A初始化、中断服务初始化几部分组成。 主程序没有别的任务,但是不能不写主程序,至少要有一条转移指令,原地跳转, 等待中断,而中断服务程序执行完毕以后仍然返回这条跳转指令。 中断服务程序从数据缓冲区取1个字节数据,输出到8255A的A端口;用对C端 口的置1 /置0命令使PC0输出负脉冲菽,从而将数据送入打印机;然后发一条中断 结束命令;最后中断返回。请求中断和响应的过程是:每当8 255A端口 A数据输出寄存器空,需要CPU送下一 个数据的时候,及自动变为高电平,向8259AI R3请求中断;8259 A通过I NT引腿向 CPU请求中断;CPU响应中断,根据8 259A提供的中断类型

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论