view doc/pseudoops.txt @ 125:f9bfc2986023

Actually allow script file to be specified and fix segfault on parsing script file
author lost
date Fri, 23 Jan 2009 04:53:01 +0000
parents f643e2ff0008
children
line wrap: on
line source

The following pseudo operations are understood by LWASM.

SECTION <name>

This introduces a section called <name>. This is only valid if assembling to
an object file. Only one section can be open at any given time. Sections
may be ended with ENDSECTION. Only one section can be open at any given
time. A subsequent SECTION directive will end the previous section. It is
important to note that an end of file does not close the currently open
section. There cannot be a symbol on a SECTION line.

ENDSECTION

Specifies the end of a section. This is optional. There cannot be a symbol
on an ENDSECTION line.

ORG <addr>

Specifies the assembly address. For the raw target, this is advisory and
only affects the addresses of symbols. For the object file target, this can
only appear outside of all sections. For the DECB target, each ORG statement
after which any output is generated will generate a segment in the output
file. <addr> must be completely resolved during pass 1 of the assembly
process and thus may not refer to forward references or external symbols, or
other symbols that refer to such.

<symbol> EQU <value>

Makes <symbol> equivalent to <value>. <value> may be an external reference
in which case any references to <symbol> will also be external references.

EXPORT <symbol>[ as <name>]

Marks previously defined <symbol> for export. If <name> is specified, it
will be exported as <name>. <symbol> must not be an external reference and
must be defined before EXPORT.

EXTERN <symbol>[ as <name>]
IMPORT <symbol>[ as <name>]

Marks <symbol> as an external reference. If <name> is specified, <name> is
the local name the symbol is references as in this assembly file while
<symbol> is the actual symbol to be referenced externally.

END [<addr>]

Marks the end of the assembly process. Immediately terminates assembly
without processing any other lines in this file or any others. It is
optional. <addr> is only allowed for the DECB target in which case it
specifies the execution address. If it is not specified, the address
defaults to 0.