FFFF:F后面还有数据?
为什么在XP环境下FFFF:F后面还有数据? 1113727163 发表于 2019-9-19 09:52刚刚在DOS7.1环境试了一下,也会出现这种情况。看到了1M以外的空间{:9_228:} FFFF:0000 ~ FFFF:000F 应该是 DOS 1M 内存中的最后 16 个字节,之所以后面还有,是因为内存回滚,就是说,从 FFFF:0010 开始的数据实际上已经是 0000:0000 的数据了,楼主可以验证一下看看。 jackz007 发表于 2019-9-19 10:35
FFFF:0000 ~ FFFF:000F 应该是 DOS 1M 内存中的最后 16 个字节,之所以后面还有,是因为内存回滚 ...
好像不是吧,数据不一致
本帖最后由 jackz007 于 2019-9-19 11:08 编辑
毕竟这些内存不在规范的管控之下,所以,情况可能会有所不同。
jackz007 发表于 2019-9-19 11:07
毕竟这些内存不在规范的管控之下,所以,情况可能会有所不同。
{:9_228:}DOS模拟器看到的居然一样 是的,上面哥们说的没错,有个地址回绕特性。 想象一个根据段地址*16+偏移地址得出了的地址如果超过20位,第21位的那个比特 1 存储不了,所以被舍弃,因此产生地址回绕现象,导致地址1xxxx xxxx xxxx xxxx(二进制)的值和 地址xxxx xxxx xxxx xxxx(二进制)的值相同。 bitravel 发表于 2019-9-19 14:17
想象一个根据段地址*16+偏移地址得出了的地址如果超过20位,第21位的那个比特 1 存储不了,所以被舍弃,因 ...
但是我用纯DOS看到的也不一样
页:
[1]