鱼C论坛

 找回密码
 立即注册
查看: 2759|回复: 3

新手求解

[复制链接]
发表于 2012-2-11 23:57:03 | 显示全部楼层 |阅读模式
1鱼币
地址:10000H~100FFH的内存单元组成一个段
其起始地址(基础地址)为:10000H,段地址为:1000H,为什么大小是100H
同样
地址段:10000H~1007FH、10080H~100FFH这两个由内存单元组成的两个段,
其起始地址(基地址)分别为:10000H和10080H,段地址分别为:1000H和1008H,
为什么大小都为80H?

求解。。。

最佳答案

查看完整内容

{:1_1:}首先你必须弄清楚段的概念,内存本没有分段。 为什么非得分段呢?因为CPU访问内存时,我们必须告诉CPU需要读写的内存地址在哪里,CPU没有思维,我们指哪打哪,你不告诉他地址,不告诉他地址内存储的是什么类型(数据还是指令……),它什么都不会做! 那么我们用什么方式告诉CPU需要访问的内存的物理地址呢?答案是:使用CPU可以识别的方法。那么这个方式不是我们可以改变的,所以只好记住:用段地址X16+偏移地址的方式。 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-2-11 23:57:04 | 显示全部楼层
{:1_1:}首先你必须弄清楚段的概念,内存本没有分段。
为什么非得分段呢?因为CPU访问内存时,我们必须告诉CPU需要读写的内存地址在哪里,CPU没有思维,我们指哪打哪,你不告诉他地址,不告诉他地址内存储的是什么类型(数据还是指令……),它什么都不会做!
那么我们用什么方式告诉CPU需要访问的内存的物理地址呢?答案是:使用CPU可以识别的方法。那么这个方式不是我们可以改变的,所以只好记住:用段地址X16+偏移地址的方式。
经过以上问答,很明显“段”的概念已经出来了。“段”是为了方便我们读写内存单元而设计的,但必须遵循最大长度不超过64KB即可,因为8086CPU寻址能力为16位。
至于楼主所谈的容量大小,是我们自己来定义的,还是上面的老话:必须遵循最大长度不超过64KB即可,因为8086CPU寻址能力为16位。
综上,不要盯着段的容量大小不放,你看着不顺心,盖掉它……你的段你做主!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-2-12 00:24:37 | 显示全部楼层
:L:L你把视频多看几遍。就懂了。很钻牛角尖的问题。看不明白。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-2-12 10:10:58 | 显示全部楼层

呵呵,明白了
谢谢啦{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-19 18:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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