微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题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外部命令的修改除了关键代码的地址不同之外,其他均相同。(湖北李俊平)