Submitted by Steve Fewell
Description:
[89EB] Get the first non-space character from BASIC Text Pointer A.
Set Y and location &3D (the Mnemonic Code LSB location) to 0.
If the next character is ':', then jump to &8A5E to store current instruction (if any) and exit.
If the next character is '<cr>' [carriage return], then jump to &8A5E to store current instruction (if any) and exit.
Note: No need to check for 'ELSE', as 'ELSE' is invalid in assembly mode.
If next character is '\' then jump to &8A5E (Store current instruction (if any) and skip comment).
| Opcode | Instruction | Opcode | Instruction | |
| 00 | BRK | 80 | BRA rel * | |
| 01 | ORA (zp,X) | 81 | STA (zp,X) | |
| 02 | --- | 82 | --- | |
| 03 | --- | 83 | --- | |
| 04 | TSB zp * | 84 | STY zp | |
| 05 | ORA zp | 85 | STA zp | |
| 06 | ASL zp | 86 | STX zp | |
| 07 | --- | 87 | --- | |
| 08 | PHP | 88 | DEY | |
| 09 | ORA #nn | 89 | BIT #nn * | |
| 0A | ASL A | 8A | TXA | |
| 0B | --- | 8B | --- | |
| 0C | TSB abs * | 8C | STY abs | |
| 0D | ORA abs | 8D | STA abs | |
| 0E | ASL abs | 8E | STX abs | |
| 0F | --- | 8F | --- | |
| 10 | BPL rel | 90 | BCC rel | |
| 11 | ORA (zp),Y | 91 | STA (zp),Y | |
| 12 | ORA (zp) * | 92 | STA (zp) * | |
| 13 | --- | 93 | --- | |
| 14 | TRB zp * | 94 | STY zp | |
| 15 | ORA zp,X | 95 | STA zp,X | |
| 16 | ASL zp,X | 96 | STX zp,Y | |
| 17 | --- | 97 | --- | |
| 18 | CLC | 98 | TYA | |
| 19 | ORA abs,Y | 99 | STA abs,Y | |
| 1A | INC A * | 9A | TXS | |
| 1B | --- | 9B | --- | |
| 1C | TRB abs * | 9C | STZ abs * | |
| 1D | ORA abs,X | 9D | STA abs,X | |
| 1E | ASL abs,X | 9E | STZ abs,X * | |
| 1F | --- | 9F | --- | |
| 20 | JSR abs | A0 | LDY #nn | |
| 21 | AND (zp,X) | A1 | LDA (zp,X) | |
| 22 | --- | A2 | LDX #nn | |
| 23 | --- | A3 | --- | |
| 24 | BIT zp | A4 | LDY zp | |
| 25 | AND zp | A5 | LDA zp | |
| 26 | ROL zp | A6 | LDX zp | |
| 27 | --- | A7 | --- | |
| 28 | PLP | A8 | TAY | |
| 29 | AND #nn | A9 | LDA #nn | |
| 2A | ROL A | AA | TAX | |
| 2B | --- | AB | --- | |
| 2C | BIT abs | AC | LDY abs | |
| 2D | AND abs | AD | LDA abs | |
| 2E | ROL abs | AE | LDX abs | |
| 2F | --- | AF | --- | |
| 30 | BMI rel | B0 | BCS rel | |
| 31 | AND (zp),Y | B1 | LDA (zp),Y | |
| 32 | AND (zp) * | B2 | LDA (zp) * | |
| 33 | --- | B3 | --- | |
| 34 | BIT zp,X * | B4 | LDY zp | |
| 35 | AND zp,X | B5 | LDA zp,X | |
| 36 | ROL zp,X | B6 | LDX sp,Y | |
| 37 | --- | B7 | --- | |
| 38 | SEC | B8 | CLV | |
| 39 | AND abs,Y | B9 | LDA abs,Y | |
| 3A | DEC A * | BA | TSX | |
| 3B | --- | BB | --- | |
| 3C | BIT abs,X * | BC | LDY abs,X | |
| 3D | ORA abs,X | BD | LDA abs,X | |
| 3E | ASL abs,X | BE | LDX abs,Y | |
| 3F | --- | BF | --- | |
| 40 | RTI | C0 | CPY #nn | |
| 41 | EOR (zp,X) | C1 | CMP (zp,X) | |
| 42 | --- | C2 | --- | |
| 43 | --- | C3 | --- | |
| 44 | --- | C4 | CPY zp | |
| 45 | EOR zp | C5 | CMP zp | |
| 46 | LSR zp | C6 | DEC zp | |
| 47 | --- | C7 | --- | |
| 48 | PHA | C8 | INY | |
| 49 | EOR #nn | C9 | CMP #nn | |
| 4A | LSR A | CA | DEX | |
| 4B | --- | CB | --- | |
| 4C | JMP abs | CC | CPY abs | |
| 4D | EOR abs | CD | CMP abs | |
| 4E | LSR abs | CE | DEC abs | |
| 4F | --- | CF | --- | |
| 50 | BVC rel | D0 | BNE rel | |
| 51 | EOR (zp),Y | D1 | CMP (zp),Y | |
| 52 | EOR (zp) * | D2 | CMP (zp) * | |
| 53 | --- | D3 | --- | |
| 54 | --- | D4 | --- | |
| 55 | EOR zp,X | D5 | CMP zp,X | |
| 56 | LSR zp,X | D6 | DEC zp,X | |
| 57 | --- | D7 | --- | |
| 58 | CLI | D8 | CLD | |
| 59 | EOR abs,Y | D9 | CMP abs,Y | |
| 5A | PHY * | DA | PHX * | |
| 5B | --- | DB | --- | |
| 5C | --- | DC | --- | |
| 5D | EOR abs,X | DD | CMP abs,X | |
| 5E | LSR abs,X | DE | DEC abs,X | |
| 5F | --- | DF | --- | |
| 60 | RTS | E0 | CPX #nn | |
| 61 | ADC (zp,X) | E1 | SBC (zp,X) | |
| 62 | --- | E2 | --- | |
| 63 | --- | E3 | --- | |
| 64 | STZ zp * | E4 | CPX zp | |
| 65 | ADC zp | E5 | SBC zp | |
| 66 | ROR zp | E6 | INC zp | |
| 67 | --- | E7 | --- | |
| 68 | PLA | E8 | INX | |
| 69 | ADC #nn | E9 | SBC #nn | |
| 6A | ROR A | EA | NOP | |
| 6B | --- | EB | --- | |
| 6C | JMP (abs) | EC | CPX abs | |
| 6D | ADC abs | ED | SBC abs | |
| 6E | ROR abs | EE | INC abs | |
| 6F | --- | EF | --- | |
| 70 | BCS rel | F0 | BEQ rel | |
| 71 | ADC (zp),Y | F1 | SBC (zp),Y | |
| 72 | ADC (zp) * | F2 | SBC (zp) * | |
| 73 | --- | F3 | --- | |
| 74 | STZ zp,X * | F4 | --- | |
| 75 | ADC zp,X | F5 | SBC zp,X | |
| 76 | ROR zp,X | F6 | INC zp,X | |
| 77 | --- | F7 | --- | |
| 78 | SEI | F8 | SED | |
| 79 | ADC abs,Y | F9 | SBC abs,Y | |
| 7A | PLY * | FA | PLX * | |
| 7B | --- | FB | --- | |
| 7C | JMP (abs,X) * | FC | --- | |
| 7D | ADC abs,X | FD | SBC abs,X | |
| 7E | ROR abs,X | FE | INC abs,X | |
| 7F | --- | FF | --- |
| Num | Address | Encoded Mnemonic MSB byte | Address | Encoded Mnemonic LSB byte | Address | Default Opcode | Mnemonic | |||
| 01 | 884D | 4B | 8892 | 0A | 88D7 | 00 | BRK | |||
| 02 | 884E | 83 | 8893 | 0D | 88D8 | 18 | CLC | |||
| 03 | 884F | 84 | 8894 | 0D | 88D9 | D8 | CLD | |||
| 04 | 8850 | 89 | 8895 | 0D | 88DA | 58 | CLI | |||
| 05 | 8851 | 96 | 8896 | 0D | 88DB | B8 | CLV | |||
| 06 | 8852 | B8 | 8897 | 10 | 88DC | CA | DEX | |||
| 07 | 8853 | B9 | 8898 | 10 | 88DD | 88 | DEY | |||
| 08 | 8854 | D8 | 8899 | 25 | 88DE | E8 | INX | |||
| 09 | 8855 | D9 | 889A | 25 | 88DF | C8 | INY | |||
| 0A | 8856 | F0 | 889B | 39 | 88E0 | EA | NOP | |||
| 0B | 8857 | 01 | 889C | 41 | 88E1 | 48 | PHA | |||
| 0C | 8858 | 10 | 889D | 41 | 88E2 | 08 | PHP | |||
| 0D | 8859 | 81 | 889E | 41 | 88E3 | 68 | PLA | |||
| 0E | 885A | 90 | 889F | 41 | 88E4 | 28 | PLP | |||
| 0F | 885B | 89 | 88A0 | 4A | 88E5 | 40 | RTI | |||
| 10 | 885C | 93 | 88A1 | 4A | 88E6 | 60 | RTS | |||
| 11 | 885D | A3 | 88A2 | 4C | 88E7 | 38 | SEC | |||
| 12 | 885E | A4 | 88A3 | 4C | 88E8 | F8 | SED | |||
| 13 | 885F | A9 | 88A4 | 4C | 88E9 | 78 | SEI | |||
| 14 | 8860 | 38 | 88A5 | 50 | 88EA | AA | TAX | |||
| 15 | 8861 | 39 | 88A6 | 50 | 88EB | A8 | TAY | |||
| 16 | 8862 | 78 | 88A7 | 52 | 88EC | BA | TSX | |||
| 17 | 8863 | 01 | 88A8 | 53 | 88ED | 8A | TXA | |||
| 18 | 8864 | 13 | 88A9 | 53 | 88EE | 9A | TXS | |||
| 19 | 8865 | 21 | 88AA | 53 | 88EF | 98 | TYA | |||
| 1A | 8866 | A1 | 88AB | 10 | 88F0 | 3A | DEA [New 6502C12 Mnemonic] | |||
| 1B | 8867 | C1 | 88AC | 25 | 88F1 | 1A | INA [New 6502C12 Mnemonic] | |||
| 1C | 8868 | 19 | 88AD | 41 | 88F2 | 5A | PHY [New 6502C12 Mnemonic] | |||
| 1D | 8869 | 18 | 88AE | 41 | 88F3 | DA | PHX [New 6502C12 Mnemonic] | |||
| 1E | 886A | 99 | 88AF | 41 | 88F4 | 7A | PLY [New 6502C12 Mnemonic] | |||
| 1F | 886B | 98 | 88B0 | 41 | 88F5 | FA | PLX [New 6502C12 Mnemonic] [End of single-byte Mnemonics] | |||
| 20 | 886C | 63 | 88B1 | 08 | 88F6 | 90 | BCC [Start of Branch Mnemonics] | |||
| 21 | 886D | 73 | 88B2 | 08 | 88F7 | B0 | BCS | |||
| 22 | 886E | B1 | 88B3 | 08 | 88F8 | F0 | BEQ | |||
| 23 | 886F | A9 | 88B4 | 09 | 88F9 | 30 | BMI | |||
| 24 | 8870 | C5 | 88B5 | 09 | 88FA | D0 | BNE | |||
| 25 | 8871 | 0C | 88B6 | 0A | 88FB | 10 | BPL | |||
| 26 | 8872 | C3 | 88B7 | 0A | 88FC | 50 | BVC | |||
| 27 | 8873 | D3 | 88B8 | 0A | 88FD | 70 | BVS | |||
| 28 | 8874 | 41 | 88B9 | 0A | 88FE | 80 | BRA [New 6502C12 Mnemonic] [End of Branch Mnemonics] | |||
| 29 | 8875 | C4 | 88BA | 05 | 88FF | 21 | AND | |||
| 2A | 8876 | F2 | 88BB | 15 | 8900 | 41 | EOR | |||
| 2B | 8877 | 41 | 88BC | 3E | 8901 | 01 | ORA | |||
| 2C | 8878 | 83 | 88BD | 04 | 8902 | 61 | ADC | |||
| 2D | 8879 | B0 | 88BE | 0D | 8903 | C1 | CMP | |||
| 2E | 887A | 81 | 88BF | 30 | 8904 | A1 | LDA | |||
| 2F | 887B | 43 | 88C0 | 4C | 8905 | E1 | SBC | |||
| 30 | 887C | 6C | 88C1 | 06 | 8906 | 06 | ASL | |||
| 31 | 887D | 72 | 88C2 | 32 | 8907 | 46 | LSR | |||
| 32 | 887E | EC | 88C3 | 49 | 8908 | 26 | ROL | |||
| 33 | 887F | F2 | 88C4 | 49 | 8909 | 66 | ROR | |||
| 34 | 8880 | A3 | 88C5 | 10 | 890A | C6 | DEC | |||
| 35 | 8881 | C3 | 88C6 | 25 | 890B | E6 | INC | |||
| 36 | 8882 | 92 | 88C7 | 0D | 890C | 9C | CLR | |||
| 37 | 8883 | 9A | 88C8 | 4E | 890D | 9C | STZ | |||
| 38 | 8884 | 18 | 88C9 | 0E | 890E | E0 | CPX | |||
| 39 | 8885 | 19 | 88CA | 0E | 890F | C0 | CPY | |||
| 3A | 8886 | 62 | 88CB | 52 | 8910 | 00 | TSB | |||
| 3B | 8887 | 42 | 88CC | 52 | 8911 | 10 | TRB | |||
| 3C | 8888 | 34 | 88CD | 09 | 8912 | 24 | BIT | |||
| 3D | 8889 | B0 | 88CE | 29 | 8913 | 4C | JMP | |||
| 3E | 888A | 72 | 88CF | 2A | 8914 | 20 | JSR | |||
| 3F | 888B | 98 | 88D0 | 30 | 8915 | A2 | LDX | |||
| 40 | 888C | 99 | 88D1 | 30 | 8016 | A0 | LDY | |||
| 41 | 888D | 81 | 88D2 | 4E | 8917 | 81 | STA | |||
| 42 | 888E | 98 | 88D3 | 4E | 8918 | 86 | STX | |||
| 43 | 888F | 99 | 88D4 | 4E | 8919 | 8A | STY | |||
| 44 | 8890 | 14 | 88D5 | 3E | 891A | 3A | OPT | |||
| 45 | 8891 | 35 | 88D6 | 16 | 891B | 85 | EQU |
| 89D4 | 032 174 152 | 20 AE 98 | JSR &98AE Evaluate variable name & create new variable | |
| 89D7 | \ | 240 092 | F0 5C | BEQ 92 --> &8A35 [JMP &9B69 Syntax error] |
| 89D9 | Z | 176 090 | B0 5A | BCS 90 --> &8A35 [JMP &9B69 Syntax error] |
| 89DB | C | 032 067 188 | 20 43 BC | JSR &BC43 Push &2A, &2B & &2C to the 6502 Stack |
| 89DE | 032 132 173 | 20 84 AD | JSR &AD84 Set IWA to P% | |
| 89E1 | ' | 133 039 | 85 27 | STA &27 |
| 89E3 | + | 032 043 179 | 20 2B B3 | JSR &B32B Set numeric variable |
| 89E6 | u | 032 117 146 | 20 75 92 | JSR &9275 Set PTR A Offset to PTR B Offset |
| 89E9 | N | 132 078 | 84 4E | STY &4E |
| 89EB | 032 224 142 | 20 E0 8E | JSR &8EE0 Get next non-space char (PTR A) | |
| 89EE | 160 000 | A0 00 | LDY#&00 | |
| 89F0 | d= | 100 061 | 64 3D | STZ &3D |
| 89F2 | : | 201 058 | C9 3A | CMP#&3A |
| 89F4 | h | 240 104 | F0 68 | BEQ 104 --> &8A5E Store current instruction (if any) and exit |
| 89F6 | 201 013 | C9 0D | CMP#&0D | |
| 89F8 | d | 240 100 | F0 64 | BEQ 100 --> &8A5E Store current instruction (if any) and exit |
| 89FA | \ | 201 092 | C9 5C | CMP#&5C |
| 89FC | ` | 240 096 | F0 60 | BEQ 96 --> &8A5E Store current instruction (if any) and exit |
| 89FE | . | 201 046 | C9 2E | CMP#&2E |
| 8A00 | 240 210 | F0 D2 | BEQ -46 --> &89D4 Create label | |
| 8A02 | 198 010 | C6 0A | DEC &0A | |
| 8A04 | 162 003 | A2 03 | LDX#&03 | |
| 8A06 | 164 010 | A4 0A | LDY &0A | |
| 8A08 | 230 010 | E6 0A | INC &0A | |
| 8A0A | 177 011 | B1 0B | LDA (&0B),Y | |
| 8A0C | 0* | 048 042 | 30 2A | BMI 42 --> &8A38 Check for BASIC tokens that are also Mnemonics |
| 8A0E | 201 032 | C9 20 | CMP#&20 | |
| 8A10 | 240 016 | F0 10 | BEQ 16 --> &8A22 | |
| 8A12 | 160 005 | A0 05 | LDY#&05 | |
| 8A14 | 010 | 0A | ASL A | |
| 8A15 | 010 | 0A | ASL A | |
| 8A16 | 010 | 0A | ASL A | |
| 8A17 | 010 | 0A | ASL A | |
| 8A18 | &= | 038 061 | 26 3D | ROL &3D |
| 8A1A | &> | 038 062 | 26 3E | ROL &3E |
| 8A1C | 136 | 88 | DEY | |
| 8A1D | 208 248 | D0 F8 | BNE -8 --> &8A17 | |
| 8A1F | 202 | CA | DEX | |
| 8A20 | 208 228 | D0 E4 | BNE -28 --> &8A06 | |
| 8A22 | E | 162 069 | A2 45 | LDX#&45 |
| 8A24 | = | 165 061 | A5 3D | LDA &3D |
| 8A26 | L | 221 076 136 | DD 4C 88 | CMP &884C,X |
| 8A29 | 208 007 | D0 07 | BNE 7 --> &8A32 | |
| 8A2B | 188 145 136 | BC 91 88 | LDY &8891,X | |
| 8A2E | > | 196 062 | C4 3E | CPY &3E |
| 8A30 | ! | 240 033 | F0 21 | BEQ 33 --> &8A53 |
| 8A32 | 202 | CA | DEX | |
| 8A33 | 208 241 | D0 F1 | BNE -15 --> &8A26 | |
| 8A35 | Li | 076 105 155 | 4C 69 9B | JMP &9B69 Syntax error |
| 8A38 | ) | 162 041 | A2 29 | LDX#&29 |
| 8A3A | 201 128 | C9 80 | CMP#&80 | |
| 8A3C | 240 021 | F0 15 | BEQ 21 --> &8A53 | |
| 8A3E | 232 | E8 | INX | |
| 8A3F | 201 130 | C9 82 | CMP#&82 | |
| 8A41 | 240 016 | F0 10 | BEQ 16 --> &8A53 | |
| 8A43 | 232 | E8 | INX | |
| 8A44 | 201 132 | C9 84 | CMP#&84 | |
| 8A46 | 208 237 | D0 ED | BNE -19 --> &8A35 [JMP &9B69 Syntax error] | |
| 8A48 | 230 010 | E6 0A | INC &0A | |
| 8A4A | 200 | C8 | INY | |
| 8A4B | 177 011 | B1 0B | LDA (&0B),Y | |
| 8A4D | ) | 041 223 | 29 DF | AND#&DF |
| 8A4F | A | 201 065 | C9 41 | CMP#&41 |
| 8A51 | 208 226 | D0 E2 | BNE -30 --> &8A35 [JMP &9B69 Syntax error] | |
| 8A53 | 189 214 136 | BD D6 88 | LDA &88D6,X | |
| 8A56 | ) | 133 041 | 85 29 | STA &29 |
| 8A58 | 160 001 | A0 01 | LDY#&01 | |
| 8A5A | 224 032 | E0 20 | CPX#&20 | |
| 8A5C | H | 176 072 | B0 48 | BCS 72 --> &8AA6 |
| 8A5E | @ | 173 064 004 | AD 40 04 | LDA &0440 |
| 8A61 | 7 | 133 055 | 85 37 | STA &37 |
| 8A63 | 9 | 132 057 | 84 39 | STY &39 |
| 8A65 | ( | 166 040 | A6 28 | LDX &28 |
| 8A67 | 224 004 | E0 04 | CPX#&04 | |
| 8A69 | A | 174 065 004 | AE 41 04 | LDX &0441 |
| 8A6C | 8 | 134 056 | 86 38 | STX &38 |
| 8A6E | 144 006 | 90 06 | BCC 6 --> &8A76 | |
| 8A70 | < | 173 060 004 | AD 3C 04 | LDA &043C |
| 8A73 | = | 174 061 004 | AE 3D 04 | LDX &043D |
| 8A76 | : | 133 058 | 85 3A | STA &3A |
| 8A78 | ; | 134 059 | 86 3B | STX &3B |
| 8A7A | 152 | 98 | TYA | |
| 8A7B | ( | 240 040 | F0 28 | BEQ 40 --> &8AA5 |
| 8A7D | 016 004 | 10 04 | BPL 4 --> &8A83 | |
| 8A7F | 6 | 164 054 | A4 36 | LDY &36 |
| 8A81 | " | 240 034 | F0 22 | BEQ 34 --> &8AA5 |
| 8A83 | 136 | 88 | DEY | |
| 8A84 | ) | 185 041 000 | B9 29 00 | LDA &0029,Y |
| 8A87 | $9 | 036 057 | 24 39 | BIT &39 |
| 8A89 | 016 003 | 10 03 | BPL 3 --> &8A8E | |
| 8A8B | 185 000 006 | B9 00 06 | LDA &0600,Y | |
| 8A8E | : | 145 058 | 91 3A | STA (&3A),Y |
| 8A90 | @ | 238 064 004 | EE 40 04 | INC &0440 |
| 8A93 | 208 003 | D0 03 | BNE 3 --> &8A98 | |
| 8A95 | A | 238 065 004 | EE 41 04 | INC &0441 |
| 8A98 | 144 008 | 90 08 | BCC 8 --> &8AA2 | |
| 8A9A | < | 238 060 004 | EE 3C 04 | INC &043C |
| 8A9D | 208 003 | D0 03 | BNE 3 --> &8AA2 | |
| 8A9F | = | 238 061 004 | EE 3D 04 | INC &043D |
| 8AA2 | 152 | 98 | TYA | |
| 8AA3 | 208 222 | D0 DE | BNE -34 --> &8A83 | |
| 8AA5 | ` | 096 | 60 | RTS |
| 8AA6 | ) | 224 041 | E0 29 | CPX#&29 |
| 8AA8 | < | 176 060 | B0 3C | BCS 60 --> &8AE6 |
| 8AAA | o | 032 111 146 | 20 6F 92 | JSR &926F Evaluate Expression at BASIC Text pointer A convert result to integer |
| 8AAD | 024 | 18 | CLC | |
| 8AAE | * | 165 042 | A5 2A | LDA &2A |
| 8AB0 | @ | 237 064 004 | ED 40 04 | SBC &0440 |
| 8AB3 | 168 | A8 | TAY | |
| 8AB4 | + | 165 043 | A5 2B | LDA &2B |
| 8AB6 | A | 237 065 004 | ED 41 04 | SBC &0441 |
| 8AB9 | 192 001 | C0 01 | CPY#&01 | |
| 8ABB | 136 | 88 | DEY | |
| 8ABC | 233 000 | E9 00 | SBC#&00 | |
| 8ABE | 240 027 | F0 1B | BEQ 27 --> &8ADB | |
| 8AC0 | 026 | 1A | INC A | |
| 8AC1 | 208 003 | D0 03 | BNE 3 --> &8AC6 | |
| 8AC3 | 152 | 98 | TYA | |
| 8AC4 | 0 | 048 025 | 30 19 | BMI 25 --> &8ADF |
| 8AC6 | ( | 165 040 | A5 28 | LDA &28 |
| 8AC8 | ) | 041 002 | 29 02 | AND#&02 |
| 8ACA | 240 018 | F0 12 | BEQ 18 --> &8ADE | |
| 8ACC | ... Out of range error... | |||
| 8ADB | 152 | 98 | TYA | |
| 8ADC | 0 | 048 232 | 30 E8 | BMI -24 --> &8AC6 |
| 8ADE | 168 | A8 | TAY | |
| 8ADF | * | 132 042 | 84 2A | STY &2A |
| 8AE1 | 160 002 | A0 02 | LDY#&02 | |
| 8AE3 | L^ | 076 094 138 | 4C 5E 8A | JMP &8A5E Store current instruction (if any) and exit |
| 8AE6 | 0 | 224 048 | E0 30 | CPX#&30 |
| 8AE8 | 176 022 | B0 16 | BCS 22 --> &8B00 | |
| 8AEA | 032 223 140 | 20 DF 8C | JSR &8CDF Get next non-space char (PTR A) and compare with '#' | |
| 8AED | 208 024 | D0 18 | BNE 24 --> &8B07 | |
| 8AEF | 032 204 140 | 20 CC 8C | JSR &8CCC Add 8 to Opcode (&29) | |
| 8AF2 | o | 032 111 146 | 20 6F 92 | JSR &926F Evaluate Expression at BASIC Text pointer A convert result to integer |
| 8AF5 | + | 165 043 | A5 2B | LDA &2B |
| 8AF7 | 240 232 | F0 E8 | BEQ -24 --> &8AE1 | |
| 8AF9 | ... Byte error... | |||
| 8B00 | A | 224 065 | E0 41 | CPX#&41 |
| 8B02 | c | 208 099 | D0 63 | BNE 99 --> &8B67 |
| 8B04 | 032 224 142 | 20 E0 8E | JSR &8EE0 Get next non-space char (PTR A) | |
| 8B07 | ( | 201 040 | C9 28 | CMP#&28 |
| 8B09 | 9 | 208 057 | D0 39 | BNE 57 --> &8B44 |
| 8B0B | o | 032 111 146 | 20 6F 92 | JSR &926F Evaluate Expression at BASIC Text pointer A convert result to integer |
| 8B0E | 032 224 142 | 20 E0 8E | JSR &8EE0 Get next non-space char (PTR A) | |
| 8B11 | ) | 201 041 | C9 29 | CMP#&29 |
| 8B13 | 208 023 | D0 17 | BNE 23 --> &8B2C | |
| 8B15 | 032 201 140 | 20 C9 8C | JSR &8CC9 Add 16 to Opcode (&29) | |
| 8B18 | 032 229 140 | 20 E5 8C | JSR &8CE5 Compare next non-space [PTR A] character with ',' | |
| 8B1B | 240 004 | F0 04 | BEQ 4 --> &8B21 | |
| 8B1D | ) | 230 041 | E6 29 | INC &29 |
| 8B1F | 128 212 | 80 D4 | BRA -44 --> &8AF5 If IWA = 8-bit value, Y = 2 & Store assembly instruction; otherwise, Byte error | |
| 8B21 | 032 224 142 | 20 E0 8E | JSR &8EE0 Get next non-space char (PTR A) | |
| 8B24 | ) | 041 223 | 29 DF | AND#&DF |
| 8B26 | Y | 201 089 | C9 59 | CMP#&59 |
| 8B28 | 240 203 | F0 CB | BEQ -53 --> &8AF5 If IWA = 8-bit value, Y = 2 & Store assembly instruction; otherwise, Byte error | |
| 8B2A | 128 016 | 80 10 | BRA 16 --> &8B3C Index error | |
| 8B2C | , | 201 044 | C9 2C | CMP#&2C |
| 8B2E | 208 012 | D0 0C | BNE 12 --> &8B3C Index error | |
| 8B30 | 032 215 140 | 20 D7 8C | JSR &8CD7 Compare next non-space [PTR A] character with 'X' or 'x' | |
| 8B33 | 208 007 | D0 07 | BNE 7 --> &8B3C Index error | |
| 8B35 | 032 224 142 | 20 E0 8E | JSR &8EE0 Get next non-space char (PTR A) | |
| 8B38 | ) | 201 041 | C9 29 | CMP#&29 |
| 8B3A | 240 185 | F0 B9 | BEQ -71 --> &8AF5 If IWA = 8-bit value, Y = 2 & Store assembly instruction; otherwise, Byte error | |
| 8B3C | ... Index error... | |||
| 8B44 | m | 032 109 146 | 20 6D 92 | JSR &926D Decrement TEXT POINTER A offset & evaluate Expression [PTR A] & convert result to integer |
| 8B47 | 032 229 140 | 20 E5 8C | JSR &8CE5 Compare next non-space [PTR A] character with ',' | |
| 8B4A | 208 018 | D0 12 | BNE 18 --> &8B5E | |
| 8B4C | 032 201 140 | 20 C9 8C | JSR &8CC9 Add 16 to Opcode (&29) | |
| 8B4F | 032 215 140 | 20 D7 8C | JSR &8CD7 Compare next non-space [PTR A] character with 'X' or 'x' | |
| 8B52 | 240 010 | F0 0A | BEQ 10 --> &8B5E | |
| 8B54 | Y | 201 089 | C9 59 | CMP#&59 |
| 8B56 | 208 228 | D0 E4 | BNE -28 --> &8B3C Index error | |
| 8B58 | 032 204 140 | 20 CC 8C | JSR &8CCC Add 8 to Opcode (&29) | |
| 8B5B | L | 076 254 139 | 4C FE 8B | JMP &8BFE Set number of bytes (Y) = 3 & Store assembly instruction |
| 8B5E | 032 207 140 | 20 CF 8C | JSR &8CCF Add 4 to Opcode (&29) | |
| 8B61 | + | 165 043 | A5 2B | LDA &2B |
| 8B63 | 208 243 | D0 F3 | BNE -13 --> &8B58 | |
| 8B65 | 128 144 | 80 90 | BRA -112 --> &8AF7 If IWA = 8-bit value, Y = 2 & Store assembly instruction; otherwise, Byte error | |
| 8B67 | 6 | 224 054 | E0 36 | CPX#&36 |
| 8B69 | 6 | 176 054 | B0 36 | BCS 54 --> &8BA1 |
| 8B6B | 032 224 142 | 20 E0 8E | JSR &8EE0 Get next non-space char (PTR A) | |
| 8B6E | ) | 041 223 | 29 DF | AND#&DF |
| 8B70 | A | 201 065 | C9 41 | CMP#&41 |
| 8B72 | 240 018 | F0 12 | BEQ 18 --> &8B86 | |
| 8B74 | m | 032 109 146 | 20 6D 92 | JSR &926D Decrement TEXT POINTER A offset & evaluate Expression [PTR A] & convert result to integer |
| 8B77 | 032 229 140 | 20 E5 8C | JSR &8CE5 Compare next non-space [PTR A] character with ',' | |
| 8B7A | 208 229 | D0 E5 | BNE -27 --> &8B61 | |
| 8B7C | 032 201 140 | 20 C9 8C | JSR &8CC9 Add 16 to Opcode (&29) | |
| 8B7F | 032 215 140 | 20 D7 8C | JSR &8CD7 Compare next non-space [PTR A] character with 'X' or 'x' | |
| 8B82 | 240 221 | F0 DD | BEQ -35 --> &8B61 | |
| 8B84 | 128 182 | 80 B6 | BRA -74 --> &8B3C Index error | |
| 8B86 | 200 | C8 | INY | |
| 8B87 | 177 011 | B1 0B | LDA (&0B),Y | |
| 8B89 | 032 132 141 | 20 84 8D | JSR &8D84 Check for Variable name character or digit (in A) | |
| 8B8C | 176 230 | B0 E6 | BCS -26 --> &8B74 | |
| 8B8E | 160 022 | A0 16 | LDY#&16 | |
| 8B90 | 4 | 224 052 | E0 34 | CPX#&34 |
| 8B92 | 144 006 | 90 06 | BCC 6 --> &8B9A | |
| 8B94 | 208 002 | D0 02 | BNE 2 --> &8B98 | |
| 8B96 | 6 | 160 054 | A0 36 | LDY#&36 |
| 8B98 | ) | 132 041 | 84 29 | STY &29 |
| 8B9A | 032 207 140 | 20 CF 8C | JSR &8CCF Add 4 to Opcode (&29) | |
| 8B9D | 160 001 | A0 01 | LDY#&01 | |
| 8B9F | _ | 128 095 | 80 5F | BRA 95 --> &8C00 |
| 8BA1 | 8 | 224 056 | E0 38 | CPX#&38 |
| 8BA3 | % | 176 037 | B0 25 | BCS 37 --> &8BCA |
| 8BA5 | o | 032 111 146 | 20 6F 92 | JSR &926F Evaluate Expression at BASIC Text pointer A convert result to integer |
| 8BA8 | 160 003 | A0 03 | LDY#&03 | |
| 8BAA | 162 001 | A2 01 | LDX#&01 | |
| 8BAC | + | 165 043 | A5 2B | LDA &2B |
| 8BAE | 208 007 | D0 07 | BNE 7 --> &8BB7 | |
| 8BB0 | 162 015 | A2 0F | LDX#&0F | |
| 8BB2 | d | 169 100 | A9 64 | LDA#&64 |
| 8BB4 | ) | 133 041 | 85 29 | STA &29 |
| 8BB6 | 136 | 88 | DEY | |
| 8BB7 | Z | 090 | 5A | PHY |
| 8BB8 | 032 229 140 | 20 E5 8C | JSR &8CE5 Compare next non-space [PTR A] character with ',' | |
| 8BBB | 208 010 | D0 0A | BNE 10 --> &8BC7 | |
| 8BBD | 032 215 140 | 20 D7 8C | JSR &8CD7 Compare next non-space [PTR A] character with 'X' or 'x' | |
| 8BC0 | 208 194 | D0 C2 | BNE -62 --> &8B84 | |
| 8BC2 | 138 | 8A | TXA | |
| 8BC3 | e) | 101 041 | 65 29 | ADC &29 |
| 8BC5 | ) | 133 041 | 85 29 | STA &29 |
| 8BC7 | z | 122 | 7A | PLY |
| 8BC8 | 6 | 128 054 | 80 36 | BRA 54 --> &8C00 |
| 8BCA | < | 224 060 | E0 3C | CPX#&3C |
| 8BCC | 176 028 | B0 1C | BCS 28 --> &8BEA | |
| 8BCE | : | 224 058 | E0 3A | CPX#&3A |
| 8BD0 | 176 007 | B0 07 | BCS 7 --> &8BD9 | |
| 8BD2 | 032 223 140 | 20 DF 8C | JSR &8CDF Get next non-space char (PTR A) and compare with '#' | |
| 8BD5 | 240 016 | F0 10 | BEQ 16 --> &8BE7 | |
| 8BD7 | 198 010 | C6 0A | DEC &0A | |
| 8BD9 | o | 032 111 146 | 20 6F 92 | JSR &926F Evaluate Expression at BASIC Text pointer A convert result to integer |
| 8BDC | 128 128 | 80 80 | BRA -128 --> &8B5E | |
| 8BDE | 032 223 140 | 20 DF 8C | JSR &8CDF Get next non-space char (PTR A) and compare with '#' | |
| 8BE1 | 208 145 | D0 91 | BNE -111 --> &8B74 | |
| 8BE3 | 160 137 | A0 89 | LDY#&89 | |
| 8BE5 | ) | 132 041 | 84 29 | STY &29 |
| 8BE7 | L | 076 242 138 | 4C F2 8A | JMP &8AF2 Get Integer value; if 8-bit value, Y = 2 & Store assembly instruction; otherwise, Byte error |
| 8BEA | 240 242 | F0 F2 | BEQ -14 --> &8BDE | |
| 8BEC | > | 224 062 | E0 3E | CPX#&3E |
| 8BEE | 240 011 | F0 0B | BEQ 11 --> &8BFB | |
| 8BF0 | 7 | 176 055 | B0 37 | BCS 55 --> &8C29 |
| 8BF2 | 032 224 142 | 20 E0 8E | JSR &8EE0 Get next non-space char (PTR A) | |
| 8BF5 | ( | 201 040 | C9 28 | CMP#&28 |
| 8BF7 | 240 010 | F0 0A | BEQ 10 --> &8C03 | |
| 8BF9 | 198 010 | C6 0A | DEC &0A | |
| 8BFB | o | 032 111 146 | 20 6F 92 | JSR &926F Evaluate Expression at BASIC Text pointer A convert result to integer |
| 8BFE | 160 003 | A0 03 | LDY#&03 | |
| 8C00 | L^ | 076 094 138 | 4C 5E 8A | JMP &8A5E Store current instruction (if any) and exit |
| 8C03 | 032 201 140 | 20 C9 8C | JSR &8CC9 Add 16 to Opcode (&29) | |
| 8C06 | 032 201 140 | 20 C9 8C | JSR &8CC9 Add 16 to Opcode (&29) | |
| 8C09 | o | 032 111 146 | 20 6F 92 | JSR &926F Evaluate Expression at BASIC Text pointer A convert result to integer |
| 8C0C | 032 224 142 | 20 E0 8E | JSR &8EE0 Get next non-space char (PTR A) | |
| 8C0F | ) | 201 041 | C9 29 | CMP#&29 |
| 8C11 | 240 235 | F0 EB | BEQ -21 --> &8BFE Set number of bytes (Y) = 3 & Store assembly instruction | |
| 8C13 | , | 201 044 | C9 2C | CMP#&2C |
| 8C15 | 208 015 | D0 0F | BNE 15 --> &8C26 | |
| 8C17 | 032 201 140 | 20 C9 8C | JSR &8CC9 Add 16 to Opcode (&29) | |
| 8C1A | 032 215 140 | 20 D7 8C | JSR &8CD7 Compare next non-space [PTR A] character with 'X' or 'x' | |
| 8C1D | 208 007 | D0 07 | BNE 7 --> &8C26 | |
| 8C1F | 032 224 142 | 20 E0 8E | JSR &8EE0 Get next non-space char (PTR A) | |
| 8C22 | ) | 201 041 | C9 29 | CMP#&29 |
| 8C24 | 240 216 | F0 D8 | BEQ -40 --> &8BFE Set number of bytes (Y) = 3 & Store assembly instruction | |
| 8C26 | L< | 076 060 139 | 4C 3C 8B | JMP &8B3C Index error |
| 8C29 | D | 224 068 | E0 44 | CPX#&44 |
| 8C2B | M | 176 077 | B0 4D | BCS 77 --> &8C7A |
| 8C2D | = | 165 061 | A5 3D | LDA &3D |
| 8C2F | I | 073 001 | 49 01 | EOR#&01 |
| 8C31 | ) | 041 031 | 29 1F | AND#&1F |
| 8C33 | H | 072 | 48 | PHA |
| 8C34 | A | 224 065 | E0 41 | CPX#&41 |
| 8C36 | ! | 176 033 | B0 21 | BCS 33 --> &8C59 |
| 8C38 | 032 223 140 | 20 DF 8C | JSR &8CDF Get next non-space char (PTR A) and compare with '#' | |
| 8C3B | 208 003 | D0 03 | BNE 3 --> &8C40 | |
| 8C3D | h | 104 | 68 | PLA |
| 8C3E | 128 167 | 80 A7 | BRA -89 --> &8BE7 | |
| 8C40 | m | 032 109 146 | 20 6D 92 | JSR &926D Decrement TEXT POINTER A offset & evaluate Expression [PTR A] & convert result to integer |
| 8C43 | h | 104 | 68 | PLA |
| 8C44 | 7 | 133 055 | 85 37 | STA &37 |
| 8C46 | 032 229 140 | 20 E5 8C | JSR &8CE5 Compare next non-space [PTR A] character with ',' | |
| 8C49 | 208 145 | D0 91 | BNE -111 --> &8BDC | |
| 8C4B | 032 224 142 | 20 E0 8E | JSR &8EE0 Get next non-space char (PTR A) | |
| 8C4E | ) | 041 031 | 29 1F | AND#&1F |
| 8C50 | 7 | 197 055 | C5 37 | CMP &37 |
| 8C52 | 208 210 | D0 D2 | BNE -46 --> &8C26 | |
| 8C54 | 032 201 140 | 20 C9 8C | JSR &8CC9 Add 16 to Opcode (&29) | |
| 8C57 | 128 131 | 80 83 | BRA -125 --> &8BDC | |
| 8C59 | o | 032 111 146 | 20 6F 92 | JSR &926F Evaluate Expression at BASIC Text pointer A convert result to integer |
| 8C5C | h | 104 | 68 | PLA |
| 8C5D | 7 | 133 055 | 85 37 | STA &37 |
| 8C5F | 032 229 140 | 20 E5 8C | JSR &8CE5 Compare next non-space [PTR A] character with ',' | |
| 8C62 | 208 019 | D0 13 | BNE 19 --> &8C77 | |
| 8C64 | 032 224 142 | 20 E0 8E | JSR &8EE0 Get next non-space char (PTR A) | |
| 8C67 | ) | 041 031 | 29 1F | AND#&1F |
| 8C69 | 7 | 197 055 | C5 37 | CMP &37 |
| 8C6B | 208 185 | D0 B9 | BNE -71 --> &8C26 | |
| 8C6D | 032 201 140 | 20 C9 8C | JSR &8CC9 Add 16 to Opcode (&29) | |
| 8C70 | + | 165 043 | A5 2B | LDA &2B |
| 8C72 | 240 003 | F0 03 | BEQ 3 --> &8C77 | |
| 8C74 | L | 076 249 138 | 4C F9 8A | JMP &8AF9 Byte error |
| 8C77 | La | 076 097 139 | 4C 61 8B | JMP &8B61 |
| 8C7A | 208 011 | D0 0B | BNE 11 --> &8C87 | |
| 8C7C | o | 032 111 146 | 20 6F 92 | JSR &926F Evaluate Expression at BASIC Text pointer A convert result to integer |
| 8C7F | * | 165 042 | A5 2A | LDA &2A |
| 8C81 | ( | 133 040 | 85 28 | STA &28 |
| 8C83 | 160 000 | A0 00 | LDY#&00 | |
| 8C85 | * | 128 042 | 80 2A | BRA 42 --> &8CB1 |
| 8C87 | 162 001 | A2 01 | LDX#&01 | |
| 8C89 | 164 010 | A4 0A | LDY &0A | |
| 8C8B | 230 010 | E6 0A | INC &0A | |
| 8C8D | 177 011 | B1 0B | LDA (&0B),Y | |
| 8C8F | ) | 041 223 | 29 DF | AND#&DF |
| 8C91 | B | 201 066 | C9 42 | CMP#&42 |
| 8C93 | 240 018 | F0 12 | BEQ 18 --> &8CA7 | |
| 8C95 | 232 | E8 | INX | |
| 8C96 | W | 201 087 | C9 57 | CMP#&57 |
| 8C98 | 240 013 | F0 0D | BEQ 13 --> &8CA7 | |
| 8C9A | 162 004 | A2 04 | LDX#&04 | |
| 8C9C | D | 201 068 | C9 44 | CMP#&44 |
| 8C9E | 240 007 | F0 07 | BEQ 7 --> &8CA7 | |
| 8CA0 | S | 201 083 | C9 53 | CMP#&53 |
| 8CA2 | 240 019 | F0 13 | BEQ 19 --> &8CB7 | |
| 8CA4 | Li | 076 105 155 | 4C 69 9B | JMP &9B69 Syntax error |
| 8CA7 | 218 | DA | PHX | |
| 8CA8 | o | 032 111 146 | 20 6F 92 | JSR &926F Evaluate Expression at BASIC Text pointer A convert result to integer |
| 8CAB | ) | 162 041 | A2 29 | LDX#&29 |
| 8CAD | 032 198 189 | 20 C6 BD | JSR &BDC6 Save Integer (IWA) to zero page location | |
| 8CB0 | z | 122 | 7A | PLY |
| 8CB1 | L^ | 076 094 138 | 4C 5E 8A | JMP &8A5E Store current instruction (if any) and exit |
| 8CB4 | L | 076 146 144 | 4C 92 90 | JMP &9092 Type mismatch error |
| 8CB7 | ( | 165 040 | A5 28 | LDA &28 |
| 8CB9 | H | 072 | 48 | PHA |
| 8CBA | / | 032 047 157 | 20 2F 9D | JSR &9D2F Ptr B = Ptr A & Get result of expression |
| 8CBD | 208 245 | D0 F5 | BNE -11 --> &8CB4 | |
| 8CBF | h | 104 | 68 | PLA |
| 8CC0 | ( | 133 040 | 85 28 | STA &28 |
| 8CC2 | u | 032 117 146 | 20 75 92 | JSR &9275 Set PTR A Offset to PTR B Offset |
| 8CC5 | 160 255 | A0 FF | LDY#&FF | |
| 8CC7 | 128 232 | 80 E8 | BRA -24 --> &8CB1 |