最新WPS NT 1.0的内存优化 曹国钧 1995-03-31 经过笔者多次实验发现,WPS NT 1.0的主文件WPS.EXE至少需要380KB才能正常运行。因此,必须将CONFIG.SYS和AUTOEXEC.BAT中不需要的设备驱动程序和TSR实用程序卸掉,释放常规内存空间。下面就是笔者所提供的例子(COMPAQ 386/25e VGA 4M内存,DOS 6.20压缩盘),该配置可留给用户575KB自由空间。 CONFIG.SYS内容: DEVICE=c:\dos\HIMEM.SYS device=c:\213\ansi.sys dos=HIGH device=c:\dos\dblspace.sys/MOVE LASTDRIVE=E FILES=20 buffers=20 stacks=0,0 AUTOEXEC.BAT内容: @echo off path d:\DOS;d:\public set prompt=$P$g SPEEDKEY mouse/3/1 (2)启动WPS NT 1.0的优化批处理程序WPSNT.BAT内容如下: @ECHO OFF C: CD\WPSNT WPSAS (WPS自动存盘工具) SPLIB SPDOS py cizu (或五笔模块WBX) WPS %1 %2 注意:拼音模块PY.COM和五笔模块WBX.COM只能取其中一个。启动SPDOS NT汉字系统后,可留给WPS NT大约398KB,可运行主文件WPS.EXE。此时,也可在WPSNT6BAT增加一个PCSHELL 6.0提供的磁盘高速缓冲程序PC-CACHE.COM,它仅占用12KB常规空间(不用SMARTDRV.EXE程序,它将占用27KB常规空间),还有386KB空间可用,也可运行WPS.EXE程序。 因WPS NT提供的拼音模块增加了众多的词组,因而,占用了121KB的常规空间,为了更好地优化WPS NT的内存使用,实际上使用SPDOS 5.0提供的PY.COM拼音模块,它仅占用64KB内存空间,其中词组空间2KB。因为SODOS NT 1.0中提供了一个仿真SPDOS 6.0F的环境程序SPDOS6.COM,该程序为PY.COM装入SPDOS NT提供了可能。经笔者分析,SPDOS NT已将SPDOS 6.0F中的INT 16H扩充并改为INT 18H,因此,需将PY.COM模块中检测版本号的程序段去年,并将PY.COM中所有INT 16H改为INT 18H,就能使PY.COM也能运行于SPDOS NT环境中。下面就是修改方法。 C:\WPSNT>DEBUG pyNT.com (先应将PY.COM换名为PYNT.COM) -u f51d 0B96:F51D B80028 MOV AX,2800 ;SPDOS的版本号的获取 0B96:F520 CD16 INT 16 0B96:F522 3B06FAF6 CMP AX,[F6FA] 0B96:F526 750C JNZ F534 0B96:F528 81FBF7CE CMP BX,CEF7 ;BX='西' 0B96:F52C 7506 JNZ F534 0B96:F52E 81F9BDC9 CMP CX C9BD ;CX='山' 0B96:F532 7409 JZ F53D ;版本正确转到CS:F53D 0B96:F534 B409 MOV AH,09 0B96:F536 BAFCF6 MOV DX,F6FC 0B96:F539 CD21 INT 21 0B96:F53B CD20 INT 20 0B96:F53D(安装PY.COM程序) -A F51D 0B96:F51D JMP F53D ;跳过版本号的检查 -S 100 FFFF CD 16 ;查找INT 16的地址 0B96:E8DA 0B96:ED42 ;查到的地址 0B96:E927 0B96:ED46 0B96:EC38 0B96:ED5D 0B96:EC8C 0B96:EDEF 0B96:EC90 0B96:EDF3 0B96:ECCB 0B96:F693 0B96:ECCF 0B96:F69F -E E8DB -E ED43 ;修改 16.18 16.18 -E E928 -E ED47 16.18 16.18 -E EC39 -E ED5E 16.18 16.18 -E EC8D -E EDF0 16.18 16.18 -E EC91 -E EDF4 16.18 16.18 -E ECCC -E F694 16.18 16.18 -E ECB0 -E F6A0 16.18 16.18 -W -Q 因此,WPSNT.BAT批处理文件内容又可修改如下,该批处理可让拼音模块PYNT.COM和五笔WBX.COM模块同时驻留内存,而且留给WPS.EXE有401KB内存空间: @ECHO OFF C: CD\WPSNT WPSAS SPLIB SPDOS SPDOS6 ;SPDOS 6.0F仿真程序 pyNT CIZU WBX WBXCZ ;WBXCZ为五笔词组扩充文件 WPS %1 %2 (曹国钧)