AUSAM/source/mac/macdoc/app




				app1-1



	Appendix 1 : Motorola 6800 r-file description.


header
pc	pre
byte	8
word	1
dc	a	a:16
dc	b	a:8
defmt		a:8
ii	0x00
mac	"MOTOROLA 6800"
%
literals
a
b
x
%
args
expr(x)		{ 0b0011 0 2 1
#expr		{ 0b0011 0 4 2
expr		{ 0b0010 0 3 0
a,expr(x)	{ 0b0010 0 6 0
b,expr(x)	{ 0b0010 0 9 0
a,#expr		{ 0b0010 0 5 0
b,#expr		{ 0b0010 0 8 0
a,expr		{ 0b0011 0 7 2
b,expr		{ 0b0011 0 10 2
a		{ 0b0011 0 0 0
b		{ 0b0011 0 1 0
""

%
formats
0	o:8
1	o:8a:8
1	o:8a:16
1	o:8pa:8
%
opcodes
class 11
nop	0	0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
tap	0	0x06 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
tpa	0	0x07 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
inx	0	0x08 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
dex	0	0x09 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
clv	0	0x0a 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
sev	0	0x0b 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
clc	0	0x0c 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
sec	0	0x0d 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
cli	0	0x0e 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
sei	0	0x0f 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
sba	0	0x10 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
cba	0	0x11 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
tab	0	0x16 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
tba	0	0x17 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
daa	0	0x19 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
aba	0	0x1b 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
bra	3	0x00 0x00 0x00 0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x00
bhi	3	0x00 0x00 0x00 0x22 0x00 0x00 0x00 0x00 0x00 0x00 0x00







				app1-2


bls	3	0x00 0x00 0x00 0x23 0x00 0x00 0x00 0x00 0x00 0x00 0x00
bcc	3	0x00 0x00 0x00 0x24 0x00 0x00 0x00 0x00 0x00 0x00 0x00
bcs	3	0x00 0x00 0x00 0x25 0x00 0x00 0x00 0x00 0x00 0x00 0x00
bne	3	0x00 0x00 0x00 0x26 0x00 0x00 0x00 0x00 0x00 0x00 0x00
beq	3	0x00 0x00 0x00 0x27 0x00 0x00 0x00 0x00 0x00 0x00 0x00
bvc	3	0x00 0x00 0x00 0x28 0x00 0x00 0x00 0x00 0x00 0x00 0x00
bvs	3	0x00 0x00 0x00 0x29 0x00 0x00 0x00 0x00 0x00 0x00 0x00
bpl	3	0x00 0x00 0x00 0x2a 0x00 0x00 0x00 0x00 0x00 0x00 0x00
bmi	3	0x00 0x00 0x00 0x2b 0x00 0x00 0x00 0x00 0x00 0x00 0x00
bge	3	0x00 0x00 0x00 0x2c 0x00 0x00 0x00 0x00 0x00 0x00 0x00
blt	3	0x00 0x00 0x00 0x2d 0x00 0x00 0x00 0x00 0x00 0x00 0x00
bgt	3	0x00 0x00 0x00 0x2e 0x00 0x00 0x00 0x00 0x00 0x00 0x00
ble	3	0x00 0x00 0x00 0x2f 0x00 0x00 0x00 0x00 0x00 0x00 0x00
tsx	0	0x30 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
ins	0	0x31 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
pul	0	0x32 0x33 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
des	0	0x34 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
txs	0	0x35 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
psh	0	0x36 0x37 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
rts	0	0x39 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
rti	0	0x3b 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
wai	0	0x3e 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
swi	0	0x3f 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
neg	2	0x40 0x50 0x60 0x70 0x00 0x00 0x00 0x00 0x00 0x00 0x00
com	2	0x43 0x53 0x63 0x73 0x00 0x00 0x00 0x00 0x00 0x00 0x00
lsr	2	0x44 0x54 0x64 0x74 0x00 0x00 0x00 0x00 0x00 0x00 0x00
ror	2	0x46 0x56 0x66 0x76 0x00 0x00 0x00 0x00 0x00 0x00 0x00
asr	2	0x47 0x57 0x67 0x77 0x00 0x00 0x00 0x00 0x00 0x00 0x00
asl	2	0x48 0x58 0x68 0x78 0x00 0x00 0x00 0x00 0x00 0x00 0x00
rol	2	0x49 0x59 0x69 0x79 0x00 0x00 0x00 0x00 0x00 0x00 0x00
dec	2	0x4a 0x5a 0x6a 0x7a 0x00 0x00 0x00 0x00 0x00 0x00 0x00
inc	2	0x4c 0x5c 0x6c 0x7c 0x00 0x00 0x00 0x00 0x00 0x00 0x00
tst	2	0x4d 0x5d 0x6d 0x7d 0x00 0x00 0x00 0x00 0x00 0x00 0x00
jmp	2	0x00 0x00 0x6e 0x7e 0x00 0x00 0x00 0x00 0x00 0x00 0x00
clr	2	0x4f 0x5f 0x6f 0x7f 0x00 0x00 0x00 0x00 0x00 0x00 0x00
sub	1	0x00 0x00 0x00 0x00 0x00 0x80 0xa0 0xb0 0xc0 0xe0 0xf0
cmp	1	0x00 0x00 0x00 0x00 0x00 0x81 0xa1 0xb1 0xc1 0xe1 0xf1
sbc	1	0x00 0x00 0x00 0x00 0x00 0x82 0xa2 0xb2 0xc2 0xe2 0xf2
and	1	0x00 0x00 0x00 0x00 0x00 0x84 0xa4 0xb4 0xc4 0xe4 0xf4
bit	1	0x00 0x00 0x00 0x00 0x00 0x85 0xa5 0xb5 0xc5 0xe5 0xf5
lda	1	0x00 0x00 0x00 0x00 0x00 0x86 0xa6 0xb6 0xc6 0xe6 0xf6
sta	1	0x00 0x00 0x00 0x00 0x00 0x00 0xa7 0xb7 0x00 0xe7 0xf7
eor	1	0x00 0x00 0x00 0x00 0x00 0x88 0xa8 0xb8 0xc8 0xe8 0xf8
adc	1	0x00 0x00 0x00 0x00 0x00 0x89 0xa9 0xb9 0xc9 0xe9 0xf9
ora	1	0x00 0x00 0x00 0x00 0x00 0x8a 0xaa 0xba 0xca 0xea 0xfa
add	1	0x00 0x00 0x00 0x00 0x00 0x8b 0xab 0xbb 0xcb 0xeb 0xfb
cpx	2	0x00 0x00 0xac 0xbc 0x8c 0x00 0x00 0x00 0x00 0x00 0x00
bsr	3	0x00 0x00 0x00 0x8d 0x00 0x00 0x00 0x00 0x00 0x00 0x00
jsr	2	0x00 0x00 0xad 0xbd 0x00 0x00 0x00 0x00 0x00 0x00 0x00
lds	2	0x00 0x00 0xae 0xbe 0x8e 0x00 0x00 0x00 0x00 0x00 0x00
ldx	2	0x00 0x00 0xee 0xfe 0xce 0x00 0x00 0x00 0x00 0x00 0x00
sts	2	0x00 0x00 0xaf 0xbf 0x00 0x00 0x00 0x00 0x00 0x00 0x00
stx	2	0x00 0x00 0xef 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x00
%
end















				app2-1



	Appendix 2 : 6502 r-file description.


header
pc	pre
byte	8
word	2
dc	w	r8a:16
defmt		a:8
ii	0xff
mac	"6502"
%
literals
a
x
y
%
formats
0	o:8
1	o:8a:8
1	o:8r8a:16
1	o:8pa:8
%
args

" "
# expr				{ 0b0011	0	1	1
$ expr				{ 0b0011	0	2	1
$ expr , x			{ 0b0011	0	3	1
$ expr , y			{ 0b0011	0	4	1
expr				{ 0b0010	0	5	0
expr , x			{ 0b0010	0	6	0
expr , y			{ 0b0010	0	7	0
( $ expr , x )			{ 0b0011	0	8	1
( $ expr ) , y			{ 0b0011	0	9	1
a				{ 0b0011	0	10	0
( expr )			{ 0b0010	0	11	0
%
opcodes
class	12
adc  2  0xff 0x69 0x65 0x75 0xff 0x6d 0x7d 0x79 0x61 0x71 0xff 0xff
and  2  0xff 0x29 0x25 0x35 0xff 0x2d 0x3d 0x39 0x21 0x31 0xff 0xff
asl  2  0xff 0xff 0x06 0x16 0xff 0x0e 0x1e 0xff 0xff 0xff 0x0a 0xff
bcc  3  0xff 0xff 0xff 0xff 0xff 0x90 0xff 0xff 0xff 0xff 0xff 0xff
bcs  3  0xff 0xff 0xff 0xff 0xff 0xb0 0xff 0xff 0xff 0xff 0xff 0xff
beq  3  0xff 0xff 0xff 0xff 0xff 0xf0 0xff 0xff 0xff 0xff 0xff 0xff
bit  2  0xff 0xff 0x24 0xff 0xff 0x2c 0xff 0xff 0xff 0xff 0xff 0xff
bmi  3  0xff 0xff 0xff 0xff 0xff 0x30 0xff 0xff 0xff 0xff 0xff 0xff
bne  3  0xff 0xff 0xff 0xff 0xff 0xd0 0xff 0xff 0xff 0xff 0xff 0xff
bpl  3  0xff 0xff 0xff 0xff 0xff 0x10 0xff 0xff 0xff 0xff 0xff 0xff
brk  0  0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
bvc  3  0xff 0xff 0xff 0xff 0xff 0x50 0xff 0xff 0xff 0xff 0xff 0xff
bvs  3  0xff 0xff 0xff 0xff 0xff 0x70 0xff 0xff 0xff 0xff 0xff 0xff
clc  0  0x18 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cld  0  0xd8 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cli  0  0x58 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
clv  0  0xb8 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmp  2  0xff 0xc9 0xc5 0xd5 0xff 0xcd 0xdd 0xd9 0xc1 0xd1 0xff 0xff
cpx  2  0xff 0xe0 0xe4 0xff 0xff 0xec 0xff 0xff 0xff 0xff 0xff 0xff
cpy  2  0xff 0xc0 0xc4 0xff 0xff 0xcc 0xff 0xff 0xff 0xff 0xff 0xff







				app2-2


dec  2  0xff 0xff 0xc6 0xd6 0xff 0xce 0xde 0xff 0xff 0xff 0xff 0xff
dex  0  0xca 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
dey  0  0x88 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
eor  2  0xff 0x49 0x45 0x55 0xff 0x4d 0x5d 0x59 0x41 0x51 0xff 0xff
inc  2  0xff 0xff 0xe6 0xf6 0xff 0xee 0xfe 0xff 0xff 0xff 0xff 0xff
inx  0  0xe8 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
iny  0  0xc8 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
jmp  2  0xff 0xff 0xff 0xff 0xff 0x4c 0xff 0xff 0xff 0xff 0xff 0x6c
jsr  2  0xff 0xff 0xff 0xff 0xff 0x20 0xff 0xff 0xff 0xff 0xff 0xff
lda  2  0xff 0xa9 0xa5 0xb5 0xff 0xad 0xbd 0xb9 0xa1 0xb1 0xff 0xff
ldx  2  0xff 0xa2 0xa6 0xb6 0xff 0xae 0xbe 0xff 0xff 0xff 0xff 0xff
ldy  2  0xff 0xa0 0xa4 0xb4 0xff 0xac 0xbc 0xff 0xff 0xff 0xff 0xff
lsr  2  0xff 0xff 0x46 0x56 0xff 0x4e 0x5e 0xff 0xff 0xff 0x4a 0xff
nop  0  0xea 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
ora  2  0xff 0x09 0x05 0x15 0xff 0x0d 0x1d 0x19 0x01 0x11 0xff 0xff
pha  0  0x48 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
php  0  0x08 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
pla  0  0x68 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
plp  0  0x28 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
rol  2  0xff 0xff 0x26 0x36 0xff 0x2e 0x3e 0xff 0xff 0xff 0x2a 0xff
ror  2  0xff 0xff 0x66 0x76 0xff 0x6e 0x7e 0xff 0xff 0xff 0x6a 0xff
rti  0  0x40 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
rts  0  0x60 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
sbc  2  0xff 0xe9 0xe5 0xf5 0xff 0xed 0xfd 0xf9 0xe1 0xf1 0xff 0xff
sec  0  0x38 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
sed  0  0xf8 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
sei  0  0x78 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
sta  2  0xff 0xff 0x85 0x95 0xff 0x8d 0x9d 0x99 0x81 0x91 0xff 0xff
stx  2  0xff 0xff 0x86 0xff 0x96 0x8e 0xff 0xff 0xff 0xff 0xff 0xff
sty  2  0xff 0xff 0x84 0x94 0xff 0x8c 0xff 0xff 0xff 0xff 0xff 0xff
tax  0  0xaa 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
tay  0  0xa8 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
tya  0  0x98 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
tsx  0  0xba 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
txa  0  0x8a 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
txs  0  0x9a 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
%
end
































				app3-1



	Appendix 3 : sample motorola 6800 program


		title	"Counting program"
;
;	Program increments memory location 'count'
;	and displays its contents in hex.
;
outbyt		equ	0xfe20
redis		equ	0xfcbc

start
		lda	a,count			; value
		add	a,#1			; incr
		sta	a,count			; remember it
		jsr	redis			; reset disp address
		jsr	outbyt			; write it
		jsr	hold			; wait on displ
		bra	start			; loop again


hold
		ldx	#0x6000			; wait time

wait
		dex
		bne	wait			; time out ??
		rts


count		dcb	0			; initial number
		end