This assembler is a local implementation of the Motorola M6800 cross assembler, documented in the 'M6800 Microprocessor Programming Manual'. Wherever possible it is upward compatible with the Motorola assembler and like it, contains no macro facilites.
1) Only one program may be assembled in a single input stream. As a
result the MON and END directives are synonymous and optional.
2) Only object tapes are produced by the assembler. As a result the
OPT directive options MEMORY and OTAPE and their variants are
illegal.
3) Error messages are of a different and fixed form and hence the
OPT directive options SERROR and SER are synonymous with ERROR.
1) The mnemonics LSL, BHS and BLO are provided and are synonymous
with ASL, BCC and BCS respectively.
2) The delimited form of the FCC directive accepts the doubled
delimiter as a single instance of the delimiter in the generated
text.
e.g. FCC /A//B/
is the same as FCC 'A/B'
3) The OPT directive has the following additional options:
Long form Short form
BLANK B Ignores redundant spaces in operand
field. e.g. around ',' and '+'.
NOBLANK NOB No spaces allowed in operand field
(selected by default).
CYCLE C Print execution time in machine cycles
for each executable statement.
NOCYCLE NOC No execution times printed (selected by
default).
FULL F Allows fully parenthesised arithmetic
expressions as operands (see (4) below).
NOFULL NOF Only unparenthesised expressions
evaluated strictly from left to right are
allowed as operands (selected by
default).
WRAP W Long input lines are wrapped around on to
next line of listing.
NOWRAP NOW Long input lines are truncated in listing
(selected by default).
XREF X Symbol cross reference is listed at end
of listing.
NOXREF NOX No cross reference table is printed
(selected by default).
4) By specifying OPT FULL, fully parenthesised arithmetic
expressions evaluated in the usual algebraic order are acceptable
as operands. The valid binary operators are (in increasing order
of precedence):
! (or), (exclusive or)
& (and)
+, -
*, /, | (remainder)
< (left shift), > (right shift)
The unary operators + (ignored), - and (complement) are
accepted and take precedence over all binary operators.
5) Apart from catastrophic failures, error messages are generated in
the final pass only and always immediately follow the line to
which they apply.
6) This is a multi-pass assembler in which there are no constraints
on the order of definition of symbols and which attempts to
optimise the use of direct addressing.
assem.M6800 <source>/<object>,<listing>
eprom.m6800 <source>/<object>,<listing>
No default file names are provided. The ASSEM version generates
object code in Motorola M6800 loader format. The EPROM version
produces a binary file suitable for the SOFTY EPROM programmer
and M6802 personality cards.
M6800
The user is promted for i/o streams. The object code is in
Motorola M6800 loader format.
assem:m6800.doc printed on 14/03/89 at 17.12