Builder: The basic idea
A typical SPLat program will contain a number of different sections or segments:
- A header comment at the top that describes what the program is all about.
- A section containing various program constants, such as time limits, maximum allowable temperature, etc.
- A section containing input and output assignments using
iEQUandoEQUdirectives.. - Any
mEQUtype absolute memory allocations (which must be before anydefBYTE,defFLOATetc.). - Program initialization code, for example a string of
LaunchTaskinstructions followed by a singleRunTasksForever. - The main body of the program. If you are a structured programmer this will consist of a number of function blocks, each handling its own well-defined area of the overall functionality (for example
PumpDrive,Menu,HeaterControl). - A final section containing NVEM page 0 tables and/or data after a
NVEM0directive.
Now, the thing about all these sections (in Builder-speak we call them segments) is that they need to appear more or less in the order listed above. Certainly, mEQU must come before any defXXX, and NVEM0 must come at the end, after all executable code. The following diagram summarizes what Builder will do for you:

In brief, Builder allows you to work with several source files in your project. Within each source file you have named segments. Builder will take all your individual files, break them up into segments, sort them in segment order and emit a combined file where like-named segments are grouped together.
