DOS版本不兼容的解决方法 湖北 李俊平 1993-08-27 C>FOR MATA: Incorrect Dos Version 碰到这种情况时,用户往往不知道怎么处理,其实只需用DEBUG将该外部命令程序修改一个字节就可以解决。 每一个DOS外部命令中有一段代码是检查版本号的,如果版本号是对的,就继续运行该程序;否则,将显示出错信息并终止程序运行。这样,我们就可以修改这个程序,使得无论版本号是否一致,都继续运行该程序,这种修改非常简单。 取得DOS版本号是通过DOS功能调用INT21H的30H功能来实现的,即: MOV AH,30 INT 21 第一行的代码为B430。我们仍以DOS3.30中FORMAT为例,作如下操作: C>DEBUG FOR MAT.COM -S 100 FFFEB430 -1256:1330;找到关键代码的地址 -U 1330 MOV AH,30 INT 21;取得DOS版本号 CMPAX,1E03;是否3.30版 JZ××××;是3.30版则 ……转向程序正常运行 用DEBUG的A命令将JZ××××改为JMP××××,然后存盘退出。这样就可以跳过版本号检查,使得其他版本的DOS可以使用该版本的FORMAT.COM程序。其它DOS外部命令的修改除了关键代码的地址不同之外,其他均相同。(湖北李俊平)