Apple II User Manual

Page of 257
FDAD: A5 3C     829  MODSCHK  LDA   A1L
FDAF: 29 07     830           AND   #$07
FDB1: D0 03     831           BNE   DATAOUT
FDB3: 20 92 FD  832  XAM      JSR   PRA1
FDB6: A9 A0     833  DATAOUT  LDA   #$A0
FDB8: 20 ED FD  834           JSR   COUT       ;OUTPUT BLANK
FDBB: B1 3C     835           LDA   (A1L),Y
FDBD: 20 DA FD  836           JSR   PRBYTE     ;OUTPUT BYTE IN HEX
FDC0: 20 BA FC  837           JSR   NXTA1
FDC3: 90 E8     838           BCC   MODSCHK    ;CHECK IF TIME TO,
FDC5: 60        839  RTS4C    RTS              ;  PRINT ADDR
FDC6: 4A        840  XAMPM    LSR              ;DETERMINE IF MON
FDC7: 90 EA     841           BCC   XAM        ;  MODE IS XAM
FDC9: 4A        842           LSR              ;  ADD, OR SUB
FDCA: 4A        843           LSR
FDCB: A5 3E     844           LDA   A2L
FDCD: 90 02     845           BCC   ADD
FDCF: 49 FF     846           EOR   #$FF       ;SUB: FORM 2'S COMPLEMENT
FDD1: 65 3C     847  ADD      ADC   A1L
FDD3: 48        848           PHA
FDD4: A9 BD     849           LDA   #$BD
FDD6: 20 ED FD  850           JSR   COUT       ;PRINT '=', THEN RESULT
FDD9: 68        851           PLA
FDDA: 48        852  PRBYTE   PHA              ;PRINT BYTE AS 2 HEX
FDDB: 4A        853           LSR              ;  DIGITS, DESTROYS A-REG
FDDC: 4A        854           LSR
FDDD: 4A        855           LSR
FDDE: 4A        856           LSR
FDDF: 20 E5 FD  857           JSR   PRHEXZ
FDE2: 68        858           PLA
FDE3: 29 0F     859  PRHEX    AND   #$0F       ;PRINT HEX DIG IN A-REG
FDE5: 09 B0     860  PRHEXZ   ORA   #$B0       ;  LSB'S
FDE7: C9 BA     861           CMP   #$BA
FDE9: 90 02     862           BCC   COUT
FDEB: 69 06     863           ADC   #$06
FDED: 6C 36 00  864  COUT     JMP   (CSWL)     ;VECTOR TO USER OUTPUT ROUTINE
FDF0: C9 A0     865  COUT1    CMP   #$A0
FDF2: 90 02     866           BCC   COUTZ      ;DON'T OUTPUT CTRL'S INVERSE
FDF4: 25 32     867           AND   INVFLG     ;MASK WITH INVERSE FLAG
FDF6: 84 35     868  COUTZ    STY   YSAV1      ;SAV Y-REG
FDF8: 48        869           PHA              ;SAV A-REG
FDF9: 20 FD FB  870           JSR   VIDOUT     ;OUTPUT A-REG AS ASCII
FDFC: 68        871           PLA              ;RESTORE A-REG
FDFD: A4 35     872           LDY   YSAV1      ;  AND Y-REG
FDFF: 60        873           RTS              ;  THEN RETURN
FE00: C6 34     874  BL1      DEC   YSAV
FE02: F0 9F     875           BEQ   XAM8
FE04: CA        876  BLANK    DEX              ;BLANK TO MON
FE05: D0 16     877           BNE   SETMDZ     ;AFTER BLANK
FE07: C9 BA     878           CMP   #$BA       ;DATA STORE MODE?
FE09: D0 BB     879           BNE   XAMPM      ;  NO, XAM, ADD, OR SUB
FE0B: 85 31     880  STOR     STA   MODE       ;KEEP IN STORE MODE
FE0D: A5 3E     881           LDA   A2L
FE0F: 91 40     882           STA   (A3L),Y    ;STORE AS LOW BYTE AS (A3)
FE11: E6 40     883           INC   A3L
FE13: D0 02     884           BNE   RTS5       ;INCR A3, RETURN
FE15: E6 41     885           INC   A3H
FE17: 60        886  RTS5     RTS
FE18: A4 34     887  SETMODE  LDY   YSAV       ;SAVE CONVERTED ':', '+',
FE1A: B9 FF 01  888           LDA   IN-1,Y     ;  '-', '.' AS MODE.
FE1D: 85 31     889  SETMDZ   STA   MODE
FE1F: 60        890           RTS