1994-06-24 14:02:31 +00:00
|
|
|
.\" $Id$
|
1991-10-01 12:18:39 +00:00
|
|
|
.TH 6800_AS 6 "$Revision$"
|
1987-03-02 11:28:52 +00:00
|
|
|
.ad
|
|
|
|
.SH NAME
|
|
|
|
6800_as \- assembler for Motorola 6800
|
|
|
|
.SH SYNOPSIS
|
1991-10-01 12:18:39 +00:00
|
|
|
~em/lib.bin/6800/as [options] argument ...
|
1987-03-02 11:28:52 +00:00
|
|
|
.SH DESCRIPTION
|
|
|
|
This assembler is made with the general framework
|
|
|
|
described in \fIuni_ass\fP(6). It is an assembler generating relocatable
|
|
|
|
object code in \fIAck.out\fP(5) format.
|
|
|
|
.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 8n 16n 24n 32n 40n 48n
|
|
|
|
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),
|
|
|
|
ack.out(5)
|
|
|
|
.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 8n 16n 32n 40n 48n 56n 64n
|
|
|
|
.sect .text; .sect .data
|
|
|
|
val: 0
|
|
|
|
.sect .text
|
|
|
|
ldx <val
|
|
|
|
com val, x
|
|
|
|
bhs someplace ! branch on carry clear
|
|
|
|
sta <val
|
|
|
|
adda #18 ! add 18 to accumulator A
|
|
|
|
.fi
|