- RESTORE 'LABEL' (see note above)
- IF..THEN 'LABEL'
- 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.