汇编原理学习记录:物理地址=段地址*16+偏移地址

这篇具有很好参考价值的文章主要介绍了汇编原理学习记录:物理地址=段地址*16+偏移地址。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


知识点

8086计算机拥有20根地址总线和16根数据总线,地址总线中的16根和数据总线存在复用

数据总线的数量决定了数据总线的宽度,决定了处理器的位数,有多少根数据总线就是多少位的处理器。
在现代计算机系统中,寄存器的位数和数据总线的位数总是保持一致或相近的。

16 = 2^4 , 64 = 2^6 , 1024 = 2^10
1 MB = 1024 KB = 1024 * 1024 B

地址的单位为字节(B,byte)

1 B = 8 bit = 2^3 bit  ,bit表示位的意思,

虽然1B可以表示2^8个数,但是需要分清楚这些概念

计算请看:汇编原理计算方法:物理地址=段地址*16+偏移地址


个人思考解释

存储器大小为1MB

因为8086计算机的地址总线条数为20,可以标记2^20次方的字节空间,存储器的可寻址范围为1MB
(地址单位为字节,使用比特为单位没有意义)

因为:1 MB = 1024 KB = 1024 * 1024 B , 1024 = 2^10
所以:2^20 B = 2^10 KB = 1 MB

段的最大占用存储为64KB

8086计算机拥有16位的寄存器和16根数据总线,意味着一次最多传输16位的2进制数,从寄存器送出去的物理地址的寻址空间最大达到2的16次方

1 KB = 1024 B = 2^10 B , 64 = 2^6
2^16 B = 64 KB

若是段的最大占用存储空间设置为64KB,则段内的地址就可以使用这16位的数字来表示
(偏移地址一般为4位十六进制数或是16位二进制数)
这样,在一个段内,16位的偏移地址可以指向任意一个处在该段中的字节地址。

物理地址=段地址*16+偏移地址

对于固定的段地址,其寻址能力取决于偏移地址的个数,因为偏移地址存储在16位寄存器中,所以能够表示的最多地址数(二进制数)为

2^ 16 = 65536 B = 64 KB

因此对于固定的段地址,其最大寻址能力为64K。

20-16 = 4 , 2^4 = 16

段地址存储在十六位的段地址寄存器中。

可以看出,对于1MB的寻址空间,最多可以指定寻址空间不重叠的段地址数量为16个,最多可以指定寻址空间重叠的段地址数量为2^16个

虽然按照1MB=16 * 64 KB来看,只需要16个以64KB为大小的段就可以覆盖全部的地址空间(也就是四位二进制数或是一位十六进制的段地址),但是并非所有的段都会占据那么大的存储空间,因此段地址是4位十六进制数,并非一位十六进制数。

相邻的段地址在物理地址上最小相差10H,因为只有物理地址最后一位为0的地址才能作为段地址,例如075A0H和075B0H。

因此,如果考虑两个段地址的最大寻址能力(64K字节数),可以看出这两个相邻段地址的寻址范围有很大一部分是重叠的。

重叠导致,段地址加上偏移地址可以推出唯一的物理地址,但是只通过物理地址却不能推出唯一的段地址和偏移地址


至此,结束文章来源地址https://www.toymoban.com/news/detail-691814.html

到了这里,关于汇编原理学习记录:物理地址=段地址*16+偏移地址的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 报文分片(16位分片标识、3位标志、13位片偏移字段详解)

    目录 一、什么是分片? 二、如何分片? 三、如何组装?(16位分片标识、3位标志、13位片偏移) 1、回顾16位分片标识、3位标志、13位片偏移 2、组合分片报文 四、分片的影响 1、对UDP的影响 2、对TCP的影响 网络层再继续向下传递的时候,会限制报文的大小,mtu(max transform

    2024年02月06日
    浏览(53)
  • 根据虚拟地址,如何求出页号和偏移量?

    虚拟地址划分成 虚拟页号 和 虚拟页偏移量 。 物理地址同样可划分为 物理页号 和 物理页偏移量 如何划分,关键点在于页面的大小。 假设给你一个十进制表示的地址20000,一个页面的大小为4KB,那么如何找出地址20000的具体位置呢? 先不探讨这个问题的答案,先来看看下面

    2023年04月27日
    浏览(30)
  • React入门 学习全记录(适合和我一样有Vue经验想学习react的同学~)

    都采用了组件化开发的方式,都是基于MVVM的框架有着虚拟DOM, Vue 和 Angular 都采用了响应式设计的方式,当数据发生变化时会自动更新视图。 React 和 Angular 的复杂性也使得它们更加适合于大型和复杂的项目 Vue 是一款轻量级、渐进式、灵活且易于学习的框架,适合快速构建单

    2024年02月16日
    浏览(48)
  • 【学习经验分享NO.16】超全代码-python画Sigmoid,ReLU,Tanh等十多种激活函数曲线及其梯度曲线(持续更新)

    激活函数是一种特殊的非线性函数,它能够在神经网络中使用,其作用是将输入信号转化成输出信号。它将神经元中的输入信号转换为一个有意义的输出,从而使得神经网络能够学习和识别复杂的模式。常用的激活函数有 Sigmoid、ReLU、Leaky ReLU 和 ELU 等。大论文理论部分需要介

    2023年04月08日
    浏览(58)
  • 前端学习记录~2023.7.16~CSS杂记 Day8

    由于有很多知识非常符合直觉或者和其他语言有通用性,因此个人觉得不需要全部记下来,本篇只记录一些个人觉得需要注意或单独记忆的知识点。 同时为了提高效率和减少对不重要内容的时间投入,会考虑更加精简。 相比上一篇总览,本篇更详细记录了正常布局流、弹性

    2024年02月17日
    浏览(36)
  • solidity学习记录 3 (地址与交易)

    智能合约中的地址 合约中的地址等同于uint160类型 合约当中的地址可以被比较 地址中余额的获取与转账操作  那新建一个地址类型时可以通过address.balance 来获取当前地址的余额 若一个函数中需要进行转账操作需要在函数中加上payable this指向的是当前合约的地址 若对当

    2023年04月24日
    浏览(36)
  • 2023-04-16 学习记录--C/C++-邂逅C/C++(上)

    合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻 stdio 的理解: abbr.标准输入输出( standard input/output )。 (一)、前提【 重要 】 (仅个人初学者用来记忆所用,待学有所长后会完善更新这部分内容,谢谢评论里滴小阔耐指出💐) 注意 :对于最后一

    2024年02月05日
    浏览(90)
  • 16位汇编通用寄存器

    1、输入命名debug,进入调试程序 2、r 命令显示寄存器 3、a命令输入汇编指令 4、t命令单步执行汇编指令 5.数据溢出后标志位NC 变为NY, 0变成1 最后A

    2023年04月11日
    浏览(63)
  • Redis学习(三)分布式缓存、多级缓存、Redis实战经验、Redis底层原理

    单节点Redis存在着: 数据丢失问题:单节点宕机,数据就丢失了。 并发能力和存储能力问题:单节点能够满足的并发量、能够存储的数据量有限。 故障恢复问题:如果Redis宕机,服务不可用,需要一种自动的故障恢复手段。 RDB持久化 RDB(Redis database backup file,Redis数据库备份

    2024年02月16日
    浏览(42)
  • 【机器学习300问】16、逻辑回归模型实现分类的原理?

            在上一篇文章中,我初步介绍了什么是逻辑回归模型,从它能解决什么问题开始介绍,并讲到了它长什么样子的。如果有需要的小伙伴可以回顾一下,链接我放在下面啦:                              【机器学习300问】15、什么是逻辑回归模型?     

    2024年01月25日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包