冻死的鱼鱼 发表于 2014-1-7 08:24:37

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

本帖最后由 冻死的鱼鱼 于 2014-1-27 06:30 编辑

段地址*16+偏移地址=物理地址
是怎样理解的?

lxa520 发表于 2014-1-7 08:39:31

8086 20根地址总线16位机器

段地址是16位的 偏移地址也是16位的 为了凑成20位,
打个比方 段地址 = 1000H 偏移地址 = 0002H
1000H * 16 + 0002H = 10002H
乘以16 相当于把一个16进制的数左移4位

pzhccy 发表于 2014-1-7 09:18:43

同意三楼{:1_1:}

冻死的鱼鱼 发表于 2014-1-7 10:52:31

不太懂
1000H   不是1000*16?它以四位不是1000加4个零吗?

冻死的鱼鱼 发表于 2014-1-7 10:58:43

仔细想想好像有点懂懂了

冻死的鱼鱼 发表于 2014-1-7 15:02:16

还是要谢谢;额啊

霸气外露 发表于 2014-1-8 08:40:48

冻死的鱼鱼 发表于 2014-1-7 10:52 static/image/common/back.gif
不太懂
1000H   不是1000*16?它以四位不是1000加4个零吗?

4位2进制等于1位16进制。

冻死的鱼鱼 发表于 2014-1-8 09:11:28

霸气外露 发表于 2014-1-8 08:40 static/image/common/back.gif
4位2进制等于1位16进制。

懂懂了谢谢了

lms99251 发表于 2014-1-9 13:53:29

lxa520 发表于 2014-1-7 08:39 static/image/common/back.gif
8086 20根地址总线16位机器

段地址是16位的 偏移地址也是16位的 为了凑成20位,


大哥,你好像错了吧

乘以16 相当于把一个16进制的数左移1位

一个X进制的数据左移一位,相当于乘以X

lxa520 发表于 2014-1-10 08:19:48

lms99251 发表于 2014-1-9 13:53 static/image/common/back.gif
大哥,你好像错了吧

乘以16 相当于把一个16进制的数左移1位


可能是我表达错了。左移几位,都是针对二进制位;跟16进制数,二进制数没关系。

tao819tao 发表于 2014-1-10 18:06:41

8086地址总线有20位,可是8086是16位CPU
所以,高四位寻不到。 *16刚好是20位。

bubu 发表于 2014-2-15 07:57:38

加深一下理解。感谢了。
页: [1]
查看完整版本: 段地址*16+偏移地址=物理地址?