本质含义

对于8086CUP而言
是一个16位结构的CPU
其具有的结构特性:
(1)运算器一次最多可以处理16位的数据;
(2)寄存器的最大宽度为16位;
(3)寄存器和运算器之间的通路为16位
除此之外8086CUP有20位地址总线,可以传送20位地址,达到1MB的寻址能力

问题:

8086CPU是一个16位结构,在内部一次性处理、传输、暂时存储的地址为16位
那如果是这样,只能传送16位的地址,只有64KB的寻址能力了

解决问题

8086CPU采用一种在内部用两个16位地址合成的方法来形成一个20位的物理地址

当8086CPU要读写内存时:
(1)CPU中的相关部件提供两个16位的地址,一个称为段地址,另一个称为偏移地址;
(2)段地址和偏移地址通过内部总线送入一个称为地址加法器的部件;
(3)地址加法器将两个16位地址合成一个20位的物理地址;
(4)地址加法器通过内部总线将20位物理地址送入输入输出控制电路;
(5)输如输出控制电路将20位物理地送上地址总线;
(6)20位物理地址被地址总线传送到存储器

“物理地址=段地址X16+偏移地址”为什么要这样?

从上面我们能清楚,问题就是因为我们的CUP是16位架构的,地址总线又是20位的
这样使用就可以使用到20位的物理地址

本质含义

CPU在访问内存时,用一个基础地址(段地址X16)和一个相对于基础地址的偏移地址相加,给出内存单元的物理地址,所以也可以理解为“基础地址+偏移地址=物理地址
王爽汇编书中给的例子很好理解
Ag:
比如说,学校、体育馆、图书管同在一条笔直的单行路上,学校位于路的起点
如图:
如果你问我怎样去图书馆,我有两种方法告诉你
(1)从学校走2826m到图书馆(这里2826m就是物理地址)
(2)从学校走2000m到体育馆(段地址X16),再走826到图书管(偏移地址)
再加上限制,现在我只能用一张可容纳4位数据的纸条,才能写下这个数据
但是现在我只有两张可容纳3位数的纸条
于是200就可以理解位段地址,826理解位偏移地址

本质上,其实内存并没有分段,段的划分来自于CPU,因为8086CPU用“基础地址(段地址X16)+偏移地址=物理地址”的方式给出内存单元的物理地址,使得我们可以用分段的方式来管理内存

小结

21F60H的表示方式有很多种

                                       段地址                  偏移地址2000H                  1F60H2100H                  0F06H21F6H                 0000H

所以CPU可以用不同的段地址和偏移地址形成同一个物理地址

注意因为段地址是十六进制,也就是说X16,相当于我们做十进制时X10

理解这个对后面我们所用Debug有很大的帮助

为什么要用段地址和偏移地址?相关推荐

  1. 基于8086CPU微处理器的汇编学习之段地址与偏移地址的分析

    人的记忆总是不靠谱的,早在几年前就看过汇编语言,由于没有总结下来资料,所以忘记了很多,所以重新梳理下汇编方面的知识,与君共勉. ------------------------------------ ...

  2. 逻辑地址(段地址,偏移地址)知识点全面回顾

    1.什么是逻辑地址? :逻辑地址是用户编程时使用的地址,分为段地址和偏移地址两部分. 逻辑地址表示形式:3020:055AH---------(汇编语言中,数字后面加H表示16进制) 2.为什么要用逻 ...

  3. 段地址和偏移地址是什么

    举个很简单的例子:如果说联合国用01表示中国,02表示美国,这里的01和02表示段地址.而各个国家的首都也是01,这个01就是偏移地址.那么0101就表示北京,0201表示华盛顿,这里段地址加偏移地址 ...

  4. 1MB等于多少BYTE?8086/8088寻址段地址与偏移地址解释

    8086/8088有20条地址线,它的直接寻址能力为1MB.也就是在一个系统中可以有多达1MB的存储器,地址从00000H-FFFFFH.给定任意一个20位物理地址,就可以从中取出需要的指令和操作数. ...

  5. 王爽汇编习题 : 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为 ___ 到 ____。

    1 答案 : 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为 0010H 到 1000FH . 2 解题过程: 物理地址=SA*16+EA EA的变化范围为0h~ffffh 物理地 ...

  6. 微型计算机原理偏移地址,微机原理试卷答案(B)

    2008 -2009 学年第 一 学期闽江学院( B ) 适用年级专业:06物本 考试形式:闭卷 考试课程:微型计算机原理与应用 班级 姓名 学号 一.填空题 20% 1.8086CPU 从偶地址访问 ...

  7. 汇编中偏移地址的理解

    偏移地址也称为偏移量,由于8086/8088CPU内部的ALU只能进行16位(16进制的话4X4,用4位表示,0x0000-0xFFFF)的运算,而8086/8088有20(16进制的话4X5,用5位 ...

  8. 【计组】偏移地址、段地址和寻址方式

    一.逻辑地址和物理地址 物理地址可以理解成是某个存储单元的真正的地址,然而地址总线有20位,寄存器们只有16位,无法完全访问到呀.所以就想到一个办法,搞出一个逻辑地址,之后编程都使用逻辑地址. 写法为 ...

  9. 给定地址段为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为____到____

    此题解题背景默认为8080型CPU,地址总线为16根.(8080-16,8086-20,8088-20,80286-24,80386-32) 16根地址总线寻址能力:(2 ** 16) / 1024 ...

最新文章

  1. 一篇让你搞懂 Nginx
  2. 扫描全能王文件上传不了服务器,扫描全能王如何备份JPG 文件备份JPG办法
  3. WebService大讲堂之Axis2(4):二进制文件传输
  4. linux 文件与进程
  5. python序列类型有_Python序列类型
  6. wcdma系统随机接入过程的流程图_重庆:降低轨道场景多系统合路互调干扰的研究...
  7. 【译】程序员都有的这 10 个坏习惯!
  8. 百度AI开发者大会百度大脑论坛:详解“多模态深度语义理解”
  9. 张杰和机器人_科学艺术两开花,国内首个机器人乐队诞生有什么重要的意义?...
  10. 输入符号,宽,高,打印此符号组成的矩形
  11. Ubuntu源码安装Tomcat7
  12. python 区块链_Python 模拟简单区块链
  13. mysql表空间查看及创建
  14. AXURE母版事件(Raised-events)
  15. FreeRTOS学习笔记(11)——CPU使用率统计
  16. 然后卸载干净matlab,安装与卸载
  17. 计算机组成原理:运算器组成实验(.八位串行可控加减法器等)
  18. 异常检测——5月(task1)
  19. TBR架构的一些理解
  20. BAT文件语法和技巧(bat文件的编写及使用)

热门文章

  1. Python 练习题:判断手机号码
  2. 专业英语(一) · NIIT教材中文总结系列①
  3. 反直觉的「生日悖论」问题
  4. 全球及中国军工产业市场建设动态及项目投资风险评估报告2021-2027年版
  5. 回合制网游鼠标偏移解决
  6. 飞机是最不安全的交通工具吗?
  7. 基于Video4Linux的视频采集模块开发
  8. 现在转行做程序员的多吗?
  9. 给服务器弄了一个https协议,HTTP和HTTPS协议
  10. ubuntu16.04录频教程