汇编里:0000:0010=0001:0000 这个是正确的吗?为什么?

来源:百度知道 编辑:UC知道 时间:2024/07/06 20:52:07
汇编里:0000:0010=0001:0000 这个是正确的吗?为什么?

0000:0010=00010
0001:0000=00010
地址表达式中前4位是段地址,后四位是偏移地址。
计算物理地址的公式是=段地址*10h+便宜地址
所以这两个是相同的

0000H:0010H=0001H:0000H
的表述不对,应该是
0000H:0010H=0001H:0000H
因为 “物理地址” = “段地址”*10H + “偏移地址”
所以上面等号前后的地址表达虽然是指向同一个物理地址,但两者在程序结构上是不同的。

表示同一个地址,但是所在段的起始点不同

另外DOS下不做特殊处理只能访问1M内存1M的范围是0--fffff byte;

0000:0010的段地址是0000,偏移量为0010
0001:0000的段地址是0001,偏移量为0000
而“物理地址” = “段地址”*10H + “偏移地址”
所以代表的地址是一样的都是00010,换个例子给你:
0010:0100 这个地址实际上就是00200h,和他表示相同地址的有 0020:0000, 0000:0200, 甚至是
0005:0150,都可以,只要你用上面的公式算最后是00200就好,但是请注意,这只是代表单一地址相同,而在你真正应用中,由于段地址可能关系同其他使用者,所以最好选用一个比较方便的段地址