看了小甲鱼的视频,和他一样的操作,在debug中。
-d fff0:0 ff
然后看到最后一行有生产日期:fff0:00f0 .[...06/15/09...
然后
-e ffff:05
FFFF:0005 30.31
-e ffff:06
FFFF:0006 36.31
-d fff0:0 ff
照理说,结果应和他视频中的一样,结果是不变的,因为ROM是只读的。
但为什么查看后发现变了,最后一行变成:fff0:00f0 .[...11/15/09...
只是退出debug,退出cmd,下次再进入查看-d fff0:0 ff时,又变回去了 : fff0:00f0 .[...06/15/09...
不知道为什么?
------解决方案--------------------------------------------------------
不变的,是纯 dos 下吧,而且可能还是禁止了 Bios Shadow 。Windows 下的 cmd 看到的是被映射到 RAM 区的些内容,所以可能被修改;由于这种映射是进程相关的,所以退出 cmd 后,这个就被丢弃了,再行允许 cmd 时,又会从最初的复制份过来,所以一个 cmd 里的改动不会影响到其它的。
------解决方案--------------------------------------------------------
我估计你的BIOS里的SHADOW RAM设置是读写的,如果设置为只读,NTVDM虚拟的DOS内存那部分也是只读的。另外,NTVDM对于DOS内存、CMOS RAM都是虚拟的,程序写了也不会写到真正的物理空间中。
------解决方案--------------------------------------------------------
这不废话么!
你100%是在Windows下的虚拟8086模式下工作(也就是通过CMD命令进入的DOS窗口)。
在v86模式下,每个DOS虚拟机都会获得一份BIOS的拷贝。注意,它只是一个位于虚拟内存中的拷贝,跟真实的BIOS一点关系都没有。
可以打个赌,如果你开n个DOS窗口,在一个DOS窗口中修改BIOS的日期,在另一个DOS窗口中查看该日期,肯定一点变化都没有。
------解决方案--------------------------------------------------------
上传图片不成功!!