移植UCDOS6.0下的WPS
经对照观察,UCDOS 6.0配置的WPS字处理系统的三个主要文件除了WPS.COM(14781字节)与UCDOS 5.0版的WPS.COM(14100字节)文件长度不同外,其余两文件WPS.EXE和WPS1.OVL均相同且版本号都是2.2版。可见希望公司作系统版本升级时字处理系统只改动了WPS.COM模块代码。
进一步用DEBUG分析WPS.COM发现:在偏移地址DS:1015处,有一条用06h与DL寄存器内容进行比较的指令,也就是版本比较指令。顿时恍然大悟,若将06h改为05h,问题不就迎刃而解了吗?
具体修改方法如下:(修改前应先将文件备份)
C>DEBUG WPS.COM
-U 1015 1017 ;(确认偏移地址)
DS:1015 CMP DL,06
-E 1017 06.05;(将06h改为05h)
-W ;(存盘)
Writting 039BD bytes
-Q ;(退出)
将修改后的UCDOS 6.0版下的WPS.COM文件拷贝到UCDOS 5.0目录下覆盖原有WPS.COM文件即可,而且修改过的WPS.COM文件在UCDOS 6.0和UCDOS 5.0两种系统环境下均能正常运行。