标题: FREEDOS与MS-DOS下一内存测试程式运行的差异
[打印本页]
作者: field4728
时间: 2007-1-23 09:07
标题: FREEDOS与MS-DOS下一内存测试程式运行的差异
有一个内存测试程式(测试随机数据块读写,一次写入多个数据,进行循环读写,检验对内存进行数据块的读写是否正确),在FreeDOS测试下会报错,在MS-DOS下是OK的,为什么?请问这二个系统的差异是什么,什么原因导致这个问题的产生呢?高手指点
问题补充:在FREEDOS下内存测试程式中有一项是Fail的,在MS-DOS下是全PASS的,请详细说一下改的地方,也就是主要差别,谢谢!
作者: field4728
时间: 2007-1-24 00:28
高手呢?帮忙啊
作者: zyl910
时间: 2007-1-24 02:22
怀疑FREEDOS中的DOS程序是工作在V86模式下的
地址是虚拟地址,而不是物理地址
作者: osfree
时间: 2007-1-26 06:49
你的MS-DOS用的是哪个版本?
在WIN98,WIN2000,WINXP下的V86(CAMMAND窗口)中,在执行对物理底层(比如串口)操作时,会有所差异的.但是这要看这个底层操作是那种情况.
A.这个操作通过调用DOS的INT来实现.
B.这个操作通过调用主板上的BIOS的INT来实现.
C.这个操作通过直接读写芯片寄存器或端口地址来实现.
这3种情况在V86下所表现出现象是不一样的.
作者: field4728
时间: 2007-1-27 08:59
非常感谢osfree的热心帮助
我在MS-DOS下VER看版本显示的是WINDOW98,应该是7.0的吧,所以还需要你帮忙分析下,谢谢!