Apple II User Manual

Page of 257
F717: A5 00     119  STAT     LDA   R0L
F719: 81 00     120  STAT2    STA   (R0L,X)    ;STORE BYTE INDIRECT
F71B: A0 00     121           LDY   #$0
F71D: 84 1D     122  STAT3    STY   R14H       ;INDICATE R0 IS RESULT NEG
F71F: F6 00     123  INR      INC   R0L,X
F721: D0 02     124           BNE   INR2       ;INCR RX
F723: F6 01     125           INC   R0H,X
F725: 60        126  INR2     RTS
F726: A1 00     127  LDAT     LDA   (R0L,X)    ;LOAD INDIRECT (RX)
F728: 85 00     128           STA   R0L        ;TO R0
F72A: A0 00     129           LDY   #$0
F72C: 84 01     130           STY   R0H        ;ZERO HIGH-ORDER R0 BYTE
F72E: F0 ED     131           BEQ   STAT3      ;ALWAYS TAKEN
F730: A0 00     132  POP      LDY   #$0        ;HIGH ORDER BYTE = 0
F732: F0 06     133           BEQ   POP2       ;ALWAYS TAKEN
F734: 20 66 F7  134  POPD     JSR   DCR        ;DECR RX
F737: A1 00     135           LDA   (R0L,X)    ;POP HIGH ORDER BYTE @RX
F739: A8        136           TAY              ;SAVE IN Y-REG
F73A: 20 66 F7  137  POP2     JSR   DCR        ;DECR RX
F73D: A1 00     138           LDA   (R0L,X)    ;LOW-ORDER BYTE
F73F: 85 00     139           STA   R0L        ;TO R0
F741: 84 01     140           STY   R0H
F743: A0 00     141  POP3     LDY   #$0        ;INDICATE R0 AS LAST RESULT REG
F745: 84 1D     142           STY   R14H
F747: 60        143           RTS
F748: 20 26 F7  144  LDDAT    JSR   LDAT       ;LOW-ORDER BYTE TO R0, INCR RX
F74B: A1 00     145           LDA   (R0L,X)    ;HIGH-ORDER BYTE TO R0
F74D: 85 01     146           STA   R0H
F74F: 4C 1F F7  147           JMP   INR        ;INCR RX
F752: 20 17 F7  148  STDAT    JSR   STAT       ;STORE INDIRECT LOW-ORDER
F755: A5 01     149           LDA   R0H        ;BYTE AND INCR RX.  THEN
F757: 81 00     150           STA   (R0L,X)    ;STORE HIGH-ORDER BYTE.
F759: 4C 1F F7  151           JMP   INR        ;INCR RX AND RETURN
F75C: 20 66 F7  152  STPAT    JSR   DCR        ;DECR RX
F75F: A5 00     153           LDA   R0L
F761: 81 00     154           STA   (R0L,X)    ;STORE R0 LOW BYTE @RX
F763: 4C 43 F7  155           JMP   POP3       ;INDICATE R0 AS LAST RSLT REG
F766: B5 00     156  DCR      LDA   R0L,X
F768: D0 02     157           BNE   DCR2       ;DECR RX
F76A: D6 01     158           DEC   R0H,X
F76C: D6 00     159  DCR2     DEC   R0L,X
F76E: 60        160           RTS
F76F: A0 00     161  SUB      LDY   #$0        ;RESULT TO R0
F771: 38        162  CPR      SEC              ;NOTE Y-REG = 13*2 FOR CPR
F772: A5 00     163           LDA   R0L
F774: F5 00     164           SBC   R0L,X
F776: 99 00 00  165           STA   R0L,Y      ;R0-RX TO RY
F779: A5 01     166           LDA   R0H
F77B: F5 01     167           SBC   R0H,X
F77D: 99 01 00  168  SUB2     STA   R0H,Y
F780: 98        169           TYA              ;LAST RESULT REG*2
F781: 69 00     170           ADC   #$0        ;CARRY TO LSB
F783: 85 1D     171           STA   R14H
F785: 60        172           RTS
F786: A5 00     173  ADD      LDA   R0L
F788: 75 00     174           ADC   R0L,X
F78A: 85 00     175           STA   R0L        ;R0+RX TO R0
F78C: A5 01     176           LDA   R0H
F78E: 75 01     177           ADC   R0H,X
F790: A0 00     178           LDY   #$0        ;R0 FOR RESULT
F792: F0 E9     179           BEQ   SUB2       ;FINISH ADD
F794: A5 1E     180  BS       LDA   R15L       ;NOTE X-REG IS 12*2!