The LWTOOLS assembler is called LWASM. This chapter documents the various features of the assembler. It is not, however, a tutorial on 6x09 assembly language programming.
The binary for LWASM is called "lwasm". Note that the binary is in lower case. lwasm takes the following command line arguments.
--6309
, -3
This will cause the assembler to accept the additional instructions available on the 6309 processor. This is the default mode; this option is provided for completeness and to override preset command arguments.
--6809
, -9
This will cause the assembler to reject instructions that are only available on the 6309 processor.
--decb
, -b
Select the DECB output format target. Equivalent to --format=decb
.
While this is the default output format currently, it is not safe to rely on that fact. Future versions may have different defaults. It is also trivial to modify the source code to change the default. Thus, it is recommended to specify this option if you need DECB output.
--format=type
, -f type
Select the output format. Valid values are obj
for the
object file target, decb
for the DECB LOADM format,
os9
for creating OS9 modules, raw
for
a raw binary, hex
for ASCII hexadecminal format,
srec
for Motorola S-Record format, and ihex
for Intel Hex format.
--list[=file]
, -l[file]
Cause LWASM to generate a listing. If file
is specified,
the listing will go to that file. Otherwise it will go to the standard output
stream. By default, no listing is generated. Unless --symbols
is specified, the list will not include the symbol table.
--symbols
, -s
Causes LWASM to generate a list of symbols when generating a listing. It has no effect unless a listing is being generated.
--obj
Select the proprietary object file format as the output target.
--output=FILE
, -o FILE
This option specifies the name of the output file. If not specified, the
default is a.out
.
--pragma=pragma
, -p pragma
Specify assembler pragmas. Multiple pragmas are separated by commas. The pragmas accepted are the same as for the PRAGMA assembler directive described below.
--raw
, -r
Select raw binary as the output target.
--includedir=path
, -I path
Add path
to the end of the include path.
--define=SYM[=VAL]
, -D SYM[=VAL]
Pre-defines the symbol SYM as either the specified VAL. If VAL is omitted, the symbol is defined as 1. The symbol will be defined as though it were defined using the SET directive in the assembly source. That means it can be overridden by a SET directive within the source code. Attempting to redefine SYM using EQU will result in a multiply defined symbol error.
--help
, -?
Present a help screen describing the command line options.
--usage
Provide a summary of the command line options.
--version
, -V
Display the software version.
--debug
, -d
Increase the debugging level. Only really useful to people hacking on the LWASM source code itself.