无硬盘也可以使用2.13H汉字系统 辽宁 朱广忠 1993-11-05 有的PC机无硬盘,286机有时因病毒感染系统也不认硬盘,这时2.13H就无法启动。2.13H必须有硬盘才能启动,这对用户就不太方便。 能否不用硬盘,只用软盘也能启动2.13H呢?经过反复研究,终于找到解决办法。 影响2.13H启动的最主要的文件是FILEIA.COM,因为在此程序中有几处对硬盘进行操作,下面是FILEIA.COM程序有关部分清单如下: 120E:0100 BCE000 MO V SP,00E0 120E:0103 B80102 MO V AX,0201 120E:0106 BB0008 MO V BX,0800 120E:0109 B90100 MO V CX.0001 * 120E:010CBA8000 MO V DX,0080 * 120E:010F CD13 INT 13 * 120E:0111 BEBE01 MO V SI,01BE 120E:0114 80780401 CMP BYTE PTR[BX+ SI+ 04],01 120E:0118 7411 JZ 012B 120E:011A80780404 CMP BYTE PTR SPACESPACESPACESPACESPACESPACESPACESPACESPACESPACESPACESPACESPACESPACE [BX+ SI+ 04],04 120E:011E 740B JZ 012B - U 120E:0120 80780406 CMP BYTE PTR [BX+ SI+ 04],06 120E:0124 7405 JZ 012B 120E:0126 83C610 ADDSI,+ 10 120E:0129 EBE9 JMP 0114 120E:012B 8A7001 MO V DH, [BX+ SI+ 01] 120E:012E 8B4802 MO V CX, [BX+ SI+ 02] 120E:0131 B80102 MO V AX,0201 120E:0134 CD13 INT 13 120E:0136 8A4716 MO V AL, [BX+ 16] 120E:0139 40 INCAX 120E:013AB402 MO V AH,02 120E:013CCD13 INT 13 120E:013E E8BF01 CALL 0300 ........ ........ * 120E: 01DF 0003 ADD[BP + DI], SPACESPACESPACESPACESPACESPACESPACESPACESPACESPACESPACESPACESPACESPACE AL ....... ........ 120E:0290 0288C588 ADDCL, [BX+ SI+ 88C5] 120E:0294 D6 DB D6 120E:0295 B040 MO V AL,40 120E:0297 F6E4 MUL AH 120E:0299 00C1 ADDCL,AL *120E:029B B280 MO V DL,80 120E:029D31DB XO R BX,BX 120E:029F B80102 MO V AX,0201 120E:02A2 CD13 INT 13 ...... ........ 下面仔细分析此程序:从中发现此段程序使用了对硬盘第一物理扇区的读写功能INT13H。 因而,用软盘启动2.13H,必须访问硬盘,所以没有硬盘的机器就无法使用2.13H,此程序为了取得硬盘的DOS引导记录和FAT表,由此计算出磁盘I/ O参数。一开始就读写0 面,0道第一扇区的主引导记录,根据分区信息表找出DOS分区的起始柱面号,道号和扇区号,索引DOS的引导记录,然后,读出DOS的引导记录和第一个FAT表。 硬盘与软盘的结构是有一定区别 的,硬盘是主引导记录,它不属于任何分区,而软盘没有主引导记录,软盘的0面0道1扇区就是DOS的引导记录,紧接着后面的扇区就是FAT表。 因此,没有硬盘只用软盘启动2.13H就必须对FILEIA.COM程序进行以下三点修改: (1) 修改读出硬盘DOS主引导记录部分; (2) 修改程序中寻找DOS分区信息部分; (3)将程序中对硬盘操作的部分修改为对A盘操作。 具体修改可以用汇编语言或用DEBUG工具软件对FILEIA.COM进行修改。只修改打*号的地方就可,方法如下: C> DEBUG FILEIA.COM - A010C 120E:010C MO V DX,0000 120E:010F INT 13 120E:0111 JMP 0136 120E:0113 - A01DF 120E:01DF ADD[BX+ SI],AL - A029B 120E:029B MO V DL,00 120E:029D - W WRITING 02D1 DYTES - Q 到此FILEIA.CO M修改便完成。在DOS系统盘的根目录下,必须有以下两个文件: ANSI.SYS和CONFIG.SYS CONFIG. SYS文件中第一行必须是DEV ICE= ANSI.SYS,且必不可少。 PC机用360K软盘启动必须用两张盘,一张为DOS系统盘,另一张为2.13H系统文件盘。 可建立一个批处理文件213.BAT如下: ECHO O FF FILEIA2 CCCC CC11 YX11 ECHO ON 用DOS系统盘启动后再插入2.13H系统盘后键入213.BAT批处理文件便可进入汉字系统。 286 以上机器用1.2M的软盘启动,将DOS系统及2.13H系统都装在此盘上并建立一个自动批处理AUTOEXEC.BAT如下: ECHO OFF FILE1A2 CCCC CC11 YX1 LX1 KEY KWB WBZX ECHO ON 用此盘即可直接启动汉字系统。 (辽宁 朱广忠)