Page 4 of 62
SBasic User's Manual SBasic Version 2.7 Page 4
Printed: December 5, 1999
Version 1.3 fixes bugs in code generated for certain uses of peek()
and peekb().
Version 1.2 changes the assembly source for variable references. SB
now creates variable references with unique labels, rather than as
offsets to the varbeg address. Added support for inline assembly
language, through the ASM and ENDASM statements. Added support for
the ASMFUNC statement, used to define SBasic entry points into
assembly language routines. Cleaned up the code generated for POKE
and POKEB statements; handles literal target addresses more cleanly.
Fixed bug in POKE and POKEB statements; older versions compiled bad
code for multiplies in the second argument.
Version 1.1a fixes remaining bugs in the code generator regarding
arrays. It also fixes a nasty bug concerning operations such as /
(division), mod, poke(), and pokeb(). The code generated for these
operations was bad if the result was stored into an array element.
Version 1.1 contains fixes to the code generator regarding arrays and
the ADDR() function. In particular, the code generated for array
references is much tighter.
I removed the error message for labels that are defined but not
referenced. This made developing modules of code too difficult; if
you mistype the name of a label, you're going to get other errors,
anyway.
I added the SWAP command, to make it easier to deal with multiple
items on the data stack.
Version 1.0 follows a long succession of beta releases, spanning many
months. In 1.0, SBasic finally reached a point where, like it or not,
I had to call the project done, at least for now.
Version 1.0 supports single-dimension arrays, as well as math
operations in constant declarations. These features, added to those
already existing in the previous beta release, constitute what I
consider to be the bare minimum for a final system.
At this point, however, the code generator is getting kind of fragile,
and needs to be rewritten. This is a large task that I won't take on
easily, but I'll continue to support SBasic for bug fixes.