Apple II Manual Do Utilizador

Página de 257
F884: A4 3B     181           LDY   PCH
F886: 20 96 FD  182           JSR   PRYX2
F889: 20 48 F9  183           JSR   PRBLNK     ;FOLLOWED BY A BLANK
F88C: A1 3A     184           LDA   (PCL,X)    ;GET OP CODE
F88E: A8        185  INSDS2   TAY
F88F: 4A        186           LSR              ;EVEN/ODD TEST
F890: 90 09     187           BCC   IEVEN
F892: 6A        188           ROR              ;BIT 1 TEST
F893: B0 10     189           BCS   ERR        ;XXXXXX11 INVALID OP
F895: C9 A2     190           CMP   #$A2
F897: F0 0C     191           BEQ   ERR        ;OPCODE $89 INVALID
F899: 29 87     192           AND   #$87       ;MASK BITS
F89B: 4A        193  IEVEN    LSR              ;LSB INTO CARRY FOR L/R TEST
F89C: AA        194           TAX
F89D: BD 62 F9  195           LDA   FMT1,X     ;GET FORMAT INDEX BYTE
F8A0: 20 79 F8  196           JSR   SCRN2      ;R/L H-BYTE ON CARRY
F8A3: D0 04     197           BNE   GETFMT
F8A5: A0 80     198  ERR      LDY   #$80       ;SUBSTITUTE $80 FOR INVALID OPS
F8A7: A9 00     199           LDA   #$00       ;SET PRINT FORMAT INDEX TO 0
F8A9: AA        200  GETFMT   TAX
F8AA: BD A6 F9  201           LDA   FMT2,X     ;INDEX INTO PRINT FORMAT TABLE
F8AD: 85 2E     202           STA   FORMAT     ;SAVE FOR ADR FIELD FORMATTING
F8AF: 29 03     203           AND   #$03       ;MASK FOR 2-BIT LENGTH
                204                            ; (P=1 BYTE, 1=2 BYTE, 2=3 BYTE)
F8B1: 85 2F     205           STA   LENGTH
F8B3: 98        206           TYA              ;OPCODE
F8B4: 29 8F     207           AND   #$8F       ;MASK FOR 1XXX1010 TEST
F8B6: AA        208           TAX              ; SAVE IT
F8B7: 98        209           TYA              ;OPCODE TO A AGAIN
F8B8: A0 03     210           LDY   #$03
F8BA: E0 8A     211           CPX   #$8A
F8BC: F0 0B     212           BEQ   MNNDX3
F8BE: 4A        213  MNNDX1   LSR
F8BF: 90 08     214           BCC   MNNDX3     ;FORM INDEX INTO MNEMONIC TABLE
F8C1: 4A        215           LSR
F8C2: 4A        216  MNNDX2   LSR              ;1) 1XXX1010->00101XXX
F8C3: 09 20     217           ORA   #$20       ;2) XXXYYY01->00111XXX
F8C5: 88        218           DEY              ;3) XXXYYY10->00110XXX
F8C6: D0 FA     219           BNE   MNNDX2     ;4) XXXYY100->00100XXX
F8C8: C8        220           INY              ;5) XXXXX000->000XXXXX
F8C9: 88        221  MNNDX3   DEY
F8CA: D0 F2     222           BNE   MNNDX1
F8CC: 60        223           RTS
F8CD: FF FF FF  224           DFB   $FF,$FF,$FF
F8D0: 20 82 F8  225  INSTDSP  JSR   INSDS1     ;GEN FMT, LEN BYTES
F8D3: 48        226           PHA              ;SAVE MNEMONIC TABLE INDEX
F8D4: B1 3A     227  PRNTOP   LDA   (PCL),Y
F8D6: 20 DA FD  228           JSR   PRBYTE
F8D9: A2 01     229           LDX   #$01       ;PRINT 2 BLANKS
F8DB: 20 4A F9  230  PRNTBL   JSR   PRBL2
F8DE: C4 2F     231           CPY   LENGTH     ;PRINT INST (1-3 BYTES)
F8E0: C8        232           INY              ;IN A 12 CHR FIELD
F8E1: 90 F1     233           BCC   PRNTOP
F8E3: A2 03     234           LDX   #$03       ;CHAR COUNT FOR MNEMONIC PRINT
F8E5: C0 04     235           CPY   #$04
F8E7: 90 F2     236           BCC   PRNTBL
F8E9: 68        237           PLA              ;RECOVER MNEMONIC INDEX
F8EA: A8        238           TAY
F8EB: B9 C0 F9  239           LDA   MNEML,Y
F8EE: 85 2C     240           STA   LMNEM      ;FETCH 3-CHAR MNEMONIC
F8F0: B9 00 FA  241           LDA   MNEMR,Y    ;  (PACKED IN 2-BYTES)
F8F3: 85 2D     242           STA   RMNEM