首页 > 编程语言 >16汇编_段寄存器

16汇编_段寄存器

时间:2022-09-05 18:45:01浏览次数:78  
标签:汇编 逻辑 16 寻址 偏移 寄存器 1MB

一、8086CPU 如何获得寻址1MB内存空间能力?

  1、物理空间;8086CPU,寻址总线20根,宽度=2^20=1MB;00000H-FFFFFH;

  2、通过对存储器分段和使用段寄存器,

  实现了寻址1MB物理空间能力;

二、物理内存1MB内部划分的逻辑是什么?

  首先根据寻址需求,将1MB物理地址空间分为若干个逻辑段。每个逻辑段必须满足两个条件:

  1、逻辑段的开始地址为16的倍数;

  2、逻辑段的最大长度为64K 1MB地址最多划分64K个逻辑段,最少划分为16个逻辑段。

  第一个条件因为段寄存器长度为16位,第二个条件因为指针寄存器长度16位。

  段逻辑段与逻辑段可以相连,也可以不相连,还可以重叠。

  逻辑地址表示方法:段值:偏移

  偏移:由指针寄存器提供

三、为何要用这种段值:偏移;的方式来表示逻辑地址呢?

  1、有利于实现寻址1MB空间;

  2、有利于管理存储空间;

  3、实现程序的重定位和浮动;(如果没有逻辑段,直接绑定让程序绑定物理地址,那样其它程序就无法运行了;) 

  4、实现代码 数据的隔离;充分利用存储空间;可以重叠,重合;

四、如何保证程序代码加载各种平台通用性?

  段+偏移,解决

  实现
  1、写代码先定义逻辑段

  2、在用偏移指向具体的存储单元

  这样在不同的机器加载时,先把物理地址划分成若干个逻辑段;让在用指针指向这个段的偏移,这样就保证了代码寻址的正确性;这样程序就做到通用,这也叫程序的重定位和浮动

 

标签:汇编,逻辑,16,寻址,偏移,寄存器,1MB
From: https://www.cnblogs.com/-swordsman/p/16659184.html

相关文章

  • ubuntu16 安装 python-networkmanager 失败
    前言ubuntu16安装python-networkmanager失败解决方案sudoapt-getinstalllibdbus-1-devsudoapt-getinstalllibdbus-glib-1-devsudopip3installdbus-python......
  • 题解【CF1316E Team Building】
    题目传送门状压DP入门题。设\(f_{i,S}\)表示考虑了前\(i\)个人,队伍放置情况为\(S\)时(0表示放置了队员,1表示没有放置)的最大贡献。然后分讨一下\(i\)是去当队......
  • [ROS学习]16. 常用可视化工具的使用(完结)
    笔记参考:【ROS学习笔记】16.常用可视化工具的使用内容参考:B站ROS公开课:【古月居】古月·ROS入门21讲本节说明这节是最后一节,介绍一些常用可视化工具的使用。在课的一开始......
  • hi3516开机修改内存和MMZ分配并安装SDK驱动
    1. 拿到的开发版中已经安装最小系统,连接串口开机,设置启动文件#配置IP地址ifconfigeth0172.16.96.151netmask255.255.248.0routeadddefaultgw172.16.100.1#......
  • 16.普通参数与基本注解-@ModelAttribute
    抄的网上的分析,但是也要用自己的话理解一遍用法1:用在入参运用在参数上,会将客户端传递过来的参数按名称注入到指定对象中,并且会将这个对象自动加入ModelMap中,便于View层使......
  • Codeforces Round #816 (Div. 2)
    \(\quad\)今早头一次睡到了九点,大概昨天在健身房确实训练过度了,胸廓酸软,大腿一直颤抖。\(\qquad\)下午去了趟实验室,完成了我的第一个物联网程序虽然很水。慢慢试着用\(V......
  • STM32 汇编入门 伪指令ALIGN
    https://blog.csdn.net/u012264124/article/details/65434871......
  • 滑动窗口-区间长度最大值-6169. 最长优雅子数组
    问题描述给你一个由正整数组成的数组nums。如果 nums的子数组中位于不同位置的每对元素按位与(AND)运算的结果等于0,则称该子数组为优雅子数组。、返回最长......
  • LeetCode 216 组合总和 III
    classSolution{public:vector<vector<int>>res;vector<int>path;intsum=0;voiddfs(intstart,intk,intn){if(path.siz......
  • 16.普通参数与基本注解
    1注解:@PathVariable、 restful风格的参数@RequestHeader、  请求头中的参数@ModelAttribute、 运用在参数上,会将客户端传递过来的参数按名称注入到指定对......