Submitted by Steve Fewell
Description:
Get the next non-space character pointed to by BASIC Text Pointer A.
| B739 | 032 166 155 | 20 A6 9B | JSR &9BA6 Check end of Statement | |
| B73C | 032 166 178 | 20 A6 B2 | JSR &B2A6 Reset 'ON ERROR' pointer to BASIC's default error handling routine | |
| B73F | 128 217 | 80 D9 | BRA -39 --> &B71A Jump to &9005 to continue running the program | |
| B741 | 032 224 142 | 20 E0 8E | JSR &8EE0 Get next non-space character pointed to by Ptr A | |
| B744 | 201 135 | C9 87 | CMP#&87 | |
| B746 | 240 241 | F0 F1 | BEQ -15 --> &B739 Execute ON ERROR OFF statement | |
| B748 | 164 010 | A4 0A | LDY &0A | |
| B74A | 136 | 88 | DEY | |
| B74B | 032 188 155 | 20 BC 9B | JSR &9BBC Update BASIC Text pointer A (Add offset value & then reset offset to 1) | |
| B74E | d | 100 010 | 64 0A | STZ &0A |
| B750 | 165 011 | A5 0B | LDA &0B | |
| B752 | 133 022 | 85 16 | STA &16 | |
| B754 | 165 012 | A5 0C | LDA &0C | |
| B756 | 133 023 | 85 17 | STA &17 | |
| B758 | L | 076 174 143 | 4C AE 8F | JMP &8FAE Skip the rest of the line and process the next program line |
| B75B | 032 224 142 | 20 E0 8E | JSR &8EE0 Get next non-space character pointed to by Ptr A | |
| B75E | 201 133 | C9 85 | CMP#&85 | |
| B760 | 240 223 | F0 DF | BEQ -33 --> &B741 Execute 'ON ERROR' statement | |
| B762 | 198 010 | C6 0A | DEC &0A | |
| B764 | o | 032 111 146 | 20 6F 92 | JSR &926F Evaluate Expression at BASIC Text pointer A & convert the result to integer |
| B767 | 224 242 | E0 F2 | CPX#&F2 | |
| B769 | 240 009 | F0 09 | BEQ 9 --> &B774 | |
| B76B | 200 | C8 | INY | |
| B76C | 224 229 | E0 E5 | CPX#&E5 | |
| B76E | 240 004 | F0 04 | BEQ 4 --> &B774 | |
| B770 | 224 228 | E0 E4 | CPX#&E4 | |
| B772 | v | 208 118 | D0 76 | BNE 118 --> &B7EA 'ON syntax' error |
| B774 | 218 | DA | PHX | |
| B775 | + | 165 043 | A5 2B | LDA &2B |
| B777 | , | 005 044 | 05 2C | ORA &2C |
| B779 | - | 005 045 | 05 2D | ORA &2D |
| B77B | X | 208 088 | D0 58 | BNE 88 --> &B7D5 Check for ELSE-token (if found then execute ELSE statement) otherwise issue 'ON range' error |
| B77D | * | 198 042 | C6 2A | DEC &2A |
| B77F | 5 | 240 053 | F0 35 | BEQ 53 --> &B7B6 Execute the PROC/GOTO/GOSUB statement |
| B781 | 0R | 048 082 | 30 52 | BMI 82 --> &B7D5 Check for ELSE-token (if found then execute ELSE statement) otherwise issue 'ON range' error |
| B783 | 177 011 | B1 0B | LDA (&0B),Y | |
| B785 | 201 013 | C9 0D | CMP#&0D | |
| B787 | L | 240 076 | F0 4C | BEQ 76 --> &B7D5 Check for ELSE-token (if found then execute ELSE statement) otherwise issue 'ON range' error |
| B789 | : | 201 058 | C9 3A | CMP#&3A |
| B78B | H | 240 072 | F0 48 | BEQ 72 --> &B7D5 Check for ELSE-token (if found then execute ELSE statement) otherwise issue 'ON range' error |
| B78D | 201 139 | C9 8B | CMP#&8B | |
| B78F | D | 240 068 | F0 44 | BEQ 68 --> &B7D5 Check for ELSE-token (if found then execute ELSE statement) otherwise issue 'ON range' error |
| B791 | 200 | C8 | INY | |
| B792 | " | 201 034 | C9 22 | CMP#&22 |
| B794 | 208 004 | D0 04 | BNE 4 --> &B79A | |
| B796 | E+ | 069 043 | 45 2B | EOR &2B |
| B798 | + | 133 043 | 85 2B | STA &2B |
| B79A | + | 166 043 | A6 2B | LDX &2B |
| B79C | 208 229 | D0 E5 | BNE -27 --> &B783 | |
| B79E | ) | 201 041 | C9 29 | CMP#&29 |
| B7A0 | 208 002 | D0 02 | BNE 2 --> &B7A4 | |
| B7A2 | , | 198 044 | C6 2C | DEC &2C |
| B7A4 | ( | 201 040 | C9 28 | CMP#&28 |
| B7A6 | 208 002 | D0 02 | BNE 2 --> &B7AA | |
| B7A8 | , | 230 044 | E6 2C | INC &2C |
| B7AA | , | 201 044 | C9 2C | CMP#&2C |
| B7AC | 208 213 | D0 D5 | BNE -43 --> &B783 | |
| B7AE | , | 166 044 | A6 2C | LDX &2C |
| B7B0 | 208 209 | D0 D1 | BNE -47 --> &B783 | |
| B7B2 | * | 198 042 | C6 2A | DEC &2A |
| B7B4 | 208 205 | D0 CD | BNE -51 --> &B783 | |
| B7B6 | h | 104 | 68 | PLA |
| B7B7 | 201 242 | C9 F2 | CMP#&F2 | |
| B7B9 | H | 240 072 | F0 48 | BEQ 72 --> &B803 Execute the PROC statement |
| B7BB | 132 010 | 84 0A | STY &0A | |
| B7BD | 201 228 | C9 E4 | CMP#&E4 | |
| B7BF | 240 009 | F0 09 | BEQ 9 --> &B7CA | |
| B7C1 | * | 032 042 184 | 20 2A B8 | JSR &B82A Get Line Number & find Program Address of the Line Number |
| B7C4 | 032 198 155 | 20 C6 9B | JSR &9BC6 Set PTR A Offset to 1 & Check for Escape error condition | |
| B7C7 | L# | 076 035 183 | 4C 23 B7 | JMP &B723 Jump to Program Line spec ified |
| B7CA | * | 032 042 184 | 20 2A B8 | JSR &B82A Get Line Number & find Program Address of the Line Number |
| B7CD | 164 010 | A4 0A | LDY &0A | |
| B7CF | 032 029 184 | 20 1D B8 | JSR &B81D Skip the rest of the program statement (until a ':' or carriage return ('<cr>') character is found) | |
| B7D2 | L | 076 220 182 | 4C DC B6 | JMP &B6DC Check for end of statement & GOSUB the Line Number specified in the IWA |
| B7D5 | h | 104 | 68 | PLA |
| B7D6 | 177 011 | B1 0B | LDA (&0B),Y | |
| B7D8 | 200 | C8 | INY | |
| B7D9 | 201 139 | C9 8B | CMP#&8B | |
| B7DB | : | 240 058 | F0 3A | BEQ 58 --> &B817 Update PTR A Offset & execute the ELSE-statement |
| B7DD | 201 013 | C9 0D | CMP#&0D | |
| B7DF | 208 245 | D0 F5 | BNE -11 --> &B7D6 | |
| B7E1 | 'ON range' error | |||
| B7EA | 'ON syntax' error | |||
| B7F4 | 'No such line' error | |||
| B803 | 132 027 | 84 1B | STY &1B | |
| B805 | 032 213 142 | 20 D5 8E | JSR &8ED5 Get next non-space character (PTR B) | |
| B808 | 201 242 | C9 F2 | CMP#&F2 | |
| B80A | 208 222 | D0 DE | BNE -34 --> &B7EA 'ON syntax' error | |
| B80C | 032 025 176 | 20 19 B0 | JSR &B019 PROC | |
| B80F | 164 027 | A4 1B | LDY &1B | |
| B811 | 032 029 184 | 20 1D B8 | JSR &B81D Skip the rest of the program statement (until a ':' or carriage return ('<cr>') character is found) | |
| B814 | L | 076 002 144 | 4C 02 90 | JMP &9002 'Syntax error' if not end of statement; otherwise, execute next statement/program line |
| B817 | 132 010 | 84 0A | STY &0A | |
| B819 | L) | 076 041 156 | 4C 29 9C | JMP &9C29 Find and execute the ELSE statement (if one is found) |
| B81C | 200 | C8 | INY | |
| B81D | 177 011 | B1 0B | LDA (&0B),Y | |
| B81F | 201 013 | C9 0D | CMP#&0D | |
| B821 | 240 004 | F0 04 | BEQ 4 --> &B827 | |
| B823 | : | 201 058 | C9 3A | CMP#&3A |
| B825 | 208 245 | D0 F5 | BNE -11 --> &B81C | |
| B827 | 132 010 | 84 0A | STY &0A | |
| B829 | ` | 096 | 60 | RTS |