Page 10 of 62
SBasic User's Manual SBasic Version 2.7 Page 10
Printed: December 5, 1999
Library files
SB normally compiles all operations into in-line assembly language
source for the target machine. In some cases, however, a function may
translate into so many lines of source code that inserting the code
in-line each time the function is used would yield an unacceptably
large output file.
In these cases, SB automatically appends one or more files of assembly
language source code to the output file. These files, called library
files, contain pre-written source code for performing the
corresponding operation.
For example, most versions of the 68hc11 require several lines of
assembly language code to perform a 16-bit by 16-bit multiplication.
Rather than insert this large section of assembler source every time
your program uses the * operator, SBasic instead compiles a JSR to a
library assembly language subroutine.
At the end of your output file, SBasic then includes the library file
containing the source code for this multiplication subroutine.
SBasic only includes library files when necessary, based on your
source code.
One library file deserves special mention. SB always includes the
library file START11.LIB (START12.LIB for the 68hc12 MCU) during each
compilation. The assembly language source in this file will be
executed each time the target machine begins running your SBasic
program. In fact, the code in this file is executed immediately
following system reset.
If your SBasic application requires changes to the time-sensitive I/O
registers in the 68hc11, you can customize START11.LIB to include
those changes.
Note, however, that you should not change any of the labels provided
in the original versions of START11.LIB and START12.LIB. Other parts
of the SBasic system require that those labels exist, and that they be
named exactly as they are.