Apple II User Manual

Page of 257
3725   FC3A 4C CB FC           JMP OPCOMP
3726   FC3D 4C B6 FC    HATCJ  JMP HATCH
3727   FC40 A9 04       TRY34  LDA #04         ;CHECK FOR ABSOLUTE OR ZP,X ORZP,`
3728   FC42 CD 31 A4           CMP TEMPX
3729   FC45 90 15              BCC ABSIND
3730   FC47 A2 02              LDX #02
3731   FC49 20 F1 FD           JSR XORYZ       ;CC = X, CS = Y, NE = ABSOLUTE
3732   FC4C D0 58              BNE ABSOL
3733   FC4E 90 05              BCC ZPX
3734   FC50 A2 03       ZPY    LDX #03         ;CARRY SET SO ZP,Y MODE
3735   FC52 4C CB FC           JMP OPCOMP
3736   FC55 A2 04       ZPX    LDX #04         ;CARRY CLEAR SO ZP,X MODE
3737   FC57 4C CB FC           JMP OPCOMP
3738   FC5A B0 69       TRY56  BCS ERRORM
3739   FC5C 20 EF FD    ABSIND JSR XORY        ;CC=ABS,X   CS=ABS,Y  NE=ERROR
3740   FC5F D0 64              BNE ERRORM
3741   FC61 90 0F              BCC ABSX
3742   FC63 A9 09       ABSY   LDA #09
3743   FC65 CD 2E 01           CMP TYPE
3744   FC68 D0 04              BNE ABSY1
3745   FC6A A2 0E              LDX #$0E
3746   FC6C D0 5D              BNE OPCOMP
3747   FC6E A2 08       ABSY1  LDX #$08
3748   FC70 D0 59              BNE OPCOMP
3749   FC72 A2 09       ABSX   LDX #09         ;CARRY CLEAR SO ABS,X MODE
3750   FC74 D0 55              BNE OPCOMP
3751   FC76 AD 36 01    PAREN  LDA ADFLD+3     ;SEE IF (HH,X),(HH)Y OR (HHHH)
3752   FC79 C9 2C              CMP #','        ;(HHX) (HH),Y  ARE OK TOO
3753   FC7B F0 04              BEQ INDX        ;COMMA IN 4TH POSITION = (HH,X)
3754   FC7D C9 58              CMP #'X'        ;X IN 4TH POSITION = (HHX)
3755   FC7F D0 04              BNE TRYINY
3756   FC81 A2 0B       INDX   LDX #$0B
3757   FC83 D0 46              BNE OPCOMP
3758   FC85 C9 29       TRYINY CMP #')'        ;")" IN 4TH POS = (HH)Y OR (HH),Y
3759   FC87 D0 0B              BNE TRYJMP
3760   FC89 20 EF FD           JSR XORY        ;CHCK TO SEE IF Y INDEX REG DESIRE
3761   FC8C D0 37              BNE ERRORM
3762   FC8E 90 35              BCC ERRORM
3763   FC90 A2 0A              LDX #$0A
3764   FC92 D0 37              BNE OPCOMP
3765   FC94 AD 38 01    TRYJMP LDA ADFLD+5     ;CHECK FOR FINAL PAREN
3766   FC97 C9 29              CMP #')'
3767   FC99 D0 2A              BNE ERRORM
3768   FC9B AD 2E 01           LDA TYPE        ;CONFIRM CORRECT ADDRESS TYPE
3769   FC9E C9 0B              CMP #$0B
3770   FCA0 D0 23              BNE ERRORM
3771   FCA2 A2 0D              LDX #$0D        ;OK, FORM IS JMP (HHHH)
3772   FCA4 D0 25              BNE OPCOMP
3773   FCA6 AD 2E 01    ABSOL  LDA TYPE        ;CHECK FOR BRANCH TO ABSOLUTE LOC
3774   FCA9 C9 0C              CMP #$0C
3775   FCAB D0 05              BNE ABSOL1
3776   FCAD A2 02              LDX #02
3777   FCAF 4C CB FC           JMP OPCOMP
3778   FCB2 A2 0C       ABSOL1 LDX #$0C
3779   FCB4 D0 15              BNE OPCOMP
3780   FCB6             ;SELECT IMMEDIATE ADDRESSING TYPE
3781   FCB6 AD 2E 01    HATCH  LDA TYPE
3782   FCB9 C9 01              CMP #01
3783   FCBB F0 04              BEQ IMMED1
3784   FCBD A2 07              LDX #07
3785   FCBF D0 0A              BNE OPCOMP
3786   FCC1 A2 06       IMMED1 LDX #06