56 lines
1.3 KiB
Groff
56 lines
1.3 KiB
Groff
|
\" $Header$
|
||
|
.TH 6800_AS 1
|
||
|
.ad
|
||
|
.SH NAME
|
||
|
6800_as \- assembler for Motorola 6800
|
||
|
.SH SYNOPSIS
|
||
|
/usr/em/lib/6800_as [options] argument ...
|
||
|
.SH DESCRIPTION
|
||
|
This assembler is made with the general framework
|
||
|
described in \fIuni_ass\fP(6).
|
||
|
.SH SYNTAX
|
||
|
.IP registers
|
||
|
The 6800 has two accumulator registers, A and B. An instruction that refers
|
||
|
to accumulator A, has an "a" as last character. In the same way a "b" means
|
||
|
that the instruction uses B as accumulator.
|
||
|
.IP "addressing modes"
|
||
|
.nf
|
||
|
.ta 8 16 24 32 40 48
|
||
|
syntax meaning (name)
|
||
|
|
||
|
#expr with cpx, ldx, lds a 2-byte value,
|
||
|
otherwise a 1-byte value (immediate)
|
||
|
|
||
|
<expr 1-byte address. Not allowed with:
|
||
|
asl, asr, clr, com, dec, inc, lsl, lsr,
|
||
|
neg, rol, ror, tst (base page direct)
|
||
|
|
||
|
expr 2-byte address (extended direct)
|
||
|
|
||
|
expr, x 1-byte expr + contents of x
|
||
|
yields address (indexed)
|
||
|
.fi
|
||
|
.SH "SEE ALSO"
|
||
|
uni_ass(6),
|
||
|
ack(1),
|
||
|
.br
|
||
|
A. Osborne, 6800 programming for logic design,
|
||
|
Adam Osborne and Associates Inc., 1977
|
||
|
.SH EXAMPLE
|
||
|
An example of Motorola 6800 assembly code.
|
||
|
.sp 2
|
||
|
.nf
|
||
|
.ta 8 16 32 40 48 56 64
|
||
|
.data
|
||
|
val: 0
|
||
|
.text
|
||
|
ldx <val
|
||
|
com val, x
|
||
|
bhs someplace ! branch on carry clear
|
||
|
sta <val
|
||
|
adda #18 ! add 18 to accumulator A
|
||
|
.fi
|
||
|
.SH BUGS
|
||
|
You have to specify whether an address fits in one byte
|
||
|
with the token `<'. It should be done automatically.
|