55 lines
1.3 KiB
Groff
55 lines
1.3 KiB
Groff
|
.\" $Header$
|
||
|
.TH 6800_AS 6ACK
|
||
|
.ad
|
||
|
.SH NAME
|
||
|
6800_as \- assembler for Motorola 6800
|
||
|
.SH SYNOPSIS
|
||
|
~em/lib/6800/as [options] argument ...
|
||
|
.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
|