§1.概述
“小蜜蜂-Ⅰ”主机加配扩展箱之后,就可以和磁盘机交换信息。
同APPLEⅡ一样,适于在“小蜜蜂-Ⅰ”型机上运行的各类操作系统,均载于各种软磁盘上,经由磁盘机可以装入主机内。能够支持BASIC的操作系统,以DOS3.3较为普遍,以它为母本还开发出来一批快DOS,其中以DAVID-DOS较为典型。本文主要介绍DOS3.3,文末将简单指出DAVID-DOS与它的不同。
DOS3.3既可支持浮点BASIC(包括APPLE Ⅱ BASIC和XMF-BASIC),也可支持整数BASIC(INTBASIC)。整数BASIC解释程序在DOS3.3主盘上,载入16K扩展RAM中方可使用。
DOS3.3装入内存后,会和XMF-BASIC使用的第4页高分辨率图形区重叠。因此,“小蜜蜂-Ⅰ”型机允许使用命令CALL$77A(或CALL$7FA)把DOS3.3(或DAVID-DOS)重定位后移至扩展的16KRAM中,除INIT命令外,DOS3.3的其它命令照常使用。
将DOS装入内存的方法主要有以下两种:
1.冷启动(开机启动):将载有DOS的磁盘插入1号磁盘机中,打开扩展箱的电源,机器会自动装入DOS。
2.热启动(命令启动):使用命令PR#6,或IN#6,或CALL$C600,或在监控中用命令6CTRL-P,或C600G等。
DOS装入内存后,还会自动装入该盘上第一个BASIC程序(通常为HELLO),并运行之。
DOS命令可分作五大类。命令格式基本上是由命令和参数两部分组成。命令由规定的大写字母序列组成。参数不尽一致,较多的具有如下格式:
文件名[,V\(_{v}\)][,Ss][,D\(_{d}\)]
文件名不得多于30个字符,必须以英文字母为首字符,文件名中不得有逗号和<CR>等特殊字符。
V选项,在大写字母V之后跟一个数字,指明一张磁盘的卷号。省缺时以V=254处理。
S选项,在大写字母S之后跟一个数字,指明磁盘所占的槽口号。在“小蜜蜂-Ⅰ”型机上如果不再插入磁盘驱动卡另接盘机,此选项可省缺。
D选项,在大写D之后跟一个数字1或2,指明用1号盘机或2号盘机。此项省缺时取以前使用过的d值。
§2.内务命令
一、 INIT
格式:INIT文件名[,V\(_{v}\)][,Ss][,D\(_{d}\)]
功能:将一张磁盘格式化,并将内在中的DOS和BASIC程序写入该盘片。
将DOS移入扩展的16KRAM后,INIT命令将不能使用,但出现一个新的命令PADD(它不带参数)。用来显示刚刚和磁盘进行信息交换时信息在内存中的首地址和长度。
二、 CATALOG
格式:CATALOG[,S\(_{s}\)][,Dd]
功能: 显示当前磁盘上的文件目录。显示时分左中右3部分。
最左边一个字母,以表明该文件的类型:
A—浮点BASIC程序
I—整数BASIC程序
B—二进制文件
T—文本文件
中间一项(紧跟在表示类型的字母之后)是数字,表明该文件占用的扇区数(内存中每256个字节在入磁盘后占一个扇区)。
最右一部分是该文件的名字。
有时在表示类型字母的前面还有一个*号,表明该文件已有写保护(防止被修改)。
三、 SAVE
格式:SAVE文件名[,V\(_{v}\)][,Ss][,D\(_{d}\)]
功能:将内存中的BASIC程序,以指定的文件名存入磁盘。
四、 LOAD
格式:LOAD文件名[,V\(_{v}\)][,Ss][,D\(_{d}\)]
功能: 从磁盘上将指定名字的BASIC程序读入内存。
五、RUN
格式:RUN文件名[,V\(_{v}\)][,Ss][,D\(_{d}\)]
功能:它相当于先执行一次上述的LOAD命令,再执行一次BASIC中的RUN命令。即将指定名字的BASIC程序从磁盘上装入内存中,并接着运行它。
六、RENAME
格式:RENAME文件名1,文件名2[,V\(_{v}\)][,Ss] [,D\(_{d}\)]
功能:将文件名1改名为文件名2(只改名字,不改内 容)。
七、 DELETE
格式:DELETE文件名[,V\(_{v}\)][,Ss][,D\(_{d}\)]
功能:将指定的文件从磁盘上删除掉。
八、LOCK
格式:LOCK文件名[,V\(_{v}\)][,Ss][,D\(_{d}\)]
功能: 使指定的文件加锁保护。保护后的文件删除不掉,改写不了。列示目录时前面缀有*号。
这是一种软保护,只保护指定的文件。还有一种硬保护是将盘片边缘上的小方缺口贴住,这时整个磁盘的内容都改动不了。
九、UNLOCK
格式:UNLOCK文件名[,V\(_{v}\)][,Ss][,D\(_{d}\)]
功能:对指定的文件解锁(取消写保护)。
十、VERIFY
格式:VERIFY文件名[,V\(_{v}\)][,Ss][,D\(_{d}\)]
功能:用来检查指定文件是否正确。有错误时将给出I/OERROR的提示。
十一、 MON
格式:MON[C] [,I][,O]
功能:所有DOS命令,所有内存与磁盘之间交换的信息,通常都是不显示的,此命令可使之有选择地显示出来。
选用C项时,显示DOS命令;
选用I项时,显示输入至计算机的信息;
选用O项时,显示输出至磁盘的信息。
3个选项至少选1个。多于1个时,两两用逗号分开。3个选项的顺序可任意排列。
十二、 NOMON
格式:NOMON[C][,I][,O]
功能:撤销MON的相应显示功能。
十三、MAXFILES
格式: MAXFILES n
功能:其中n为1~16之间的整数。该命令用来设定同时打开文件的个数,以便在内存中留出足够的空间供它们使用。系统建立时自动设定n为3。
§3.二进制文件命令
一、 BSAVE
格式:BSAVE文件名,A\(_{a}\),Ll[,V\(_{v}\)],[, Ss][,D\(_{d}\)]
功能:将内存中从指定地址开始的二进制文件(如机器语言子程序、图形信息或数据)按指定长度存入磁盘,其名字为指定的文件名。
大写A之后的小写a,指明一个起始地址,大写L之后的小写l,指明存入长度(字节数),它们均可用十进制数给出,也可用由$导入的十六进制数给出。
二、 BLOAD
格式:BLOAD文件名[, A\(_{a}\)],[, Vv][,S\(_{s}\)][,Dd]
功能:从磁盘上将给定的二进制文件读入内存中。A选项指明读至内存的首址,该项省缺时,读至该文件存入磁盘前所在的空间。
三、BRUN
格式:BRUN文件名[, A\(_{a}\)][,Vv][,S\(_{s}\)][,Dd]
功能:将指定的二进制文件(在此必须是机器语言程序)读至由A选项指定的内存空间,并从头运行它。A选项省缺时,读至该文件存入磁盘前所在的空间。
§4.访问命令
一、 FP
格式:FP
功能:转入浮点BASIC系统,清除现有的BASIC程序及其产生的数据。 二、INT
格式:INT
功能:进入整数BASIC状态(这必须在建立DOS时将 INTBASIC装入16K扩展RAM中才可),并清除当前的 BASIC程序及其生成的数据。
三、IN#
格式:IN#n
功能:启动n号槽口上的输入设备。
四、PR#
格式:PR#n
功能:启动n号槽口上的输出设备。
注意:上述二命令中的n,只能取0~7之间的值,且该号槽口必须有相应的设备,否则系统会被“挂起来”。
五、 CHAIN
格式:CHAIN文件名[,V\(_{v}\)][,Ss][,D\(_{d}\)]
功能:这一命令仅支持整数BASIC。它通常写在一个程序的尾部,它会自动从磁盘上载入指定的程序并投入运行,而上一个程序所生成的数据被传递给这个新载入的程序,供它继续使用。
六、CTRL-D
说明:前面介绍的全部DOS命令,均可用于立即执行方式。如果想把它们用于延迟执行方式(即带行号的BASIC程序行)中,则需经过特殊手段。
所谓特殊手段,就是CTRL-D命令。它的实质就是:通过PRINT语句输出一个控制字符CTRL-D,这个PRINT接着输出的内容,就被认作是DOS命令了。
由于CTRL-D是不可显示的,写在程序中,只能看到该字将前后的双引号对,这时,往往加一个REM语句,注明它是CTRL-D。或者用函数CHR$(4)来代替CTRL-D(CHR$(4)的值就是CTRL-D的ASCⅡ码值)。
比如程序行:
符号PRINT“”;“RUN HELLO”:REM CTRL-D或程序行:
行号 PRINT CHR$(4);“RUN HELLO”
它们的功能是一样的:在输出一个CTRL-D之后,接下去的RUN HELLO不再当作输出显示(或打印)的内容,而是当作DOS命令,从而从磁盘上载入BASIC程序HELLO,并运行之。
如果在第一个程序尾部加上程序行:
行号 PRINT CHR$(4);“RUN第二个程序的名字”而在第二个程序的尾部加上程序行;
行号 PRINT CHR$(4);“RUN第三个程序的名字”…
这样,只要第一个程序运行后,会自动接着运行第二个、第三个程序。从而可以实现若干个BASIC程序的自动联接运行。
DOS中的CHAIN命令虽不适合浮点BASIC(APPLE IIBASIC或XMF-BASIC),但系统盘上有一个名为CHAIN的二进制文件,只要把它复制到工作盘上,那么,浮点BA-SIC程序之间的数据传递也是可以实现的。
其方法是:在第一个程序的尾部加入如下两个程序行:
行号 PRINT CHR$(4);“BLOAD CHAIN, A520”
行号 CALL 520“第二个程序的名字”
这样,第一个程序运行后,执行上述两个程序行,会自动从盘上装入并运行第二个程序,而第一个程序生成的数据传入第二个程序,并供它继续使用。(未完待续) (张世英)