无硬盘也可以使用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
用此盘即可直接启动汉字系统。
(辽宁 朱广忠)