Micro­power

  

Volume 2 · Number 4 · September 1982

Page 5 of 36
  1. RESTORE 'LABEL' (see note above)
  2. IF..THEN 'LABEL'
  3. IF..G0TO 'LABEL'

The places to put the patches are detailed in the listing of the machine code. I hope that these routines will help you next time that you have to debug a bigger and better version of STAR TREK, or whatever. Anyway, good luck!

Incidently, has anyone noticed a bug in Xtal? It surfaces when you give a statement like IF A=1 GOTO X=2 which is treated by the interpreter as identical to IF A=1 THEN X=2, not as a syntax error. If anybody has noticed any other peculiarities of Xtal, or even that revolting version of BASIC that was sold by Nascom, then a letter to the magazine might relieve a lot of other people of some head-scratching.

My final comment. The listing given here is from an assembler called Z2. This assembler is much faster than any other available for Nascom that I have seen. For instance, the source code for a LISP interpreter which I have just finished runs from 2550 to C2B0 hex. This takes approx. 45 seconds to assemble, producing just under 8K of code. I won’t even mention the speed of ZEAP an a similar size file. If there is anyone still out there who still markets this assembler, then perhaps they will write in and give their address for those of us who work on reasonable sized programs.

Page 5 of 36