看优酷视频,第8集的,段地址跟偏移地址的疑问
http://v.youku.com/v_show/id_XNjU4NzYxMzA0.html?f=21617003为什么是段地址x16,而不是偏移地址x16
按照字面来理解,段地址应该是固定的,偏移地址应该是用来移位的才对啊
这是怎么一回事啊 段地址X16 X16是 16位数据的意思 qidaoshen 发表于 2014-3-18 15:08 static/image/common/back.gif
段地址X16 X16是 16位数据的意思
我这里的X16,是乘以16,也就是移一位, 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秒
明白了 8086cpu有20根地址总线,根据地址加法器,要用段地址和偏移地址合成物理地址。段地址*16,就是在后面添个0,然后+偏移地址,就是物理地址。比如访问40010H(20根地址总线表示,也就是20个二进制,也就是五个十六进制表示)的物理地址,可以是4000H的段地址和0010的偏移地址的组合,也就是4000H*16+0010H. 我也是刚学的汇编,大概我的理解就是这样 加油!!! 想不出来 发表于 2014-3-18 15:34 static/image/common/back.gif
8086cpu有20根地址总线,根据地址加法器,要用段地址和偏移地址合成物理地址。段地址*16,就是在后面添个0, ...
我是说段地址跟偏移地址的字面意思,后来理解了
内存理解为小区,
段地址可以理解为第几栋楼
偏移地址理解为几零几
个人理解: s
1、汇编的通用数据是 16进制的;所以*16;
2、偏移地址 的值为16进制的 最小值 0H ----最大值16H之间,可以自定义;
3、段地址,是段寄存器里面的2进制数据,经过转换为16进制的数据,因为寄存器的物理地址存储空间不够,而出现的段地址解决方法。
4、不对的地方请大家指正。我是新手。。 16是10进制的数,转换为16进制数是10H
所以相当于左移一位,右边添加一个0 {:2_25:}楼上有个朋友的解释我感觉不错! 光靠单纯的段+偏移不能达到1M内存空间。
页:
[1]