ack/man/6800_as.6

55 lines
1.3 KiB
Groff
Raw Normal View History

1987-03-02 11:28:52 +00:00
.\" $Header$
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