Apple II User Manual

Page of 257
F8F5: A9 00     243  PRMN1    LDA   #$00
F8F7: A0 05     244           LDY   #$05
F8F9: 06 2D     245  PRMN2    ASL   RMNEM      ;SHIFT 5 BITS OF
F8FB: 26 2C     246           ROL   LMNEM      ;  CHARACTER INTO A
F8FD: 2A        247           ROL              ;    (CLEARS CARRY)
F8FE: 88        248           DEY
F8FF: D0 F8     249           BNE   PRMN2
F901: 69 BF     250           ADC   #$BF       ;ADD "?" OFFSET
F903: 20 ED FD  251           JSR   COUT       ;OUTPUT A CHAR OF MNEM
F906: CA        252           DEX
F907: D0 EC     253           BNE   PRMN1
F909: 20 48 F9  254           JSR   PRBLNK     ;OUTPUT 3 BLANKS
F90C: A4 2F     255           LDY   LENGTH
F90E: A2 06     256           LDX   #$06       ;CNT FOR 6 FORMAT BITS
F910: E0 03     257  PRADR1   CPX   #$03
F912: F0 1C     258           BEQ   PRADR5     ;IF X=3 THEN ADDR.
F914: 06 2E     259  PRADR2   ASL   FORMAT
F916: 90 0E     260           BCC   PRADR3
F918: BD B3 F9  261           LDA   CHAR1-1,X
F91B: 20 ED FD  262           JSR   COUT
F91E: BD B9 F9  263           LDA   CHAR2-1,X
F921: F0 03     264           BEQ   PRADR3
F923: 20 ED FD  265           JSR   COUT
F926: CA        266  PRADR3   DEX
F927: D0 E7     267           BNE   PRADR1
F929: 60        268           RTS
F92A: 88        269  PRADR4   DEY
F92B: 30 E7     270           BMI   PRADR2
F92D: 20 DA FD  271           JSR   PRBYTE
F930: A5 2E     272  PRADR5   LDA   FORMAT
F932: C9 E8     273           CMP   #$E8       ;HANDLE REL ADR MODE
F934: B1 3A     274           LDA   (PCL),Y    ;SPECIAL (PRINT TARGET,
F936: 90 F2     275           BCC   PRADR4     ;  NOT OFFSET)
F938: 20 56 F9  276  RELADR   JSR   PCADJ3
F93B: AA        277           TAX              ;PCL,PCH+OFFSET+1 TO A,Y
F93C: E8        278           INX
F93D: D0 01     279           BNE   PRNTYX     ;+1 TO Y,X
F93F: C8        280           INY
F940: 98        281  PRNTYX   TYA
F941: 20 DA FD  282  PRNTAX   JSR   PRBYTE     ;OUTPUT TARGET ADR
F944: 8A        283  PRNTX    TXA              ;  OF BRANCH AND RETURN
F945: 4C DA FD  284           JMP   PRBYTE
F948: A2 03     285  PRBLNK   LDX   #$03       ;BLANK COUNT
F94A: A9 A0     286  PRBL2    LDA   #$A0       ;LOAD A SPACE
F94C: 20 ED FD  287  PRBL3    JSR   COUT       ;OUTPUT A BLANK
F94F: CA        288           DEX
F950: D0 F8     289           BNE   PRBL2      ;LOOP UNTIL COUNT=0
F952: 60        290           RTS
F953: 38        291  PCADJ    SEC              ;0=1-BYTE, 1=2-BYTE
F954: A5 2F     292  PCADJ2   LDA   LENGTH     ;  2=3-BYTE
F956: A4 3B     293  PCADJ3   LDY   PCH
F958: AA        294           TAX              ;TEST DISPLACEMENT SIGN
F959: 10 01     295           BPL   PCADJ4     ;  (FOR REL BRANCH)
F95B: 88        296           DEY              ;EXTEND NEG BY DEC PCH
F95C: 65 3A     297  PCADJ4   ADC   PCL
F95E: 90 01     298           BCC   RTS2       ;PCL+LENGTH(OR DISPL)+1 TO A
F960: C8        299           INY              ;  CARRY INTO Y (PCH)
F961: 60        300  RTS2     RTS
                301  * FMT1 BYTES:    XXXXXXY0 INSTRS
                302  * IF Y=0         THEN LEFT HALF BYTE
                303  * IF Y=1         THEN RIGHT HALF BYTE
                304  *                   (X=INDEX)