同版本的兼容使用

王朝other·作者佚名  2006-11-23
窄屏简体版  字體: |||超大  

大家知道,无论是MS-DOS还是PC-DOS,或是其它的DOS,都有许多不同的版本,例如大家最常用的MS-DOS就有1.0,3.0,3.3,5.0,6.2,7.10等众多版本。虽然DOS有很好的向下兼容能力,但用户还是不时碰到低版本和高版本不能匹配的使用的问题。当外部命令所要求的版本号与所使用的DOS版本不一致时,屏幕会显示“Incorrect

DOS version”而拒绝执行进一步操作,这种版本检验有时是必要的,但大多数情况下则大可不必,尤其是在高版本的DOS下运行通常完全没有问题。因此,现在谈谈几个兼容使用的方法。

一: 使用命令行工具软件更改版本号

这是一种简便易行的方法,只需一两条简单的DOS命令就可以实现,但是,它需要专门的软件,如VERS

1.1或DOSVER等。VERS的用法是,VERS [DOS版本号],如VERS 7.10就可使当前版本号变为7.10,非常实用。而DOSVER是个内存驻留程序,可以自动调整DOS版本号,免去了人工操作的麻烦。它们可以在“DOS软件分类下载”中下载,其中DOSVER为注册破解版本。

二:使用DOS自带的SERVER

SERVER是DOS 5.0起自带的命令,它利用创建版本表的方法运行不同版本的DOS程序。方法是先设置版本表,然后将SERVER.EXE在CONFIG.SYS中用DEVICE/DEVICEHIGH命令加载。注意,每更改一次版本表都需重新启动计算机才能生效。

三:取消对DOS版本的检验

外部命令用版本号检测的方法来确定正在使用的DOS版本。只要对这些外部命令稍做修改,就可取消它对DOS版本的检查,使之能适用于任何版本的DOS。这样,便可顺利地使用任何版本的DOS外部命令。

通用的方法是用DEBUG调入要修改的文件,用S命令寻找版本检查功能4B的功能号赋值地址,然后反汇编这一地址,找到“JZ

xxx”,将其用A命令修改成“JMP xxx”,再用W命令写回磁盘。下面是修改DOS

3.30的DISKCOPY.COM的例子。

DEBUG DISKCOPY.COM(回车)

-S 100 FFFE B4 30

CS:1650

-U 1650

XXXX:1650 B430 MOV AH,30

XXXX:1652 CD21 INT 21

XXXX:1654 3D031E CMP AX,1E03

XXXX:1657 740B JZ 1664

XXXX:1659 BAE90F MOV DX,0FE9

...

-A 1657

XXXX:1657 JMP 1664

XXXX:1659

-W

-Q

注意:修改后的“JMP xxxx”字节数不能起过“JZ

xxxx”的字节数。

另外,还有其它一些方法,如用含对应DOS版本的系统软盘启动等,由于比较麻烦,所以不再说明。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航