微机原理与接口技术第六章-8259A练习题及答案_第1页
微机原理与接口技术第六章-8259A练习题及答案_第2页
微机原理与接口技术第六章-8259A练习题及答案_第3页
微机原理与接口技术第六章-8259A练习题及答案_第4页
微机原理与接口技术第六章-8259A练习题及答案_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

第 1 页 共 12 页 中断技术和中断控制器中断技术和中断控制器 8259A8259A 练习题及答案练习题及答案 一 填空题 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 为允许 第 2 页 共 12 页 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 有什么差别 第 3 页 共 12 页 答案 因 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 指令中断 INT n n 由用户定义 2 断点中断 INT 3 断点由用户设置 3 单步中断 TF 1 4 溢出中断 INTO 当 OF 1 时 执 行一条 INT4 指令 5 除法出错中断 执行 DIV 或 IDIV 指令后 或商大于表示范围则执行一条 INT0 指令 五 应用题 30 下面对一个主从式 8259A 系统进行初始化的程序段 请对以下程序段详细注释 并具本说明各初始化命令字的含 义 主片初始程序 M82590 EQU 40H M82591 EQU 41H MOV AL 11H 第 4 页 共 12 页 MOV DX M82590 OUT DX AL 1 MOV AL 08H INC DX OUT DX AL 2 MOV AL 04H OUT DX AL 3 MOV AL 01H OUT DX AL 4 从片初始化程序 S82590 EQU 90H S82591 EQU 91H MOV DX S82590 MOV AL 11H OUT DX AL 5 MOV AL 70H INC DX OUT DX AL 6 MOV AL 02H OUT DX AL 7 MOV AL 01H OUT DX 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 关中断 以便设置命令 MOV AL 68H 设置特殊屏蔽方式 OCW3 OUT 20H AL 第 5 页 共 12 页 IN AL 21H 读 IMR 状态 OR AL 10H OUT 21H AL 屏蔽 IR4 STI 开中断 允许响应其他中断请求信号 继续处理 IR4 如果 IR7 有请求 可以响应 处理完后要回到 IR4 处 CLI 关中断 以便设置命令 IN AL 21H 读屏蔽字 AND AL 0EFH 开放 IR4 OUT 20H AL 恢复原来的屏蔽字 MOV AL 48H 复位特殊屏蔽方式 OCW3 OUT 20H AL STI CPU 开中断 继续对 IR4 进行中断处理 MOV AL 20H 发中断结束命令 OCW2 OUT 20H AL IRET 返回主程序 32 若 8086 系统中采用级联方式 主 8259A 的中断类型码从 30H 开始 端口地址为 20H 21H 从 8259A 的 INT 接主片 的 IR7 从片的中断类型码从 40H 开始 端口地址为 22H 23H 均不要 ICW4 试对其进行初始化编程 答案 主 M82590 EQU 20H M82591 EQU 21H MOV AL B MOV DX M82590 OUT DX AL MOV AL 30H INC DX OUT DX AL MOV AL 80H OUT DX AL 从 S82590 EQU 22H S82591 EQU 23H MOV AL B MOV DX S82590 OUT DX AL MOV AL 40H INC DX OUT DX AL MOV AL 07H OUT DX AL 33 单片 8259A 与 PC 机的连接见图 1 要求单机工作 边缘触发 自动结束中断 屏蔽 IR6 IR7 两中断源 IR0 的 中断类型号为 10H 编程对 8259A 的初始化 第 6 页 共 12 页 图 1 答案 确定端口地址 由图知 若 CS 0 必须 IOR IOW 任一为低电平 AEN 0 A4 A5 A6 A7 A8 A9 1 A3A2A1 010 若 A0 0 端口地址为 03F4H 若 A0 1 为 03F5H 2 初始化程序 MOV DX 03F4H MOV AL 13H OUT DX AL MOV DX 03F5H MOV AL 10H OUT DX AL MOV AL 03H OUT DX AL 34 若中断服务程序的入口地址为 0320 0000H 中断类型码为 60H 试编写程序段 把中断服务程序的入口地址放 于矢量表中 答案 MOV AX 0000H MOV ES AX MOV BX 60H 4 MOV ES WORD PTR BX AX MOV AX 0320H MOV ES WORD PTR BX 2 AX 35 在 IBMPC XT 机中 需通过读取 ISR 的值 判断是否为硬件中断 若是 清除正在服务的优先级 并发一般的 EOI 结束命令 编写该程序的有关片段 第 7 页 共 12 页 答案 程序有关的片段为 MOV AL 0BH 设 OCW3 操作命令字 置读 ISR 状态 OUT 20H AL NOP IN AL 20H 读 ISR MOV AH AL 保存正在服务的优先级 JNZ HW INT 部位 0 硬件中断转换为 0 非硬件中断 HW INT IN AL 21H 读 ISR OR AL AH 屏蔽当前服务的优先级 OUT 20 AL MOV AL 20H 设 OCW2 操作命令字 发一般的结束命令 OUT 20H AL 36 下面对一个主从式 8259A 系统进行初始化的程序段 请对以下程序段详细注释 并具体说明各初始 化命令的含义 主片初始程序 M82590 EQU 40H M82591 EQU 41H MOV AL 11H MOV DX M82590 OUT DX AL 设 ICW1 中断请求信号为上升沿 级连方式 需设 ICW4 MOV AL 08H INC DX OUT DX AL 设 ICW2 中断类型码基址为 08H MOV AL 04H OUT DX AL 设 ICW3 IR2 与从片的 INT 相连 MOV AL 01H OUT DX AL 设 ICW4 正常的完全嵌套 非缓冲方式 正常中断结束 8086 80088 方式 从片初始化程序 M82590 EQU 90H M82591 EQU 91H MOV DX 82590 MOV AL 11H OUT DX AL 同主片 ICW1 MOV AL 70H 第 8 页 共 12 页 INC DX OUT DX AL 设 ICW3 从片 INT 与主片的 IR2 相连 MOV AL 02H OUT DX AL MOV AL 01H OUT DX AL 同主片 ICW4 37 某微机系统使用主 从两片 8259A 管理中断 从片中断请求 INT 与主片的 IR2 连接 设主片工作于特殊完全嵌套 非缓冲和非自动结束方式 中断类型号为 40H 端口地址为 20H 和 21H 从片工作于完全嵌套 非缓冲和非自动结束 方式 中断类型号为 70H 端口地址为 80H 和 81H 试编写主片和从片的初始化程序 答案 根据题意 写出 ICW1 ICW2 ICW3 和 ICW4 的格式 编写初始化程序如下 主片 8259A 的初始化程序如下 MOV AL B 级联 边沿触发 需要写 ICW4 OUT 20H AL 写 ICW1 MOV AL B 中断类型号 40H OUT 21H AL 写 ICW2 MOV AL B 主片的 IR2 引脚接从片 OUT 21H AL 写 ICW3 MOV AL B 特殊完全嵌套 非缓冲 自动结束 OUT 21H AL 写 ICW4 从片 8259A 初始化程序如下 MOV AL B 级联 边沿触发 需要写 ICW4 OUT 80H AL 写 ICW1 MOV AL B 中断类型号 70H OUT 81H AL 写 ICW2 MOV AL B 接主片的 IR2 引脚 OUT 81H AL 写 ICW3 MOV AL B 完全嵌套 非缓冲 非自动结束 OUT 81H AL 写 ICW4 38 设计一个中断处理程序 要求中断请求信号以跳变方式由 IR2 引入 可为任一定时脉冲信号 当 CPU 响应 IR2 请求时 输出字符串 8259A INTERRUPT 中断 10 次 程序退出 设 8259A 的端口地址为 20H 和 21H 中断类型 号为 40H 答案 中断处理程序如下 DATA SEGMENT MESS DB 8259A INTERRUPT 0AH 0DH COUNT DB 10 计数值为 10 DATA ENDS STACK SEGMENT STACK 第 9 页 共 12 页 STA DB 100H DUP 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 SEG INT P 设置中断向量 MOV DS AX 中断服务子程序入口段基址送 DS MOV DX OFFSET INT 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 OFFSET MESS MOV AH 09H 第 10 页 共 12 页 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 参参 考考练练 习习题题 8 82 2 5 59 9 A A 应应 用用举举例例 825 5A 作 中断 方 式工 作的 字符 打印 机的 接口 如图 5 24 所示 本例中8255A 向 825 9A 请 求中断 8 2 5 9 A 向 C PU 请求 中断 CP U 响应 中断后执行中断服务程序 向 825 5A 的 A 端 口输 出数 据 然后 数据 传到 打印 机打 印 825 5A 的 A 端 口 作 为 数 据 通 道 工作 在方 式1 输出方式 此时 自动作为 信 号 输出端 则 自动 作为信号 输入 端 而自动作为INTR 信号输出端 打 印机接 口需 要一 个 数据 选通 信号 故由CP U 控 制PCO 来产生选通脉冲 在此 没有用 将 它悬 空 就行 了 端 连接 打印 机端 图 5 2 4 8 25 5A 作 中断 方式 打印机接口 连 到825 9 A 的 中 断 请 求 信号 输入 端 82 59 A 工作在单片 全嵌套方式 上升沿请 求中断 一 般中 断 结束 方式 非 缓冲 中 断类 型码08H 设 8 25 5A 的 端口 地 址 为 第 11 页 共 12 页 A 端口 0 0 C O H B 端口 0 0 C2 H C 端口 0 0 C4 H 控 制口 0 0 C6 H 设 8 25 9A 的 端口 地 址 为 奇 端口 0 0 5 O H 偶 端口 0 0 5 2 H 程 序由初 始化 程 序 主 程 序 中 断 服 务 程 序 三 大 部分 组成 初始化 程序 由8 2 5 9 A 初 始 化 8 2 5 5 A 初始 化 中断服务初始化几部分组成 主程序 没有 别 的 任 务 但 是 不 能 不 写 主 程 序 至 少要有一条转移指令 原地跳转 等待中断 而 中断服 务程 序 执 行 完 毕 以 后 仍 然 返 回 这 条 跳 转 指令 中断服 务程 序 从 数 据 缓 冲 区 取1 个 字 节 数据 输出到8255A 的 A 端口 用对C 端 口 的置1 置0 命 令 使P C 0 输 出 负 脉 冲 从 而将数据送入打印机 然后发一条中断结束 命 令 最 后中 断 返 回 请 求中断 和响 应 的 过 程 是 每 当8 2 5 5 A 端 口A 数据输出寄存器空 需要CPU 送下一个 数 据的时 候 自 动 变 为 高 电 平 向8 2 5 9 AI R3 请求中断 8259A 通过INT 引腿向 C PU 请求 中断 C P U 响 应 中 断 根 据8 2 5 9 A 提供 的中断类型号 到中断向量表中取得中断 向 量 然 后转 移 到 中 断 服 务 程 序 执 行 中 断 的 详 细过 程见第二章 中断操作和中断系 统 中 可屏 蔽中 断 响 应 过 程 部 分 假 定待打 印的 数 据 存 放 在 内 存P R N B U F 缓

温馨提示

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

最新文档

评论

0/150

提交评论