请教各位大大:
有一段写显存的程序,是在文本模式的中间输出一段彩色字符串。
在debug中用G命令,执行正常。
但在cmd 窗口,直接运行不正常?
为什么会这样?
------解决方案--------------------------------------------------------
进入debug退出后再运行程序还无法显示结果么?
Windows对于16位程序在CMD下的处理有点怪异。一般需要CMD先从默认936中文页跳到437页才正常起来。
------解决方案--------------------------------------------------------
DEBUG是正宗的纯DOS调试环境,CMD是模拟DOS,CMD下的DEBUG只是DOS下DEBUG环境的一个真子集,有很多功能得不到支持,或者是表明上支持,但执行后却得不到正确的结果。所以在CMD的debug下有很多涉及到设备操作的指令得不到应有的允许结果。我曾经多次在CDM debug下读取物理扇区,结果都不正确,但在DOS debug下却可以读取到正确的数据。因为我读取的是MRB,所以可以很容易的判断读取数据的正确性。我通常把CMD debug看作是一个训练场,使用方便,把DOS debug看作是真实的战场,具有最大的真实性,两者配合使用。