那到时候 发表于 2014-3-18 14:53:38

看优酷视频,第8集的,段地址跟偏移地址的疑问

http://v.youku.com/v_show/id_XNjU4NzYxMzA0.html?f=21617003

为什么是段地址x16,而不是偏移地址x16

按照字面来理解,段地址应该是固定的,偏移地址应该是用来移位的才对啊

这是怎么一回事啊

qidaoshen 发表于 2014-3-18 15:08:19

段地址X16   X16是 16位数据的意思

那到时候 发表于 2014-3-18 15:17:54

qidaoshen 发表于 2014-3-18 15:08 static/image/common/back.gif
段地址X16   X16是 16位数据的意思

我这里的X16,是乘以16,也就是移一位,

那到时候 发表于 2014-3-18 15:21:56

qidaoshen 发表于 2014-3-18 15:08 static/image/common/back.gif
段地址X16   X16是 16位数据的意思

http://v.youku.com/v_show/id_XNjU4NzYwNTI0.html?f=21617003
第九集的视频
第7分钟20秒
明白了

想不出来 发表于 2014-3-18 15:34:12

8086cpu有20根地址总线,根据地址加法器,要用段地址和偏移地址合成物理地址。段地址*16,就是在后面添个0,然后+偏移地址,就是物理地址。比如访问40010H(20根地址总线表示,也就是20个二进制,也就是五个十六进制表示)的物理地址,可以是4000H的段地址和0010的偏移地址的组合,也就是4000H*16+0010H.   我也是刚学的汇编,大概我的理解就是这样

qidaoshen 发表于 2014-3-18 15:36:18

加油!!!

那到时候 发表于 2014-3-18 15:39:53

想不出来 发表于 2014-3-18 15:34 static/image/common/back.gif
8086cpu有20根地址总线,根据地址加法器,要用段地址和偏移地址合成物理地址。段地址*16,就是在后面添个0, ...

我是说段地址跟偏移地址的字面意思,后来理解了
内存理解为小区,
段地址可以理解为第几栋楼
偏移地址理解为几零几

yu4241 发表于 2014-3-18 15:49:35

个人理解: s
1、汇编的通用数据是   16进制的;所以*16;
2、偏移地址 的值为16进制的 最小值 0H ----最大值16H之间,可以自定义;
3、段地址,是段寄存器里面的2进制数据,经过转换为16进制的数据,因为寄存器的物理地址存储空间不够,而出现的段地址解决方法。
4、不对的地方请大家指正。我是新手。。

福禄娃娃 发表于 2014-3-18 21:46:36

16是10进制的数,转换为16进制数是10H
所以相当于左移一位,右边添加一个0

awasha 发表于 2014-3-18 23:14:19

{:2_25:}楼上有个朋友的解释我感觉不错!

无名侠 发表于 2014-3-21 20:45:52

光靠单纯的段+偏移不能达到1M内存空间。
页: [1]
查看完整版本: 看优酷视频,第8集的,段地址跟偏移地址的疑问