Pristine Ack-5.5
[Ack-5.5.git] / man / 6800_as.6
1 .\" $Id: 6800_as.6,v 1.3 1994/06/24 14:01:36 ceriel Exp $
2 .TH 6800_AS 6 "$Revision: 1.3 $"
3 .ad
4 .SH NAME
5 6800_as \- assembler for Motorola 6800
6 .SH SYNOPSIS
7 ~em/lib.bin/6800/as [options] argument ...
8 .SH DESCRIPTION
9 This assembler is made with the general framework
10 described in \fIuni_ass\fP(6). It is an assembler generating relocatable
11 object code in \fIAck.out\fP(5) format.
12 .SH SYNTAX
13 .IP registers
14 The 6800 has two accumulator registers, A and B. An instruction that refers
15 to accumulator A, has an "a" as last character. In the same way a "b" means
16 that the instruction uses B as accumulator.
17 .IP "addressing modes"
18 .nf
19 .ta 8n 16n 24n 32n 40n 48n
20 syntax          meaning (name)
21
22 #expr           with cpx, ldx, lds a 2-byte value,
23                 otherwise a 1-byte value (immediate)
24
25 <expr           1-byte address.  Not allowed with:
26                 asl, asr, clr, com, dec, inc, lsl, lsr,
27                 neg, rol, ror, tst (base page direct)
28
29 expr            2-byte address (extended direct)
30
31 expr, x         1-byte expr + contents of x
32                 yields address (indexed)
33 .fi
34 .SH "SEE ALSO"
35 uni_ass(6),
36 ack(1),
37 ack.out(5)
38 .br
39 A. Osborne, 6800 programming for logic design,
40 Adam Osborne and Associates Inc., 1977
41 .SH EXAMPLE
42 An example of Motorola 6800 assembly code.
43 .sp 2
44 .nf
45 .ta 8n 16n 32n 40n 48n 56n 64n
46         .sect .text; .sect .data
47         val:    0
48         .sect .text
49                 ldx     <val
50                 com     val, x
51                 bhs     someplace       ! branch on carry clear
52                 sta     <val
53                 adda    #18             ! add 18 to accumulator A
54 .fi