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