8086微处理器的结构解读.pptVIP

  • 18
  • 0
  • 约6.94千字
  • 约 51页
  • 2021-04-15 发布于天津
  • 举报
? 8086CPU 存储系统中,对应每个物理存储 单元都有一个唯一的 20 位编号,就是 物理 地址 ,从 00000H ~ FFFFFH ? 分段后在用户编程时,采用 逻辑地址 , 形式为 段基址 : 段内偏移地址 分隔符 逻辑地址 1460H : 0100H ? 段基址 说明逻辑段在主存中的起始位置 ? 8086 规定段首单元的物理地址必须是: xxxx0H ? 省略低 4 位 0000B ,段基址就可以用 16 位数 据表示,就能用 16 位段寄存器 表达段地址 ? 偏移地址 说明主存单元距离段起始位置的 偏移量 ? 每段不超过 64KB ,偏移地址也可用 16 位 数 据表示 逻辑地址和物理地址区别 物理地址: 20 位绝对地址 逻辑地址: 段基址 : 段内偏移量 物理地址 = 段基址 ? 16 + 偏移地址 19 0 物理地址 加法器 段基址 偏移地址 15 0 15 0 0000 偏移地址 段首地址 乘以 16 ? 将逻辑地址中的段基址左移 4 位,加上 偏移地址就得到 20 位物理地址 物理地址 = 段基址 *10H+ 偏移量 ? 一个物理地址可以有多个逻辑地址 逻辑地址 1460:0100H 、 1380:0F00H 物理地址 14700H 14700H 14600H + 100H 14700H 13800H + F00H 14700H 段地址左移 4 位 加上偏移地址 得到物理地址 物理地址的形成: [ 例 ] : ? 已知 CS=1055H , DS=250AH , ES=2EF0H , SS=8FF0H , DS 段有一操作数,其偏移地址 =0204H , 1) 画出各段在内存中的分布 2) 指出各段首地址 3) 该操作数的物理地址 = ? 10550H 250A0H 2EF00H 8FF00H SS CS DS ES 解: 各段分布及段首址见右图所示。 操作数的物理地址为: 250AH × 10H+0204H = 252A4H 注意: 一个程序可以有代码段、数据段、附加段和堆栈段,它们的 段基址分别存放在 CS 、 DS 、 ES 和 SS 中。段寄存器为 16 位, 在计算物理地址时要乘 16 ,比如 DS 的内容为 1000H ,对应物 理地址为 10000H ,相当于在二进制数尾部补了 4 个 0 ,也就是 说, 段的起始地址 只能从物理地址能够整除 16 的(二进制数 尾部为 4 个 0 )那些地址开始。 例如 ,如下第一列的物理地址可以作为 段首地址 ,存入 段寄存器时只存前 16 位二进制数,其他列不可以作为段首地 址。 00000H 00001H 00002H 00003H ? 0000FH 00010H 00011H 00012H 00013H ? 0001FH 00020H 00021H 00022H 00023H ? 0002FH 00030H 00031H 00032H 00033H ? 0003FH 2.3 段寄存器的使用 ? 8086 有 4 个 16 位段寄存器 – CS (代码段)指明 代码段 的起始地址 – SS (堆栈段)指明 堆栈段 的起始地址 – DS (数据段)指明 数据段 的起始地址 – ES (附加段)指明 附加段 的起始地址 ? 每个段寄存器用来确定一个逻辑段的起始地 址,每种逻辑段均有各自的用途 第 2 章 8086/8088 微处理器的结构 本章主要教学内容 ? 8086 的内部结构 ? 8086 的寄存器结构 ? 8086 的存储器组织 ? 8086 的工作模式及总线时序 教学目的: 掌握 8086 微处理器的编程结构和 存储器的使用。 教学重点: 8086 微处理器的编程结构和存储 器的使用 教学难点: 存储器的使用 第一节 8086 的内部结构 ? 8086 的

文档评论(0)

1亿VIP精品文档

相关文档