Page 38 of 62
SBasic User's Manual SBasic Version 2.7 Page 38
Printed: December 5, 1999
You cannot use ADDR() to calculate the address of a selected array
element; if you include a subscript after the array name, the compiler
will report an error in the ADDR() function.
This isn't really a problem, though, since all array elements occupy
two bytes. For example:
a = addr(foo) + n * 2
causes A to contain the address of FOO(N). It does this by finding
the address of FOO(0), then adding two to that address for each
element named in N. Thus, if N = 2, A will hold the address of
FOO(2).
See the discussion below on the INTERRUPT statement for a detailed
example of using the ADDR function.
SBasic supports a limited PRINT statement. SBasic's PRINT statement
sends characters to a default output device, based on the target
system. For the 68hc11, this is the Serial Communications Interface,
or SCI. For the 68hc12, this is the first of the asynchronous serial
ports, equivalent to the SCI.
SBasic supports the following variations of the PRINT statement:
print "a constant string followed by a CR"
print "a string followed by a space";
print "a string followed by a TAB character",
print ' prints a blank line
print foo ' prints the value of foo
print "FOO ="; foo ' prints a string, then a value
print a; b; c ' prints three values
Additionally, SBasic supports two statements similar to PRINT that
print values in slightly different formats. The PRINTU statement
prints any values in unsigned format and the PRINTX statement prints
any values in hexadecimal characters. The PRINTU and PRINTX
statements behave exactly the same as the PRINT statement with regard
to spacing, tabs, and quoted strings.
For example:
print "-1 = "; -1 ' prints -1 = -1
printu "-1 = "; -1 ' prints -1 = 65535
printx "-1 = "; -1 ' prints -1 = FFFF
SBasic also supports the C language's escape character for embedding
special characters within a PRINT string. You can embed any of the
following special characters inside a PRINT string: