Apple II User Manual

Page of 257
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