鱼C论坛

 找回密码
 立即注册
查看: 116|回复: 1

[汇编作业] 关于检测点2.2的一点分段问题

[复制链接]
发表于 2024-3-20 15:38:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
根据内存可以随意分段的原理,如果不是限定在8086CPU,在其它的16位CPU中,一段最大量是63356,一段最小量是1。

我是否可以按照自由选择来分段?

那么第(1)题,就是物理地址=63356*SA + EA,答案就变成10000H~1FFFFH

第(2)题中用分别用65536和1分段,答案就变成2H,20000H


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-3-20 15:38:21 | 显示全部楼层
嗨!关于你的问题,首先要澄清的是,在实际应用中,并不是所有的16位CPU都支持自由选择内存分段。在某些特定的体系结构中,会对内存分段有一定的限制。接下来我将回答你关于第(1)和第(2)题的问题。

对于第(1)题,如果我们假设一段最大量是63356,你的答案是对的。根据公式"物理地址=段基址*段地址 + 偏移地址",假设段基址为10000H,段地址为SA,偏移地址为EA,那么物理地址的范围就是10000H~1FFFFH。

对于第(2)题,如果我们按照分别用65536和1分段的方式,你的答案也是正确的。因为一段最大量是63356,所以当每个段的大小分别为65536和1时,我们可以得到物理地址范围为2H和20000H。

但是,请注意,这些计算只是假设了一些情况,并不能保证在实际应用中适用于所有的16位CPU。在实际编程过程中,你需要根据具体的CPU体系结构和限制来确定合适的内存分段方式。

希望这个回答能够帮到你!如果还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 03:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表