VmBasic语法说明

  
  语法说明 支持整型X,字符串型X$和浮点型X!等三种运算,实现了数组,支持供函数和过程,行号并没有得到支持,BASIC语法版本很多大概语法和DOS下的QBASIC那个版本差不多,实现的语句有IF, GOTO, GOSUB, RETURN, SUB, FUNCTION, PRINT, INPUT, THEN, ELSE, DIM, WHILE, WEND。注意,变量X代表整型而Qbasic里面代表浮点变量,另外不支持双精度,所有浮点都是单精度的X! 这个版本没有做FOR...NEXT语句和SELECT语句,可以先用WHILE和IF还有GOTO代替。

  VmBasic的扩展 字符串可以无限长,是虚拟机做特殊支持的。支持灵活的类型转换,直接用等于号就可以了,比如:
     B$="100"+5
     A=B$
     B$=A+5
结果是A=1005,B$="1010"这样比原来的BASIC更具有灵活的字符串处理能力

  预连接标准库 在编译开始默认连接的库,通过它的定义和虚拟机的重载实现语言的升级。默认的预连接库是StdLib.VBL里面大部分是一些函数,过程的定义,通过内铅汇编指令VASM("")来实现直接控制虚拟机输出输入,目前在StdLib.VBL里面定义的函数或过程有:SIN!, COS!, TAN!, SQR!, ABS, ABS!, RANDOM, CHR$等常用命令以外提供了一些多媒体命令:
  FTimer()      取1ms为单位的时钟
  KeyDown()     判断一个按键是否被按下
  CreateCanvas(W,H) 创建一个宽W高H的画布并且返回一个标识
  FreeCanvas(Can)  释放一个画布
  LoadCanvas(FILE$) 从TGA文件中读取一个画布并且返回标试
  Pixel(Can,X,Y,C)  在画布Can上面画点
  ReadPixel(Can,X,Y) 读取点
  FillCanvas(Can,X,Y,W,H,C) 填充画布
  BlitCanvas(CanDest,CanSrc,DX,DY,W,H,X,Y,ColorKey) 图块Blit拷贝ColorKey小于零则做不透明拷贝
  ShowCanvas(Can)  将画布显示到虚拟机窗口上
  CloseGraph()    刷新虚拟机窗口,除去ShowCanvas画下的痕迹
  更详细或更多的用法参考Fire.bas看看

  关于其他详细内容请参考Readme.htm虚拟机规范请参考Vmbeta.txt

Skywind @ softnb.51.net 5/4/2002