0241 8131 10 02 BPL HASHUS+2
0242 8133 0A HASHUS ASL A ;HASH 'USER' CMDS TO ONE BYTE A
0243 8134 0A ASL A ;U0 = $14 THRU U17 =$1B
0244 8135 8D 57 A6 STA LSTCOM
0245 8138 20 1B 8A JSR INCHR ;GET SECOND
0246 813B F0 C2 BEQ GETCOM
0247 813D 18 CLC
0248 813E 6D 57 A6 ADC LSTCOM
0249 8141 29 0F AND #$0F
0250 8143 09 10 ORA #$10
0251 8145 10 D9 BPL STOCOM
0252 8147 FF FF FF .DB $FF,$FF,$FF ;NOT USED
0253 814A ;
0254 814A ;DISPATCH TO EXEC BLK 0PARM, 1PARM, 2PARM, OR 3PARM
0255 814A ;
0256 814A C9 0D DISPAT CMP #$0D ;C/R IF OK ELSE URSVEC
0257 814C D0 20 BNE HIPN
0258 814E AD 57 A6 LDA LSTCOM
0259 8151 AE 49 A6 LDX PARNR
0260 8154 D0 03 BNE M12
0261 8156 4C 95 83 JMP BZPARM ;0 PARM BLOCK
0262 8159 E0 01 M12 CPX #$01
0263 815B D0 03 BNE M13
0264 815D 4C DA 84 JMP B1PARM ;1 PARM BLOCK
0265 8160 E0 02 M13 CPX #$02
0266 8162 D0 03 BNE M14
0267 8164 4C 19 86 JMP B2PARM ;2 PARM BLOCK
0268 8167 E0 03 M14 CPX #$03
0269 8169 D0 03 BNE HIPN
0270 816B 4C 14 87 JMP B3PARM ;3 PARM BLOCK
0271 816E 6C 6A A6 HIPN JMP (URSVEC+1) ;ELSE UNREC SYNTAX VECTOR
0272 8171 ;
0273 8171 ; ERMSG - PRINT ACC IN HEX IF CARRY SET
0274 8171 ;
0275 8171 90 44 ERMSG BCC M15
0276 8173 48 PHA
0277 8174 20 4D 83 JSR CRLF
0278 8177 A9 45 LDA #'E'
0279 8179 20 47 8A JSR OUTCHR
0280 817C A9 52 LDA #'R'
0281 817E 20 47 8A JSR OUTCHR
0282 8181 20 42 83 JSR SPACE
0283 8184 68 PLA
0284 8185 4C FA 82 JMP OUTBYT
0285 8188 ;
0286 8188 ; SAVER - SAVE ALL REG'S + FLAGS ON STACK
0287 8188 ; RETURN WITH F,A,X,Y UNCHANGED
0288 8188 ; STACK HAS FLAGS,A,X,Y, PUSHED
0289 8188 08 SAVER PHP
0290 8189 48 PHA
0291 818A 48 PHA
0292 818B 48 PHA
0293 818C 08 PHP
0294 818D 48 PHA
0295 818E 8A TXA
0296 818F 48 PHA
0297 8190 BA TSX
0298 8191 BD 09 01 LDA $0109,X
0299 8194 9D 05 01 STA $0105,X
0300 8197 BD 07 01 LDA $0107,X
0301 819A 9D 09 01 STA $0109,X
0302 819D BD 01 01 LDA $0101,X