User guide

Assembler commands
6502asm commands are all three letters long (except EQUx which is handled specially).
They look like processor instructions. This is intentional.
BOT <address> [FORCE]
This specifies the lower address of the assembly. If no address is specified, &0000 is assumed...
...unless the ROM command has been previously specified, in which case &E000 will be assumed.
Once BOT has been set, you cannot reBOT to a higher address unless you include the FORCE
option.
The FORCE option is primarily for use with ROM code where you want to denote a specific
address (i.e. &E000) as being the ‘bottom’ of memory and the start address of the output file ...
but you also wish to define labels in memory, such as in page zero.
You could use code such as:
ROM
ORG &0000
<define some labels here>
ORG &A000
<define some hardware-related labels here>
BOT &E000 FORCE
<ROM code goes here>
CNT "<file>"
The “continue” command will switch to processing the contents of the named file. You could use
this to ‘chain’ multiple sources to create one assembled file.
CPU [NMOS|CMOS]
This permits you to specify which processor you are assembling for.
Undefined – all instructions and addressing modes are valid (default behaviour)
NMOS – warnings will be given if CMOS instructions or addressing modes are
encountered (but the instructions will be assembled)
CMOS – all instructions and addressing modes are valid
DCB <byte> also EQUB <value>
Include a byte value in the output.
DCS "<string>" also EQUS "<string>"
Include a string in the output. Several ‘codes’ may be embedded within the string, these are
described later on.
6502asm user guide – prerelease version
page 7