ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

微机原理期末复习指南:8086寻址、中断系统与接口芯片高频考点解析

微机原理期末复习指南:8086寻址、中断系统与接口芯片高频考点解析 简介这份《北航-微机原理-期末考试复习.pdf》面向北京航空航天大学微机原理课程的备考学生也适用于需要系统梳理微型计算机组成与工作原理的学习者。内容围绕课程核心考点展开涵盖计算机体系结构、CPU内部结构与指令执行流程、数据表示与运算、存储层次与虚拟内存、指令系统与汇编语言编程、中断与DMA等I/O控制方式、总线技术、微程序设计、常见接口芯片以及实模式与保护模式、中断向量表等关键概念便于对照教材与讲义进行查漏补缺。资源包共1个文件为PDF格式整体约10.17MB适合打印或平板阅读方便随时翻阅与标注。目前已有625人学习下载说明其在同类复习资料中具有一定参考价值。读者可借助它快速建立知识框架结合课后习题与历年试题强化计算与原理理解提升期末应试的掌握程度与应用能力。1. 从一份“北航-微机原理-期末考试复习.pdf”说起这门课到底在考什么很多人第一次打开这类复习资料看到的是满屏的 8086 引脚图、寻址方式表格和中断向量表第一反应是“背不完”。但微机原理这门课的期末考试真正拉开分差的从来不是谁背的指令多而是谁能在给定场景下把地址算对、把时序说清、把接口芯片的工作方式配明白。北航的微机原理课程通常覆盖 8086 微处理器结构、指令系统与汇编、存储器扩展、中断系统、8255/8253/8251 等接口芯片以及总线与 DMA 的基本概念。复习资料的价值不在于替你背而在于帮你把“物理地址怎么来”“中断响应时 CPU 干了什么”“8255 方式控制字怎么拼”这些高频考点变成能自己推出来的东西。这份内容适合正在准备期末的本科生也适合工作几年后想回头补一补底层接口知识的工程师——因为很多嵌入式调试里的“玄学问题”根子就在这几章。2. 微机原理期末高频考点8086 寻址与物理地址计算怎么不丢分2.1 物理地址 段基址 × 16 偏移地址但坑在“段超越”8086 用 20 位地址总线寻址 1MB 空间而内部寄存器只有 16 位所以用“段:偏移”的方式拼出物理地址。公式本身简单考试里失分往往出在段超越前缀和默认段寄存器的判断上。默认情况下取指令用 CS堆栈操作用 SS串操作源用 DS、目的用 ES而 BP 作为基址寻址时默认段是 SS 而不是 DS。一旦题目里出现MOV AX, [BPSI]很多人会下意识按 DS 算结果整道题崩掉。; 例题已知 DS2000H, SS3000H, BP1000H, SI0200H ; 求 MOV AX, [BPSI] 的物理地址 ; BP 参与寻址默认段寄存器是 SS ; 偏移 BP SI 1000H 0200H 1200H ; 物理地址 SS * 16 1200H 30000H 1200H 31200H逻辑说明先判断有效地址由哪些寄存器组成再确认默认段寄存器最后套公式。参数说明段基址左移 4 位等价于乘 16偏移地址超过 FFFFH 时要考虑回绕但考试一般不会设这种边界。如果题目加了段超越前缀如MOV AX, ES:[BPSI]则段基址换成 ES这是最常见的“送分变送命”点。2.2 七种寻址方式的判别与手算练习立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址这七种必须做到看到指令就能分类。判别口诀是看操作数里有没有方括号、方括号里是常量还是寄存器、有没有两个寄存器相加。考试常把寻址方式和物理地址计算合在一道大题里先让你写寻址方式名称再算物理地址。指令示例寻址方式默认段有效地址来源MOV AX, 1234H立即寻址无无MOV AX, BX寄存器寻址无无MOV AX, [1234H]直接寻址DS1234HMOV AX, [BX]寄存器间接DSBXMOV AX, [BX10H]寄存器相对DSBX10HMOV AX, [BXSI]基址变址DSBXSIMOV AX, [BXSI10H]相对基址变址DSBXSI10H注意表格里默认段一栏只是“默认”一旦出现 BP 或段超越前缀必须重新判断。建议做题时先在草稿纸上写“段基址寄存器是谁”再动笔算数。2.3 用 Python 批量验证你的手算结果复习时自己出题自己算算完用脚本对一遍比反复看答案有效得多。下面这段代码把段基址和偏移拼成物理地址顺便处理 20 位回绕。def physical_address(seg, offset): # 段基址左移 4 位加上偏移结果对 1MB 取模 addr (seg 4) offset return addr 0xFFFFF # 保留 20 位 # 验证前面的例子 print(hex(physical_address(0x3000, 0x1200))) # 0x31200 print(hex(physical_address(0x2000, 0x1234))) # 0x21234逻辑说明seg 4就是乘 16 0xFFFFF模拟 20 位地址回绕。参数说明seg 和 offset 都按十六进制传入输出也是十六进制。你可以把课后习题里的段值和偏移批量塞进列表里跑一遍错的那几道就是你的薄弱点。3. 汇编指令与中断系统从 MOV 到 INT 的复习路径3.1 必背指令分类数据传送、算术、逻辑、串操作、控制转移期末不会考你写完整程序但一定会考指令的功能和标志位影响。数据传送类重点看 MOV、XCHG、LEA、PUSH/POP算术类重点看 ADD、SUB、MUL、IMUL、DIV 对 CF、OF、ZF、SF 的影响逻辑类重点看 AND、OR、XOR、TEST、移位循环指令对 CF 的影响。串操作指令 MOVS、CMPS、SCAS 常和 REP 前缀一起考要记住方向标志 DF 决定地址增减。; 判断以下程序段执行后 AX 和 CF 的值 MOV AX, 0FFFFH ADD AX, 1 ; AX 0000H, CF 1, ZF 1 ; 无符号溢出看 CF有符号溢出看 OF逻辑说明ADD 指令同时影响 CF 和 OF无符号数溢出看 CF有符号数溢出看 OF。参数说明0FFFFH 1 在 16 位下回绕到 0所以 ZF 置 1。考试里常把 CF 和 OF 混在一起问记住“无符号看 CF有符号看 OF”就不会错。3.2 中断响应过程CPU 自动做了哪几件事中断是微机原理期末的必考大题。内部中断和外部中断的区别、可屏蔽中断 INTR 和不可屏蔽中断 NMI 的响应条件、中断向量表的结构这三块要能默写。CPU 响应可屏蔽中断时自动完成取中断类型号、标志寄存器入栈、清除 IF 和 TF、CS 入栈、IP 入栈、从中断向量表取入口地址。中断向量表固定在内存 00000H~003FFH每个中断占 4 字节前两字节是 IP后两字节是 CS。; 已知中断类型号 n20H求中断向量表地址和入口存放位置 ; 向量表地址 n * 4 20H * 4 80H ; 80H 和 81H 存放 IP82H 和 83H 存放 CS逻辑说明类型号乘 4 得到向量表偏移低地址存 IP高地址存 CS。参数说明n 的范围是 0~255对应 1KB 的向量表空间。考试常给一个类型号让你算地址或者反过来给地址让你求类型号两种方向都要练。3.3 8259A 的初始化命令字 ICW 与操作命令字 OCW8259A 是可编程中断控制器期末一般考 ICW1~ICW4 的写入顺序和 OCW1~OCW3 的作用。ICW1 决定单片还是级联、触发方式ICW2 设置中断类型号基值ICW3 在级联时标识主从ICW4 设置缓冲方式和结束方式。OCW1 是中断屏蔽字OCW2 控制优先级循环和 EOIOCW3 控制读状态和特殊屏蔽。命令字写入端口关键位作用ICW1偶地址D41初始化标志ICW2奇地址D7~D3类型号基值ICW3奇地址级联标识主从连接ICW4奇地址D0/D18086 模式、EOI 方式OCW1奇地址8 位屏蔽屏蔽/开放中断OCW2偶地址D7~D5EOI 和优先级注意ICW 必须在初始化阶段按顺序写入OCW 可以在运行中随时写。考试里常把 ICW2 和 OCW1 的端口搞混记住“偶地址 ICW1/OCW2/OCW3奇地址 ICW2/ICW3/ICW4/OCW1”这条规律。4. 接口芯片实战8255、8253、8251 的期末考法与调试4.1 8255 方式控制字三个端口怎么配8255 有 A、B、C 三个 8 位端口方式控制字的 D7 是标志位 1D6/D5 选 A 口方式D4 选 A 口输入输出D3 选 C 口高四位D2 选 B 口方式D1 选 B 口输入输出D0 选 C 口低四位。考试常给一个连接图让你写控制字并初始化。; 要求A 口方式 0 输出B 口方式 0 输入C 口高四位输出低四位输入 ; 控制字 1 00 0 1 0 1 0 1 10000101B 85H ; 假设控制口地址为 06HA 口 00HB 口 02HC 口 04H MOV AL, 85H OUT 06H, AL ; 写控制字 MOV AL, 0FH OUT 00H, AL ; A 口输出 0FH IN AL, 02H ; 读 B 口逻辑说明控制字按位拼装D7 必须为 1 表示方式设置。参数说明端口地址由译码电路决定考试里通常给出。写控制字后端口才按设定方向工作顺序不能反。如果题目要求 C 口按位操作则用置位复位控制字D70D3~D1 选位D0 决定置 1 还是清 0。4.2 8253 计数初值与工作方式方式 3 方波怎么算8253 有三个独立计数器每个 16 位工作方式 0~5。方式 3 是方波发生器常用于分频。计数初值 输入时钟频率 / 输出频率。考试常给时钟频率和要求的输出频率让你算初值并写初始化程序。; 输入时钟 2MHz要求输出 1kHz 方波用计数器 0方式 3二进制计数 ; 初值 2,000,000 / 1,000 2000 07D0H MOV AL, 00110110B ; 计数器0先低后高方式3二进制 OUT 43H, AL ; 写控制字 MOV AX, 07D0H OUT 40H, AL ; 写低字节 MOV AL, AH OUT 40H, AL ; 写高字节逻辑说明控制字 D7/D6 选计数器D5/D4 选读写方式D3~D1 选工作方式D0 选计数制。参数说明初值 0 表示最大计数值 65536。方式 3 输出方波占空比接近 50%方式 2 是分频脉冲。写初值时先低后高还是先高后低由控制字 D5/D4 决定写错顺序会导致计数错误。4.3 8251 串行通信异步方式下的波特率与帧格式8251 是可编程串行接口期末一般考异步方式下的模式字和命令字。模式字决定波特率系数、字符长度、校验方式、停止位命令字控制发送接收使能、错误复位等。波特率系数有 1、16、64 三种考试常给波特率和时钟频率让你选系数。模式字位含义常用取值D1D0波特率系数011, 1016, 1164D3D2字符长度107位, 118位D5D4校验方式00无, 01奇, 10偶D7D6停止位011位, 101.5位, 112位注意8251 初始化必须先写模式字再写命令字中间最好加一次复位操作。考试里如果题目给了时钟和波特率先算系数再拼模式字顺序反了整道题都错。5. 复习资料怎么用从 PDF 到自测清单的转化技巧5.1 把复习 PDF 拆成三类必背表、计算题、程序填空拿到一份复习资料不要从第一页翻到最后一页。先按题型拆必背表包括引脚功能、中断向量、控制字格式计算题包括物理地址、计数初值、波特率程序填空包括初始化序列和指令功能。拆完后给每类分配时间必背表用碎片时间反复看计算题必须动手算程序填空要默写关键指令。# 用 Python 管理你的复习进度 topics { 物理地址计算: {掌握度: 0.6, 题量: 20}, 中断响应过程: {掌握度: 0.8, 题量: 10}, 8255控制字: {掌握度: 0.5, 题量: 15}, 8253计数初值: {掌握度: 0.7, 题量: 12}, } # 按掌握度排序优先复习低于 0.7 的 weak sorted(topics.items(), keylambda x: x[1][掌握度]) for name, info in weak: if info[掌握度] 0.7: print(f优先复习: {name}, 当前掌握度 {info[掌握度]})逻辑说明用字典记录每个知识点的掌握度和题量按掌握度升序排列优先处理薄弱项。参数说明掌握度是主观评分0~1 之间每次做完题后更新。这个方法比“从头再看一遍”高效因为你的时间应该花在不会的地方。5.2 用错题反推知识盲区三个信号说明你没真懂第一同一道题换个数就不会说明公式没理解第二控制字会写但端口地址搞混说明译码电路没搞清第三中断过程能背但画不出流程图说明时序没串起来。出现这三个信号不要继续刷题回到对应章节把原理重新推一遍。比如 8255 端口地址搞混就自己画一遍地址译码逻辑从 A15~A0 推到片选信号。5.3 考前一周的自测清单与时间分配考前一周不要再学新东西只做三件事默写必背表、手算十道计算题、默写三个芯片的初始化序列。每天分配 2 小时1 小时默写1 小时对答案并标记错误。最后两天把标记的错误再过一遍确保同类错误不出现第二次。天数任务检查标准D-7默写中断向量表和 8259 ICW 顺序不看资料全对D-5手算 10 道物理地址和计数初值错误不超过 1 道D-3默写 8255/8253/8251 初始化控制字和顺序全对D-1重做所有标记错题同类错误清零注意自测时一定要手写不要只在脑子里过。微机原理的很多错误是“以为会了”一动笔就露馅。手写还能帮你记住控制字的位顺序这在考场上能省不少时间。本文还有配套的精品资源点击获取
返回列表