中华学习机原理和应用(17)——XMF-BASIC

🏠 首页 《无线电》杂志 1989年 🔗 第5期 🔗 第28页 分类:技术知识 🔗 张世英 🔗

§8.其它与系统有关的命令

一、 RUN

格式:RUN[行号]

功能:运行现行的BASIC程序。命令中带有行号时,从指定行号开始运行。

二、 SAVE和LOAD

格式:SAVE[“程序名[”]]

LOAD[“程序名[”]]

功能:将内存中的BASIC程序存入磁带上(SAVE)或将磁带上的BASIC读入计算机中(LOAD)。

两个命令中后随的[ ]内的部分,是XMF-BASIC扩展的部分。不带扩展部分的命令,在“小蜜蜂-Ⅰ”或APPLE机上均可使用,但在APPLE机上经常因干扰信号导致去错停机,从而不易读出程序;而在“小蜜蜂-Ⅰ”上出错机会极少。

在“小蜜蜂-Ⅰ”型机上,使用上述命令时,如果带上扩展部分,存入磁带的程序带有程序名,读出时可按程序名在带上进行搜索。当读到的程序不是所需的程序时,会给出提示,并继续搜索下去,直到读完所需程序。

在“小蜜蜂-Ⅰ”机上写入磁带的程序(无论带不带名字),在APPLE机上也能读出(只要不出错);而在APPLE机上写入磁带的程序,在“小蜜蜂-Ⅰ”机上更容易读出。

三、HIMEM:和LOMEM:

格式:HIMEM:算术表达式

LOMEM:算术表达式

功能:两个命令均用来保护内存中的某些信息,使之不会在运行BASIC程序时遭到破坏。

HIMEM:用它所带的算术表达式的值作为地址,指明BASIC程序运行时可用的最高地址;LOMEM:用它所带的算术表达式的值作地址,指明BASIC程序运行时,各种量存放的最低地址。

四、 BSAVE、BLOAD和BRUN

这是XMF-BASIC独有的命令。

格式:BSAVE“名字[”],A起始地址,L长度

BLOAD“名字 [”][,A起始地址]

BRUN“名字[”][,A起始地址]

功能:专用于二进制文件(机器语言程序或数据)对磁带的读、写操作。其中起始地址指该二进制文件在内存的首地址,长度指该二进制文件的字节数。起始地址和长度可以用十进制数给出,也可以用由$导入的十六进制数给出。

BSAVE,以指定名字将内存中以指定起始地址开始的二进制文件依指定长度存入磁带。

BLOAD,依指定名字将磁带上的二进制文件读入起始地址指明的内存空间。起始地址省缺时,读至该文件存入磁带前所在的空间。

BRUN,从磁带上读入指定的机器语言程序至起始地址指明的空间,并从头运行它。省缺起始地址时,将该文件读入磁带前所在的空间。

五、TRACE和NOTRACE

格式:TRACE

NOTRACE

功能:执行TRACE之后,被运行各程序行的行号,均可输出显示(或打印);NOTRACE则撤消此种跟踪状态。

六、POKE

格式:POKE算术表达式1,算术表达式2

功能:算术表达式1给出一个RAM空间地址,算术表达式2则给出一个0~255之间的数。命令的功能是将给定的数置人指定的内存单元中。

七、CALL

格式:CALL算术表达式

功能:算术表达式给出一个内存地址,此命令将转入指定地址执行一段机器语言子程序,从该子程序退出后,返至该CALL的后续语句继续运行BASIC程序。

八、&

格式:&

功能:本命令相当于执行命令CALL1013。1013即$3F5,指明一个内存地址,在那里,需由用户自行写入一段机器语言子程序。

九、WAIT

格式:WAIT算术表达式1,算术表达式2[,算术表达式3]

功能:这是一个有条件的暂停命令。算术表达式1指明一个RAM地址,设这个地址中的8位二进制数为数1;算术表达式2及算术表达式3均为0~255之间的数,将它们转换为二进制数(都是8位)分别设为数2和数3。WAIT命令只带前两个算术表达式时,对数1和数2进行逐位与(AND)操作,只要结果中有1位为1,此命令即执行完,执行其后续命令;否则重复对数1与数2的与操作。如果WAIT命令中带3个算术表达式,则先对数1和数3进行逐位异或(EOR)操作,再与数2作与操作,只要结果中有1位为1,本命令即告结束;否则再作数1与数3的异或操作,……。

结束暂停条件,在于修改算术表达式1所指地址中的内容。

十、CLEAR

格式:CLEAR

功能:清除各种变量已取得的数据。

十一、PR#和IN#

格式:PR#算术表达式

IN#算术表达式

功能:此处的算术表达式结出一个槽口号,因此其范围为0~7。PR#,启动相应槽口的输出设备(如打印机、磁盘机、显示器、汉字系统等);IN#,启动相应槽口的输入设备(如磁盘机、键盘、汉字系统等)。

十二、 P CTRL-G

格式:P CTRL-G

功能:“小蜜蜂-Ⅰ”除装有XMP-BASIC外,也固化了APPLE Ⅱ BASIC解释程序,目的是为了与APPLE Ⅱ在软件上百分之百地兼容(未来的计划是在此空间固化与磁带打交道的XMF-LOGO)。使用P CTRL-G命令,可立即转用APPLE ⅡBASIC。返回XMF-BASIC则用CTRL-RESET。

十三、CALL$779或CALL$7F9

这是XMF-BASIC独有的命令。它用来检查内存中有无操作系统,如果有的话,将操作系统移入扩展的16K RAM中,以便留出更大的RAM空间供用户使用。被移走的操作系统,除INIT命令外,照样使用。

十四、REM

格式:REM字符序列

功能:这是一个非执行语句。REM所带的字符序列,是用来给读写程序作注解说明的。

十五、TEXT

格式:TEXT

功能:用来置显示屏为文本方式。

§9.各类函数

一、算术函数

这类函数中的自变量,均应以算术表达式的形式给出,在此用X表示。

1.SIN(X)——求X的正弦值。X为弧度值。

2.COS(X)——求X的余弦值。X为弧度值。

3.TAN(X)——求X的正切值。X为弧度值。

4.ATN(X)——求X的反正切值。X为弧度值。

5.ABS(X)——求X的绝对值。

6.SOR(X)——求X的平方根(X≥0)。

7.EXP(X)——求以e为底,以X为指数的函数值。其中e=2.718289。

8.LOG(X)——求X的自然对数值。

9.INT(X)——求不大于X的最大整数。

此函数在APPLE ⅡBASIC的处理上有些欠缺,因此,函数INT(3.3*100)的值不是330,而是329。XMF-BASIC对此作了改进。

10.SGN(X)——求X的符号值:

图1
图1 🔍原图 (426×143)

11.RND(X)——求一个伪随机数,其值在0与1之间(不得为1)。此函数因X的取值不同有所区别:

当X>0时,产生一个新的随机数;

当X=0时,所产生的随机数与上次使用本函数所产生的随机数无异;

当X<0时,依X值的不同而产生不同的随机数。

二、用户自定义函数

这类函数需用户先行定义,然后可象一般函数那样调用。

在APPLE Ⅱ BASIC中,自定义一个函数用如下格式:

DEF FN名字(实变量)=算术表达式1

其中自变量只能用实变量名,又称为形参。

自定义函数的调用,格式是:

FN名字(算术表达式2)

执行时将算术表达式2(又称实参)的值作为形参的值计算出算术表达式1的值,即为本函数的值,它是一个算术型量。

XMF-BASIC对自定义函数作了较大的扩展,自变量可扩展至10个,自变量与函数均可为任何数据类型。因此,其定义格式是:

DEF FN名字(变量[{,变量}])=表达式

调用格式为:

FN名字(表达式[{,表达式}])

要求定义中的形参与调用的实参个数一致,且对应属相容的数据类型。(待续)(张世英)