# 第 2 章 16 位 Intel 8086 微处理器(期末复习总结) > 本章是《微机系统》课程的**绝对核心**,期末考试必考、计算题与简答题的主要来源。请务必熟练掌握物理地址计算、标志位、最小/最大模式、寄存器组、引脚信号、总线时序等内容。 --- ## 一、详细内容分析 ### 2.0 8086 概述(PPT 第 1 页) - 厂商:Intel 公司推出的 16 位微处理器。 - 兼容性:**兼容 8085**(8 位微处理器),8088 是与 8086 **内部结构相同**的微处理器,但外部数据总线为 8 位。 - 结构:**CISC**(复杂指令集)结构。 - 供电:单一 **+5V** 电源。 - 主频:**4.77 MHz ~ 10 MHz**。 - 总线: - 内部数据总线和外部数据总线均为 **16 位**(8088 为 8 位) - 地址总线为 **20 位**,可最大寻址 **1 MB** 的存储空间。 - 工作方式:**取指令与执行指令并行**(流水线/重叠工作)。 - 内存管理:**分段管理**方式。 --- ### 2.1 8086 微处理器内部结构 #### 2.1.0 内部基本组成 CPU 内部最基本的 4 个组成: 1. 运算器(ALU) 2. 控制器 3. 寄存器组 4. 总线逻辑 #### 2.1.1 总线接口单元 BIU(Bus Interface Unit) **组成**(5 个部分): 1. 4 个 16 位**段寄存器**:CS、DS、SS、ES 2. 16 位**指令指针** IP 3. **6 字节指令队列**(8086) 4. **总线控制逻辑** 5. **20 位地址加法器**(Σ) **功能**: 1. 取指令(从存储器取指令到指令队列) 2. 形成 20 位物理地址 3. 传送数据:实现 CPU 与内存、I/O 端口间的数据传送 **指令预取策略**: - 指令队列出现 **2 个以上空字节**时,BIU 自动按 **CS:IP** 确定的位置到存储器去取指令,**一次取 2 个字节**。 - 这就实现了"取指"与"执行"的并行(流水线)。 #### 2.1.2 执行单元 EU(Execution Unit) **组成**(4 个部分): 1. **16 位 ALU** 2. **16 位标志寄存器**(FLAGS/FR) 3. **EU 控制单元** 4. **8 个 16 位通用寄存器**(AX、BX、CX、DX、SP、BP、SI、DI) **功能**: 1. 从 BIU 指令队列读取指令 2. 由 EU 控制电路译码分析 3. 在 EU 中计算操作数的 16 位偏移地址,**送 BIU**,由 BIU 的 20 位加法器形成 20 位物理地址 4. 将取来的操作数送 ALU 进行运算 5. 结果送寄存器或送 BIU 放回内存 6. 本次操作状态放入标志寄存器中 #### 8086 结构特点:EU 与 BIU 并行工作 - 串行 CPU:取指→执行→存结果,总线经常空闲。 - 8086:EU 在执行的同时,BIU 预取下一条指令,**总线利用率大幅提高**,**降低了对存储器存取速度的要求**。 --- ### 2.2 8086 编程结构(寄存器组) 8086 CPU 共有 **14 个 16 位寄存器**,分 4 类: | 分类 | 寄存器 | 数量 | |------|--------|------| | 数据寄存器 | AX, BX, CX, DX | 4 | | 指针及变址寄存器 | SP, BP, SI, DI | 4 | | 段寄存器 | CS, DS, SS, ES | 4 | | 控制寄存器 | IP, FLAGS(FR) | 2 | #### 2.2.1 通用寄存器 **(1) 数据寄存器**(4 个 16 位寄存器,每个都可拆成两个 8 位寄存器): | 16 位 | 高 8 位 | 低 8 位 | 用途 | |-------|--------|--------|------| | AX | AH | AL | 累加器 Accumulator | | BX | BH | BL | 基址寄存器 Base | | CX | CH | CL | 计数器 Counter | | DX | DH | DL | 数据寄存器 Data | 例:若 (AX) = 1234H,则 (AH) = 12H,(AL) = 34H。 **(2) 指针及变址寄存器**(4 个,只能 16 位使用): - **SP**:Stack Pointer 堆栈指针,指示**栈顶**位置(与 SS 配合)。 - **BP**:Base Pointer 基址指针,指示堆栈段中一个数据区的基位置(用于访问堆栈段中数据)。 - **SI**:Source Index 源变址寄存器,**源串操作数**的指针。 - **DI**:Destination Index 目的变址寄存器,**目的串操作数**的指针。 #### 2.2.2 段寄存器(4 个) 存放**当前段**的段起始地址(高 16 位),与段内偏移地址一起确定一个存储单元地址: | 段寄存器 | 名称 | 用途 | 默认偏移寄存器 | |---------|------|------|---------------| | **CS** | Code Segment 代码段 | 当前代码段 | **IP** | | **SS** | Stack Segment 堆栈段 | 当前堆栈段 | **SP、BP** | | **DS** | Data Segment 数据段 | 当前数据段 | BX、SI、DI | | **ES** | Extra Segment 附加段 | 附加数据段 | DI(串指令) | #### 2.2.3 控制寄存器(2 个) **(1) IP(Instruction Pointer)指令指针**: - 存放**下一条要取出指令**的段内偏移地址。 - `CS:IP` 决定下一条要取出的指令的物理地址。 - **IP 不能被程序直接存取**,由 BIU 修改,类似于 PC(Program Counter)。 - 物理地址 = CS × 16 + IP。 **(2) FLAG 标志寄存器(FR)**: 16 位寄存器,定义了 **9 位有效标志**,分两类: | 位 | 标志 | 类别 | 含义 | |----|------|------|------| | **CF** (bit 0) | 进位/借位 Carry Flag | 状态 | 结果最高位有进位/借位 CF=1,否则=0 | | **PF** (bit 2) | 奇偶 Parity Flag | 状态 | 结果**低 8 位**中"1"的个数为偶 PF=1,否则=0 | | **AF** (bit 4) | 辅助进位 Aux Carry | 状态 | D3 位(第 4 位)有进位/借位 AF=1 | | **ZF** (bit 6) | 零 Zero Flag | 状态 | 结果为 0 时 ZF=1,否则=0 | | **SF** (bit 7) | 符号 Sign Flag | 状态 | 结果为负(最高位=1)SF=1,否则=0 | | **OF** (bit 11) | 溢出 Overflow Flag | 状态 | 有符号运算结果超出表示范围 OF=1 | | **IF** (bit 9) | 中断允许 Interrupt Enable | 控制 | IF=1 开中断(允许可屏蔽中断),IF=0 关中断 | | **DF** (bit 10) | 方向 Direction Flag | 控制 | 串操作地址方向:DF=0 增址,DF=1 减址 | | **TF** (bit 8) | 陷阱 Trap Flag | 控制 | TF=1 单步方式,每执行一条指令产生类型 1 中断 | > 其他位(1、3、5、12、13、14、15)未定义(部分保留为 1)。 **典型例题**:完成加法 `35E5H + 7832H` 后求各标志位 - 35E5H + 7832H = AE17H - 结果最高位 A(1010)的最高位为 1 ⇒ **CF = 0**(无进位) - 低 8 位 17H = 0001 0111B,有 4 个"1"(偶数) ⇒ **PF = 1** - D3 位:E5 + 32 = 117H,D3 位由 5+3=8,无进位 ⇒ **AF = 0** - 结果非 0 ⇒ **ZF = 0** - 最高位为 1 ⇒ **SF = 1** - 有符号溢出判断:35E5H 为负,7832H 为正,结果 AE17H 仍为负,无溢出 ⇒ **OF = 0** --- ### 2.3 8086 微处理器外部结构(引脚) #### 引脚学习要点 - **功能**、**有效电平/沿**、**输入/输出**、**门类型** - 功能:传输地址、数据、控制及辅助信号 - 引脚名上**有横杠**的,表示**低电平/下降沿有效**(如 `RD` 表示低电平有效的读信号) - 8086 有**两种工作模式**:**最大模式**和**最小模式**(由 MN/MX 引脚选择) - 有 **8 个引脚**在两种模式下功能不同 #### 2.3.1 两种模式下功能相同的引脚(共 32 个常用引脚中的大部分) | 序号 | 引脚 | 功能 | |------|------|------| | 1,20 | GND | 地(2 个接地) | | 40 | Vcc | +5V 电源 | | 2-16,39 | **AD15~AD0** | **地址/数据复用引脚**,分时输出低 16 位地址及数据信号;经地址锁存器后输出 A15~A0 | | 35-38 | **A19/S6 ~ A16/S3** | **地址/状态复用引脚**,分时输出高 4 位地址及状态信息 | | 17 | **NMI** | 非屏蔽中断请求,上**升沿**有效 | | 18 | **INTR** | 可屏蔽中断请求,**高电平**有效 | | 32 | `RD` | 读选通(低有效) | | 19 | **CLK** | 时钟输入,占空比 1/3(1/3 高电平,2/3 低电平) | | 21 | **RESET** | 复位信号,输入 4 个时钟周期以上的高电平使 CPU 复位 | | 22 | **READY** | 就绪信号(高有效),主存或 I/O 接口准备好时可传输数据 | | 23 | `TEST` | 测试信号,由 WAIT 指令检查,`TEST`=0 继续,否则等待(用于 CPU 与外部硬件同步) | | 33 | **MN/MX** | 最小/最大模式选择:接 +5V 最小模式,接地最大模式 | | 34 | `BHE`/S7 | 高 8 位数据允许/状态 | **`BHE` 与 A0 的组合**(关键考点!决定数据总线宽度): | `BHE` | A0 | 操作 | 所用数据引脚 | |-------|-----|------|-------------| | 0 | 0 | 从**偶地址**读/写**一个字** | AD15~AD0 | | 0 | 1 | 从**奇地址**读/写**一个字节** | AD15~AD8 | | 1 | 0 | 从**偶地址**读/写**一个字节** | AD7~AD0 | | 1 | 1 | 无效 | -- | - 从奇地址读/写**一个字**(非对齐字):需要 **2 个总线周期** - 第 1 周期:低 8 位 → AD15~AD8 - 第 2 周期:高 8 位 → AD7~AD0 - 对齐字访问:1 个总线周期 - 非对齐数据访问需 2 个总线周期 #### 2.3.2 两种模式下功能不同的引脚(重点:24~31 号引脚) **最小模式下**(MN/MX 接 +5V): | 引脚 | 名称 | 功能 | |------|------|------| | 24 | `INTA` | 中断响应信号 | | 25 | **ALE** | 地址锁存允许(高电平有效,下降沿锁存地址) | | 26 | `DEN` | 数据允许(低有效,控制数据收发器) | | 27 | **DT/R** | 数据发送/接收(1=发送,0=接收) | | 28 | **M/IO** | 存储器/I/O 选择(高=存储器,低=I/O) | | 29 | `WR` | 写信号(低有效) | | 30 | **HOLD** | 总线保持请求(其他主设备申请总线) | | 31 | **HLDA** | 总线保持响应(CPU 让出总线) | **最大模式下**(MN/MX 接地): | 引脚 | 名称 | 功能 | |------|------|------| | 25, 24 | QS1, QS0 | 指令队列状态,指示前一个 T 状态队列状态 | | 26, 27, 28 | `S2` `S1` `S0` | **总线周期状态**信号,提供给 8288 总线控制器 | | 29 | `LOCK` | 总线封锁(低有效),由前缀指令 LOCK 产生 | | 30, 31 | `RQ/GT1` `RQ/GT0` | 总线请求/允许(双向),`RQ/GT0` 优先级更高 | #### 复位操作(高频考点) - RESET 引脚输入 **4 个时钟周期以上**的高电平使 CPU 复位。 - **复位后状态**: - 标志寄存器清 0(FR = 0) - **IP = 0000H**,**DS = 0000H**,**SS = 0000H**,**ES = 0000H**,**指令队列清空** - **CS = FFFFH** - **复位后执行的第一条指令的物理地址**: - PA = CS × 16 + IP = FFFFH × 10H + 0000H = **FFFF0H** - 即 CPU 从物理地址 **FFFF0H** 处开始执行指令(位于 1MB 存储空间最顶端的 16 字节 ROM 区) --- ### 2.4 8086 的两种组成模式(最大/最小模式) | | 最小模式 | 最大模式 | |---|---------|---------| | **MN/MX** | 接 +5V | 接地 | | **系统构成** | 单机系统(只有 1 个 8086) | 多机系统(1 主 8086 + 协处理器 8087/8089) | | **控制信号** | 由 8086 自身直接产生 | 由总线控制器 **8288** 产生 | | **典型配置** | 1×8284(时钟)+ 3×8282(地址锁存)+ 2×8286(总线驱动) | 1×8284 + 2×8282 + 2×8286 + 1×8288(总线控制器) | > **8288 是最大模式区别于最小模式的关键芯片**,专门用来根据 `S2 S1 S0` 状态产生控制信号。 --- ### 2.5 8086 总线周期(时序) #### 2.5.1 基本概念 - **时钟周期(T)**:CPU 主频每个时钟脉冲的持续时间,用 T 表示。 - **总线周期**:CPU 通过总线进行一次读或写的过程。一个总线周期由 **4 个时钟周期 T1、T2、T3、T4** 组成。 - **指令周期**:执行一条指令所需的时间(由若干总线周期组成)。 - **等待状态 Tw**:当外设/存储器未准备好(READY=0)时插入;Tw 与 T3 行为相同。 - **中断响应周期**:CPU 响应可屏蔽中断时插入 2 个总线周期。 | T 状态 | 主要操作 | |--------|---------| | **T1** | CPU 发出地址(A19/S6~A16/S3 输出地址,A19~A16 高 4 位;AD15~AD0 输出低 16 位地址),ALE 有效锁存地址 | | **T2** | 撤销地址;地址/数据复用线 AD 浮空;地址/状态线输出**状态 S6~S3**;读/写控制信号有效 | | **T3** | 数据出现在 AD15~AD0 上(写:CPU 输出数据;读:等待外设送数据);检查 READY 信号,未就绪则插入 Tw | | **T4** | 完成数据读/写,控制信号无效,结束总线操作 | #### 2.5.2 总线读周期(最小模式)信号特点 - `M/IO`:T2 起变有效(**高**=读存储器,**低**=读 I/O)。 - `DT/R`:低(接收,CPU 读)。 - `DEN`:T2 起变低有效(数据收发器使能)。 - `RD`:T2 起变低有效(读选通)。 - ALE 在 T1 出现一个正脉冲,下降沿锁存地址。 - T3/Tw 期间数据出现在数据总线上。 #### 2.5.3 总线写周期(最小模式)信号特点 - `DT/R`:高(发送,CPU 写)。 - 数据在 T2 后即出现在 AD 线上(写不用等外设)。 - `WR`:T2 起变低有效。 - 其余与读周期类似。 **典型例题**:`MOV AX, [2000H]` 设 (DS)=1000H,求物理地址 - PA = DS × 16 + 2000H = 1000H × 10H + 2000H = 12000H - 从 12000H、12001H 取出字数据 3456H 送 AX(高 8 位从 12001H 读出 34H,低 8 位从 12000H 读出 56H) --- ### 2.6 8086 存储器组织 #### 2.6.1 层次结构(由近到远、速度由快到慢、容量由小到大) 寄存器 → CPU 内部 Cache → CPU 外部 Cache → 主存 → 外存 #### 2.6.2 存储器分类 - 外存:磁盘、磁带、光盘、U 盘 - 内存: - ROM(只读):MROM、PROM、EPROM、EEPROM - RAM(随机读写):双极型、MOS 型(MOS 又分**动态 RAM**和**静态 RAM**) #### 2.6.3 地址空间 - 8086 有 20 位地址线,按字节单元编址,地址范围 **00000H ~ FFFFFH**(共 1 MB)。 - 每个存储单元对应 1 个 20 位**物理地址**。 #### 数据存储格式 - 字(16 位)存放在任意连续两个单元中,**低字节放低地址**(小端方式)。 - 字地址 = 低字节所在地址。 **对齐字 vs 非对齐字**: | 类型 | 定义 | 总线周期数 | |------|------|----------| | **对齐字** | 存放在偶地址的字 | **1 个总线周期** | | **非对齐字** | 存放在奇地址的字 | **2 个总线周期** | #### 2.6.4 分段管理 - 8086 内部寄存器是 16 位,无法直接给出 20 位地址,故采用分段管理。 - **每段最长 64 KB**,段内地址连续,各段独立。 - 段起始地址必须能被 **16 整除**(即低 4 位为 0),所以 16 位段寄存器的内容 ×16 即为该段 20 位物理基地址。 - 段内偏移量:16 位,最大 64K 单元。 **两类地址**: | 类型 | 含义 | |------|------| | **物理地址** | 信息在存储器中实际存放的地址(20 位),通过地址线传送 | | **逻辑地址** | 编程中使用的地址,由**段地址:段内偏移量**组成 | **物理地址计算公式**(高频重点): ``` 物理地址 (PA) = 段地址 × 16 + 段内偏移量 = 段地址 × 10H + 偏移量 (20 位) (16 位) (16 位) ``` 例:逻辑地址 `1000:2000H` 的物理地址 = 1000H × 10H + 2000H = **12000H** **默认段寄存器使用规则**: | 访问类型 | 默认段寄存器 | 可显式指定的段寄存器 | |---------|------------|-------------------| | 取指令 | CS | 无 | | 堆栈操作 | SS | 无 | | 字符串操作源串 | DS | CS, ES, SS | | 字符串操作目的串 | ES | 无 | | 一般数据访问 | DS | CS, ES, SS | > 同一物理地址可对应多个逻辑地址(如 PA=12000H 可写成 1000:2000H、1100:1200H 等) --- ### 2.7 I/O 端口组织 - I/O 设备不能直接与 CPU 总线相连,需通过 I/O 接口芯片。 - **端口**:CPU 可寻址的 I/O 接口逻辑;每个端口分配一个端口地址。 - 8086 用低 16 位地址线对 I/O 端口编址,最多 65536 个 8 位端口。 - 两个编号相邻的 8 位端口可组合成 1 个 16 位端口。 - 8086 采用**独立的端口编址方式**(与存储器分开编址,靠 M/IO 引脚区分)。 --- ### 2.8 8086 中断系统(重要补充) #### 2.8.1 基本概念 - **中断**:CPU 正常执行时,由事件引起 CPU 暂停现行程序,转去执行服务程序,处理完后返回断点继续执行。 - **中断源**:触发中断的事件。 - **中断系统**:实现中断功能的软硬件系统。 #### 2.8.2 中断优先级 当多个中断源同时请求时,按优先级响应。 - 基本方法:**软件查询**、**硬件优先级排队**(菊花链/8259A 中断控制器)。 #### 2.8.3 CPU 响应外部中断的条件 1. 一条指令执行结束后。 2. 有中断请求。 3. 开中断(IF=1,仅对 INTR)。 #### 2.8.4 中断处理过程(硬件自动完成) 1. **关中断** 2. **保护现场**(标志寄存器入栈) 3. **保护断点**(CS:IP 入栈) 4. **形成中断服务程序入口地址** 5. **转入中断服务程序** #### 2.8.5 中断服务程序结构(软件完成) 1. 保护现场(所用寄存器入栈) 2. 中断服务(核心) 3. 恢复现场(寄存器出栈) 4. 开中断(STI) 5. 返回断点(IRET) #### 2.8.6 中断分类 | 类型 | 说明 | 中断类型码 | |------|------|----------| | **外部中断** | INTR(可屏蔽)、NMI(非屏蔽) | 由 INTR:8259A 提供;NMI 固定为 2 | | **软件中断** | INT n、INTO(溢出 OF=1)、INT3(断点) | n 或固定 | | **软件陷阱** | 除法错误(类型 0)、单步中断(TF=1,类型 1) | 0、1 | #### 2.8.7 中断向量表 - 位于存储器低地址端,**1 KB**(00000H ~ 003FFH),共 256 项。 - 每 4 字节存放一个中断服务程序的入口逻辑地址(CS:IP): - 低地址两字节:IP - 高地址两字节:CS - **向量地址 = 类型码 × 4** - 例:类型码 20H 的向量地址 = 20H × 4 = 80H,从 0000:0080H 起依次存放 IP(低)、CS(高) #### 2.8.8 可屏蔽中断(INTR) - 高电平有效,**IF=1 时**CPU 在当前指令执行结束后响应。 - INTR 响应需 2 个中断响应总线周期: - 第 1 周期:`INTA` 给出响应 - 第 2 周期:从数据线读取中断类型码 #### 2.8.9 非屏蔽中断(NMI) - 不受 IF 影响,**上升沿触发**,类型码固定为 **2**。 - 实模式下,CPU 直接从中断向量表 **0000:0008H ~ 0000:000BH** 取出 CS:IP。 #### 2.8.10 软件中断(INT n、INTO、INT3) - 中断类型码包含在指令中,**不执行中断响应总线周期**。 - 返回地址指向软件中断指令的**下一条指令**。 --- ## 二、考点总结(期末必背) ### 【高频】计算题考点 - **物理地址计算**:`PA = 段地址 × 16 + 段内偏移量`(PA = 段地址 × 10H + EA) - 例:(DS)=2000H,(BX)=1000H,`MOV AX,[BX]` 取出的物理地址 = 2000H×10H + 1000H = **21000H** - **复位后第一条指令地址**:PA = CS × 16 + IP = FFFFH × 10H + 0000H = **FFFF0H** - **标志位判断**(CF/PF/AF/ZF/SF/OF) - 必背各标志位的判定规则(特别是 OF 与 CF 的区别) - **向量地址计算**:向量地址 = 中断类型码 × 4 - **存储容量计算**:8086 = 1 MB,每段最大 64 KB,I/O 端口 64 KB ### 【高频】简答题考点 - **BIU 与 EU 的功能**(必背) - BIU:取指、形成物理地址、传送数据 - EU:译码、执行运算、存结果、更新标志 - **8086 结构特点**:取指与执行并行(EU/BIU 流水线工作),提高总线利用率,降低存储器速度要求 - **标志寄存器 9 位标志位的含义**(每位都要记清楚) - **最小模式与最大模式的区别**: - 最小模式:单机系统,MN/MX 接+5V,控制信号由 CPU 自身直接产生;配 8284+8282+8286 - 最大模式:多机系统,MN/MX 接地,控制信号由 8288 产生;可接 8087/8089 协处理器 - **8086 引脚分时复用**:AD15~AD0(地址/数据复用)、A19/S6~A16/S3(地址/状态复用),用 ALE 锁存地址 - **`BHE` 与 A0 组合决定数据总线宽度**(4 种组合,对齐字 1 个总线周期,非对齐字 2 个) - **段寄存器的作用与默认搭配**(CS:IP、SS:SP/BP、DS:BX/SI/DI、ES:DI) - **分段管理的原因**:内部寄存器 16 位无法直接给出 20 位物理地址;段起始地址必须能被 16 整除 - **物理地址与逻辑地址的关系**、**同一 PA 可对应多个逻辑地址** - **复位后寄存器状态**:FR=0、IP=0、DS=0、SS=0、ES=0、CS=FFFFH、指令队列清空 - **指令预取策略**:队列有 2 个以上空字节时 BIU 自动取指一次 2 字节 - **总线周期 4 个 T 状态各做什么** - **中断响应条件、处理过程、软件中断与硬件中断的区别** - **中断向量表的结构与向量地址计算** ### 【高频】分析题考点 - **给定总线时序波形图,判断处于哪个 T 状态、读还是写、内存还是 I/O** - 看 M/IO:高=内存,低=I/O - 看 DT/R:高=写,低=读 - 看 RD/WR 是否有效 - 看 DEN、ALE 的电平变化 - **给定 `BHE`、A0 状态,判断访问类型**(4 种组合) - **给定中断类型码求向量地址**及对应物理单元中存放的内容顺序 ### 重点速记表 | 项目 | 数值/特征 | |------|---------| | 数据总线(8086) | 16 位 | | 地址总线 | 20 位 | | 寻址空间 | 1 MB (00000H ~ FFFFFH) | | 每段最大 | 64 KB | | 段寄存器位数 | 16 位 | | 物理地址位数 | 20 位 | | 时钟占空比 | 1/3(高)/ 2/3(低) | | 主频范围 | 4.77 ~ 10 MHz | | 指令队列 | 6 字节 | | 寄存器总数 | 14 个 16 位 | | 复位后 CS | FFFFH | | 复位后 IP | 0000H | | 复位后首指令地址 | FFFF0H | | 复位高电平持续 | ≥ 4 个时钟周期 | | 总线周期 T 状态数 | 4(T1、T2、T3、T4) | | 总线控制器(最大模式) | 8288 | | 时钟发生器 | 8284 | | 地址锁存器 | 8282(或 74LS373) | | 总线驱动器 | 8286(或 74LS245) | | 协处理器(最大模式) | 8087(浮点)、8089(I/O) | | 中断向量表大小 | 1 KB(00000H ~ 003FFH) | | 中断类型码数 | 256 个 | | 向量地址 | 类型码 × 4 | | NMI 类型码 | 2 | | 电源 | +5V(单电源) | ### 典型例题 **例 1**:已知 (CS)=1200H,(IP)=0200H,求物理地址 - PA = 1200H × 10H + 0200H = **12200H** **例 2**:已知 (DS)=3000H,求访问数据单元 [5000H] 的物理地址 - PA = 3000H × 10H + 5000H = **35000H** **例 3**:物理地址 20000H 可对应哪些逻辑地址? - 段地址 = PA ÷ 16,偏移 = PA % 16 - 2000:0000H、2001:0FF0H、20FF:0010H 等(无数种) **例 4**:求加法 35E5H + 7832H 的标志位(结果 = AE17H) - CF=0、PF=1(17H 中"1"为偶数)、AF=0、ZF=0、SF=1、OF=0 **例 5**:类型码 08H 的中断,对应向量地址 = 08H × 4 = **20H**,从 0000:0020H 起依次存放 IP、CS **例 6**:某总线周期波形中 M/IO=1、DT/R=0、RD=0,说明是**读存储器**操作 - ALE 在 T1 有效锁存地址;T3 数据由存储器送到 CPU --- > **复习建议**:本章内容多且杂,请按"结构(BIU/EU)→ 寄存器组(特别是标志位)→ 引脚 → 物理地址计算 → 总线时序 → 中断"的顺序复习。务必多练计算题(物理地址、向量地址、标志位),并熟记简答题的关键点。