The One Page Assembler is an assembler that is only 256 bytes in size. Despite its size, the source code it assembles (as you can see from the various utilities here) is surprisingly readable.
The characters used are:
As with the "hex" file format, comments can be nested.
While these characters are very similar to the characters in the "hex" file formats, there are some differences. First, < and > do not look up the "local" label value (this is so they can also be used with "global" labels); use the sequences =< and => for that. Second, the number is never reset to 0, so use leading zeros for a 2 (for an 8-bit value) or 4 (for a 16-bit value) character hex number.
Initialize both the low and high bytes to LABELS with the address where the local labels will be stored. As before, use only even "local" labels. Initialize SYMBUF with the address of a (up to 256 byte) buffer for "global" label names (used by the apostrophe to hold the "global" label name to look up). SYMTBL is where the symbol table (i.e. the "global" label names and their values) is stored. You must reassemble the assembler (it can assemble itself) to change the location where the symbol table is stored (or you can patch it, since it's only used in one place, but the point is it's not a parameter that's passed to the assembler). Up to 255 "global" labels can be defined.
[ 10 @ 'BPL' ] [ 20 @ 'JSR' ] [ 30 @ 'BMI' ] [ 60 @ 'RTS' ] [ 90 @ 'BCC' ] [ A0 @ 'LDY #' ] [ B0 @ 'BCS' ] [ D0 @ 'BNE' ] [ F0 @ 'BEQ' ] [ 51 @ 'EOR ),Y' ] [ 81 @ 'STA ,X)' ] [ 91 @ 'STA ),Y' ] [ B1 @ 'LDA ),Y' ] [ A2 @ 'LDX #' ] [ 84 @ 'STY' ] [ A4 @ 'LDY' ] [ 05 @ 'ORA' ] [ 65 @ 'ADC' ] [ 85 @ 'STA' ] [ A5 @ 'LDA' ] [ E5 @ 'SBC' ] [ 06 @ 'ASL' ] [ 26 @ 'ROL' ] [ A6 @ 'LDX' ] [ E6 @ 'INC' ] [ 18 @ 'CLC' ] [ 38 @ 'SEC' ] [ 98 @ 'TYA' ] [ A8 @ 'TAY' ] [ C8 @ 'INY' ] [ D8 @ 'CLD' ] [ E8 @ 'INX' ] [ 09 @ 'ORA #' ] [ 29 @ 'AND #' ] [ 49 @ 'EOR #' ] [ 69 @ 'ADC #' ] [ A9 @ 'LDA #' ] [ C9 @ 'CMP #' ] [ 8A @ 'TXA' ] [ CA @ 'DEX' ] [ ] [ 0200 @ 'get' ] [ ] [ 0000 @ 'LABELS' ] [ 0002 @ 'SYMBUF' ] [ 0004 @ 'ADDRESS' ] [ 05 @ 'ADDRESS+1' ] [ 0006 @ 'NUMBER' ] [ 07 @ 'NUMBER+1' ] [ 0008 @ 'FWDREF' ] [ 0009 @ 'NSYMBOLS' ] [ 000A @ 'SYMPTR' ] [ 0B @ 'SYMPTR+1' ] [ ] [ 1200 @ 'SYMTBL' ] [ 12 @ 'SYMTBL/256' ] [ ] [ 0FFA @ ] [ ] (10,04, )[ 'BPL',00*, ] (30,02, )[ 'BMI',02*, ] (00,01, )[ (DW) 0100,, (RELDATA-PROGRAM) ] [ 00=>02=> ] [ (PROGRAM) ] (D8, )[ 'CLD', ] (A9,00, )[ 'LDA #',00, ] (85,09, )[ 'STA','NSYMBOLS', ] (20,1F,10, )[ 00* 'JSR',08*,, ] (A2,00, )[ 'LDX #',00, ] (8A, )[ 'TXA', ] (C9,29, )[ 02* 'CMP #',29, ] (F0,01, )[ 'BEQ',06*, ] (E8, )[ 04* 'INX', ] (20,00,02, )[ 06=> 'JSR','get',, ] (C9,28, )[ 'CMP #',28, ] (F0,F8, )[ 'BEQ',04=< ] (CA, )[ 'DEX', ] (D0,F1, )[ 'BNE',02=< ] (C9,5F, )[ 'CMP #',5F, ] (D0,E7, )[ 'BNE',00=< ] (60, )[ 'RTS', ] [ 'relocate' ] [ 08=;; ] (C9,3B, )[ 'CMP #',3B, ] (D0,0F, )[ 'BNE',02*, ] (A5,08, )[ 'LDA','FWDREF', ] (81,06, )[ 'STA ,X)','NUMBER', ] (E6,06, )[ 'INC','NUMBER', ] (D0,02, )[ 'BNE',00*, ] (E6,07, )[ 'INC','NUMBER+1', ] (A5,05, )[ 00=> 'LDA','ADDRESS+1', ] (85,08, )[ 'STA','FWDREF', ] (60, )[ 'RTS', ] [ 02=> ] (C9,3E, )[ 'CMP #',3E, ] (D0,08, )[ 'BNE',00*, ] (18, )[ 'CLC', ] (A5,04, )[ 'LDA','ADDRESS', ] (E5,06, )[ 'SBC','NUMBER', ] (81,06, )[ 'STA ,X)','NUMBER', ] (60, )[ 'RTS', ] [ 00=> ] (C9,27, )[ 'CMP #',27, ] (D0,59, )[ 'BNE',0E*, ] (A0,FF, )[ 'LDY #',FF, ] (20,00,02, )[ 00* 'JSR','get',, ] (C9,20, )[ 'CMP #',20, ] (90,F9, )[ 'BCC',00=< ] (C8, )[ 'INY', ] (49,27, )[ 'EOR #',27, ] (91,02, )[ 'STA ),Y','SYMBUF', ] (D0,F2, )[ 'BNE',00=< ] (A9,00, )[ 'LDA #','SYMTBL', ] (85,0A, )[ 'STA','SYMPTR', ] (A9,12, )[ 'LDA #','SYMTBL/256', ] (85,0B, )[ 'STA','SYMPTR+1', ] (A6,09, )[ 'LDX','NSYMBOLS', ] (F0,27, )[ 'BEQ',0A*, ] (A0,FF, )[ 02* 'LDY #',FF, ] (18, )[ 'CLC', ] (C8, )[ 04* 'INY', ] (B1,0A, )[ 'LDA ),Y','SYMPTR', ] (B0,06, )[ 'BCS',06*, ] (51,02, )[ 'EOR ),Y','SYMBUF', ] (C9,01, )[ 'CMP #',01, ] (B1,0A, )[ 'LDA ),Y','SYMPTR', ] (D0,F3, )[ 06=> 'BNE',04=< ] (C8, )[ 'INY', ] (B1,0A, )[ 'LDA ),Y','SYMPTR', ] (85,06, )[ 'STA','NUMBER', ] (C8, )[ 'INY', ] (B1,0A, )[ 'LDA ),Y','SYMPTR', ] (90,30, )[ 'BCC',10*, ] (38, )[ 'SEC', ] (98, )[ 'TYA', ] (65,0A, )[ 'ADC','SYMPTR', ] (85,0A, )[ 'STA','SYMPTR', ] (90,02, )[ 'BCC',08*, ] (E6,0B, )[ 'INC','SYMPTR+1', ] (CA, )[ 08=> 'DEX', ] (D0,D9, )[ 'BNE',02=< ] (A0,FF, )[ 0A=> 'LDY #',FF, ] (C8, )[ 0C* 'INY', ] (B1,02, )[ 'LDA ),Y','SYMBUF', ] (91,0A, )[ 'STA ),Y','SYMPTR', ] (D0,F9, )[ 'BNE',0C=< ] (E6,09, )[ 'INC','NSYMBOLS', ] (C8, )[ 'INY', ] (A5,04, )[ 'LDA','ADDRESS', ] (91,0A, )[ 'STA ),Y','SYMPTR', ] (C8, )[ 'INY', ] (A5,05, )[ 'LDA','ADDRESS+1', ] (91,0A, )[ 'STA ),Y','SYMPTR', ] (60, )[ 'RTS', ] [ 0E=> ] (A4,06, )[ 'LDY','NUMBER', ] (C9,3D, )[ 'CMP #',3D, ] (D0,0E, )[ 'BNE',12*, ] (B1,00, )[ 'LDA ),Y','LABELS', ] (85,06, )[ 'STA','NUMBER', ] (C8, )[ 'INY', ] (B1,00, )[ 'LDA ),Y','LABELS', ] (85,07, )[ 10=> 'STA','NUMBER+1', ] (A5,04, )[ 'LDA','ADDRESS', ] (85,08, )[ 'STA','FWDREF', ] (60, )[ 'RTS', ] [ 12=> ] (C9,2A, )[ 'CMP #',2A, ] (D0,0A, )[ 'BNE',00*, ] (A5,04, )[ 'LDA','ADDRESS', ] (91,00, )[ 'STA ),Y','LABELS', ] (C8, )[ 'INY', ] (A5,05, )[ 'LDA','ADDRESS+1', ] (91,00, )[ 'STA ),Y','LABELS', ] (60, )[ 'RTS', ] [ 00=> ] (C9,2C, )[ 'CMP #',2C, ] (F0,09, )[ 'BEQ',00*, ] (C9,3C, )[ 'CMP #',3C, ] (D0,13, )[ 'BNE',04*, ] (18, )[ 'CLC', ] (98, )[ 'TYA', ] (E5,04, )[ 'SBC','ADDRESS', ] (A8, )[ 'TAY', ] (98, )[ 00=> 'TYA', ] (81,04, )[ 'STA ,X)','ADDRESS', ] (A5,07, )[ 'LDA','NUMBER+1', ] (85,06, )[ 'STA','NUMBER', ] (E6,04, )[ 'INC','ADDRESS', ] (D0,02, )[ 'BNE',02*, ] (E6,05, )[ 'INC','ADDRESS+1', ] (60, )[ 02=> 'RTS', ] [ 04=> ] (C9,40, )[ 'CMP #',40, ] (D0,06, )[ 'BNE',00*, ] (84,04, )[ 'STY','ADDRESS', ] (A4,07, )[ 'LDY','NUMBER+1', ] (84,05, )[ 'STY','ADDRESS+1', ] [ 00=> ] (49,30, )[ 'EOR #',30, ] (C9,0A, )[ 'CMP #',0A, ] (90,0A, )[ 'BCC',00*, ] (09,20, )[ 'ORA #',20, ] (69,88, )[ 'ADC #',88, ] (C9,FA, )[ 'CMP #',FA, ] (90,0F, )[ 'BCC',04*, ] (29,0F, )[ 'AND #',0F, ] (A2,04, )[ 00=> 'LDX #',04, ] (06,06, )[ 02* 'ASL','NUMBER', ] (26,07, )[ 'ROL','NUMBER+1', ] (CA, )[ 'DEX', ] (D0,F9, )[ 'BNE',02=< ] (05,06, )[ 'ORA','NUMBER', ] (85,06, )[ 'STA','NUMBER', ] (60, )[ 04=> 'RTS', ] [ (RELDATA) ] (01,04,00,09,00, )[ (DB) 01, (DW) 0004,, (DW) 'NSYMBOLS',, ] (03,01,00,1F,10, )[ (DB) 03, (DW) 0001,, (DW) 'relocate',, ] (03,09,00,00,02, )[ (DB) 03, (DW) 0009,, (DW) 'get',, ] [ ] (01,11,00,08,00, )[ (DB) 01, (DW) 0011,, (DW) 'FWDREF',, ] (01,01,00,06,00, )[ (DB) 01, (DW) 0001,, (DW) 'NUMBER',, ] (01,01,00,06,00, )[ (DB) 01, (DW) 0001,, (DW) 'NUMBER',, ] (01,03,00,06,00, )[ (DB) 01, (DW) 0003,, (DW) 'NUMBER',, ] (01,01,00,04,00, )[ (DB) 01, (DW) 0001,, (DW) 'ADDRESS',, ] (01,01,00,08,00, )[ (DB) 01, (DW) 0001,, (DW) 'FWDREF',, ] [ ] (01,07,00,04,00, )[ (DB) 01, (DW) 0007,, (DW) 'ADDRESS',, ] (01,01,00,06,00, )[ (DB) 01, (DW) 0001,, (DW) 'NUMBER',, ] (01,01,00,06,00, )[ (DB) 01, (DW) 0001,, (DW) 'NUMBER',, ] [ ] (03,08,00,00,02, )[ (DB) 03, (DW) 0008,, (DW) 'get',, ] (01,08,00,02,00, )[ (DB) 01, (DW) 0008,, (DW) 'SYMBUF',, ] (01,03,00,00,12, )[ (DB) 01, (DW) 0003,, (DW) 'SYMTBL',, ] (01,01,00,0A,00, )[ (DB) 01, (DW) 0001,, (DW) 'SYMPTR',, ] (02,01,00,00,12,00,)[ (DB) 02, (DW) 0001,, (DW) 'SYMTBL',, DB 'SYMTBL', ] (01,01,00,0A,00, )[ (DB) 01, (DW) 0001,, (DW) 'SYMPTR',, ] (01,01,00,09,00, )[ (DB) 01, (DW) 0001,, (DW) 'NSYMBOLS',, ] (01,07,00,0A,00, )[ (DB) 01, (DW) 0007,, (DW) 'SYMPTR',, ] (01,03,00,02,00, )[ (DB) 01, (DW) 0003,, (DW) 'SYMBUF',, ] (01,03,00,0A,00, )[ (DB) 01, (DW) 0003,, (DW) 'SYMPTR',, ] (01,04,00,0A,00, )[ (DB) 01, (DW) 0004,, (DW) 'SYMPTR',, ] (01,01,00,06,00, )[ (DB) 01, (DW) 0001,, (DW) 'NUMBER',, ] (01,02,00,0A,00, )[ (DB) 01, (DW) 0002,, (DW) 'SYMPTR',, ] (01,05,00,0A,00, )[ (DB) 01, (DW) 0005,, (DW) 'SYMPTR',, ] (01,01,00,0A,00, )[ (DB) 01, (DW) 0001,, (DW) 'SYMPTR',, ] (01,03,00,0A,00, )[ (DB) 01, (DW) 0003,, (DW) 'SYMPTR',, ] (01,07,00,02,00, )[ (DB) 01, (DW) 0007,, (DW) 'SYMBUF',, ] (01,01,00,0A,00, )[ (DB) 01, (DW) 0001,, (DW) 'SYMPTR',, ] (01,03,00,09,00, )[ (DB) 01, (DW) 0003,, (DW) 'NSYMBOLS',, ] (01,02,00,04,00, )[ (DB) 01, (DW) 0002,, (DW) 'ADDRESS',, ] (01,01,00,0A,00, )[ (DB) 01, (DW) 0001,, (DW) 'SYMPTR',, ] (01,02,00,04,00, )[ (DB) 01, (DW) 0002,, (DW) 'ADDRESS',, ] (01,01,00,0A,00, )[ (DB) 01, (DW) 0001,, (DW) 'SYMPTR',, ] [ ] (01,02,00,06,00, )[ (DB) 01, (DW) 0002,, (DW) 'NUMBER',, ] (01,05,00,00,00, )[ (DB) 01, (DW) 0005,, (DW) 'LABELS',, ] (01,01,00,06,00, )[ (DB) 01, (DW) 0001,, (DW) 'NUMBER',, ] (01,02,00,00,00, )[ (DB) 01, (DW) 0002,, (DW) 'LABELS',, ] (01,01,00,06,00, )[ (DB) 01, (DW) 0001,, (DW) 'NUMBER',, ] (01,01,00,04,00, )[ (DB) 01, (DW) 0001,, (DW) 'ADDRESS',, ] (01,01,00,08,00, )[ (DB) 01, (DW) 0001,, (DW) 'FWDREF',, ] [ ] (01,06,00,04,00, )[ (DB) 01, (DW) 0006,, (DW) 'ADDRESS',, ] (01,01,00,00,00, )[ (DB) 01, (DW) 0001,, (DW) 'LABELS',, ] (01,02,00,04,00, )[ (DB) 01, (DW) 0002,, (DW) 'ADDRESS',, ] (01,01,00,00,00, )[ (DB) 01, (DW) 0001,, (DW) 'LABELS',, ] [ ] (01,0C,00,04,00, )[ (DB) 01, (DW) 000C,, (DW) 'ADDRESS',, ] (01,03,00,04,00, )[ (DB) 01, (DW) 0003,, (DW) 'ADDRESS',, ] (01,01,00,06,00, )[ (DB) 01, (DW) 0001,, (DW) 'NUMBER',, ] (01,01,00,06,00, )[ (DB) 01, (DW) 0001,, (DW) 'NUMBER',, ] (01,01,00,04,00, )[ (DB) 01, (DW) 0001,, (DW) 'ADDRESS',, ] (01,03,00,04,00, )[ (DB) 01, (DW) 0003,, (DW) 'ADDRESS',, ] [ ] (01,06,00,04,00, )[ (DB) 01, (DW) 0006,, (DW) 'ADDRESS',, ] (01,01,00,06,00, )[ (DB) 01, (DW) 0001,, (DW) 'NUMBER',, ] (01,01,00,04,00, )[ (DB) 01, (DW) 0001,, (DW) 'ADDRESS',, ] [ ] (01,13,00,06,00, )[ (DB) 01, (DW) 0013,, (DW) 'NUMBER',, ] (01,01,00,06,00, )[ (DB) 01, (DW) 0001,, (DW) 'NUMBER',, ] (01,04,00,06,00, )[ (DB) 01, (DW) 0004,, (DW) 'NUMBER',, ] (01,01,00,06,00, )[ (DB) 01, (DW) 0001,, (DW) 'NUMBER',, ] [ ] (00, )[ (DB) 00, ] (Q )[ _ ]
NMOS 6502 instructions
00 @ 'BRK' 10 @ 'BPL' 20 @ 'JSR' 30 @ 'BMI' 40 @ 'RTI' 50 @ 'BVC' 60 @ 'RTS' 70 @ 'BVS' 90 @ 'BCC' A0 @ 'LDY #' B0 @ 'BCS' C0 @ 'CPY #' D0 @ 'BNE' E0 @ 'CPX #' F0 @ 'BEQ' 01 @ 'ORA ,X)' 11 @ 'ORA ),Y' 21 @ 'AND ,X)' 31 @ 'AND ),Y' 41 @ 'EOR ,X)' 51 @ 'EOR ),Y' 61 @ 'ADC ,X)' 71 @ 'ADC ),Y' 81 @ 'STA ,X)' 91 @ 'STA ),Y' A1 @ 'LDA ,X)' B1 @ 'LDA ),Y' C1 @ 'CMP ,X)' D1 @ 'CMP ),Y' E1 @ 'SBC ,X)' F1 @ 'SBC ),Y' A2 @ 'LDX #' 24 @ 'BIT' 84 @ 'STY' 94 @ 'STY ,X' A4 @ 'LDY' B4 @ 'LDY ,X' C4 @ 'CPY' E4 @ 'CPX' 05 @ 'ORA' 15 @ 'ORA ,X' 25 @ 'AND' 35 @ 'AND ,X' 45 @ 'EOR' 55 @ 'EOR ,X' 65 @ 'ADC' 75 @ 'ADC ,X' 85 @ 'STA' 95 @ 'STA ,X' A5 @ 'LDA' B5 @ 'LDA ,X' C5 @ 'CMP' D5 @ 'CMP ,X' E5 @ 'SBC' F5 @ 'SBC ,X' 06 @ 'ASL' 16 @ 'ASL ,X' 26 @ 'ROL' 36 @ 'ROL ,X' 46 @ 'LSR' 56 @ 'LSR ,X' 66 @ 'ROR' 76 @ 'ROR ,X' 86 @ 'STX' 96 @ 'STX ,Y' A6 @ 'LDX' B6 @ 'LDX ,Y' C6 @ 'DEC' D6 @ 'DEC ,X' E6 @ 'INC' F6 @ 'INC ,X' 08 @ 'PHP' 18 @ 'CLC' 28 @ 'PLP' 38 @ 'SEC' 48 @ 'PHA' 58 @ 'CLI' 68 @ 'PLA' 78 @ 'SEI' 88 @ 'DEY' 98 @ 'TYA' A8 @ 'TAY' B8 @ 'CLV' C8 @ 'INY' D8 @ 'CLD' E8 @ 'INX' F8 @ 'SED' 09 @ 'ORA #' 19 @ 'ORA ,Y' 29 @ 'AND #' 39 @ 'AND ,Y' 49 @ 'EOR #' 59 @ 'EOR ,Y' 69 @ 'ADC #' 79 @ 'ADC ,Y' 99 @ 'STA ,Y' A9 @ 'LDA #' B9 @ 'LDA ,Y' C9 @ 'CMP #' D9 @ 'CMP ,Y' E9 @ 'SBC #' F9 @ 'SBC ,Y' 0A @ 'ASL A' 2A @ 'ROL A' 4A @ 'LSR A' 6A @ 'ROR A' 8A @ 'TXA' 9A @ 'TXS' AA @ 'TAX' BA @ 'TSX' CA @ 'DEX' EA @ 'NOP' 2C @ 'BITW' 4C @ 'JMP' 6C @ 'JMP (' 8C @ 'STYW' AC @ 'LDYW' BC @ 'LDYW ,X' CC @ 'CPYW' EC @ 'CPXW' 0D @ 'ORAW' 1D @ 'ORAW ,X' 2D @ 'ANDW' 3D @ 'ANDW ,X' 4D @ 'EORW' 5D @ 'EORW ,X' 6D @ 'ADCW' 7D @ 'ADCW ,X' 8D @ 'STAW' 9D @ 'STAW ,X' AD @ 'LDAW' BD @ 'LDAW ,X' CD @ 'CMPW' DD @ 'CMPW ,X' ED @ 'SBCW' FD @ 'SBCW ,X' 0E @ 'ASLW' 1E @ 'ASLW ,X' 2E @ 'ROLW' 3E @ 'ROLW ,X' 4E @ 'LSRW' 5E @ 'LSRW ,X' 6E @ 'RORW' 7E @ 'RORW ,X' 8E @ 'STXW' AE @ 'LDXW' BE @ 'LDXW ,Y' CE @ 'DECW' DE @ 'DECW ,X' EE @ 'INCW' FE @ 'INCW ,X'
Additional 65C02 instructions
80 @ 'BRA' 12 @ 'ORA (' 32 @ 'AND (' 52 @ 'EOR (' 72 @ 'ADC (' 92 @ 'STA (' B2 @ 'LDA (' D2 @ 'CMP (' F2 @ 'SBC (' 04 @ 'TSB' 14 @ 'TRB' 34 @ 'BIT ,X' 64 @ 'STZ' 74 @ 'STZ ,X' 89 @ 'BIT #' 1A @ 'INC A' 3A @ 'DEC A' 5A @ 'PHY' 7A @ 'PLY' DA @ 'PHX' FA @ 'PLX' 0C @ 'TSBW' 1C @ 'TRBW' 3C @ 'BITW ,X' 7C @ 'JMP ,X)' 9C @ 'STZW' 9E @ 'STZW ,X'
Additional Rockwell and WDC 65C02 instructions
07 @ 'RMB0' 17 @ 'RMB1' 27 @ 'RMB2' 37 @ 'RMB3' 47 @ 'RMB4' 57 @ 'RMB5' 67 @ 'RMB6' 77 @ 'RMB7' 87 @ 'SMB0' 97 @ 'SMB1' A7 @ 'SMB2' B7 @ 'SMB3' C7 @ 'SMB4' D7 @ 'SMB5' E7 @ 'SMB6' F7 @ 'SMB7' 0F @ 'BBR0' 1F @ 'BBR1' 2F @ 'BBR2' 3F @ 'BBR3' 4F @ 'BBR4' 5F @ 'BBR5' 6F @ 'BBR6' 7F @ 'BBR7' 8F @ 'BBS0' 9F @ 'BBS0' AF @ 'BBS0' BF @ 'BBS0' CF @ 'BBS0' DF @ 'BBS0' EF @ 'BBS0' FF @ 'BBS0'
Additional WDC 65C02 instructions
CB @ 'WAI' DB @ 'STP'
SWEET16 instructions
00 @ 'RTN' 01 @ 'BR' 02 @ 'BNC' 03 @ 'BC' 04 @ 'BP' 05 @ 'BM' 06 @ 'BZ' 07 @ 'BNZ' 08 @ 'BM1' 09 @ 'BNM1' 0A @ 'BK' 0B @ 'RS' 0C @ 'BS' 0D @ 'NUL' 1 @ 'SET' 2 @ 'LD' 3 @ 'ST' 4 @ 'LD @' 5 @ 'ST @' 6 @ 'LDD @' 7 @ 'STD @' 8 @ 'POP @' 9 @ 'STP @' A @ 'ADD' B @ 'SUB' C @ 'POPD @' D @ 'CPR' E @ 'INR' F @ 'DCR'
Note that for SWEET16 register instructions the register number precedes the comma, e.g.:
'LD @' 1, 'DCR' 2, 'SET' 3, ABCD,,