C EDIT DATE 17AUG78 12:38 C SOURCE FILE LSOBJJHP.IN C AUTHOR J.H.PERINE C STRUCTURE OF 'LINSTR' TABLE C 256 ENTRIES - 1 FOR EACH POSSIBLE OP CODE C 2 WORDS PER ENTRY C FIRST WORD: C LEFT HALF: IDENTIFIES CRUTCH TABLE C 1 (256) IMPLID C 2 (512) RELTIV C 3 (768) GROUP1 C 4 (1024) OTHERS C RIGHT HALF: INDEX INTO TABLE FOR ASCII TEXT C SECOND WORD (ATTRIBUTES): C LEFT HALF: ADDRESSING MODE COMPONENTS C BIT MEANING C 0 NOT USED C 1 AREG 16384 C 2 IMMEDIATE 8192 C 3 ZP 4096 C 4 ABS 2048 C 5 XREG 1024 C 6 YREG 512 C 7 INDIRECT 256 C RIGHT HALF: TIMING C BIT 8: EXTRA CYCLES FLAG (128) C BITS 9-15: BASIC CYCLES C DUMMY ARRAYS FOR INITIALIZATION INTEGER L0INS (32), L1INS (32), L2INS (32), L3INS (32) INTEGER L4INS (32), L5INS (32), L6INS (32), L7INS (32) INTEGER L8INS (32), L9INS (32), LAINS (32), LBINS (32) INTEGER LCINS (32), LDINS (32), LEINS (32), LFINS (32) EQUIVALENCE ( L0INS (1), LINSTR ( 1) ) EQUIVALENCE ( L1INS (1), LINSTR ( 33) ) EQUIVALENCE ( L2INS (1), LINSTR ( 65) ) EQUIVALENCE ( L3INS (1), LINSTR ( 97) ) EQUIVALENCE ( L4INS (1), LINSTR (129) ) EQUIVALENCE ( L5INS (1), LINSTR (161) ) EQUIVALENCE ( L6INS (1), LINSTR (193) ) EQUIVALENCE ( L7INS (1), LINSTR (225) ) EQUIVALENCE ( L8INS (1), LINSTR (257) ) EQUIVALENCE ( L9INS (1), LINSTR (289) ) EQUIVALENCE ( LAINS (1), LINSTR (321) ) EQUIVALENCE ( LBINS (1), LINSTR (353) ) EQUIVALENCE ( LCINS (1), LINSTR (385) ) EQUIVALENCE ( LDINS (1), LINSTR (417) ) EQUIVALENCE ( LEINS (1), LINSTR (449) ) EQUIVALENCE ( LFINS (1), LINSTR (481) ) DATA L0INS / ^ 257, 7, ^ // 00 BRK 784, 1286, ^ // 01 ORA @X 0, 0, ^ // 02 0, 0, ^ // 03 0, 0, ^ // 04 784, 4099, ^ // 05 ORA ZP 1025, 4101, ^ // 06 ASL ZP 0, 0, ^ // 07 290, 3, ^ // 08 PHP 784, 8194, ^ // 09 ORA IMM 1025, 16386, ^ // 0A ASL AREG 0, 0, ^ // 0B 0, 0, ^ // 0C 784, 2052, ^ // 0D ORA ABS 1025, 2054, ^ // 0E ASL ABS 0, 0 / // 0F DATA L1INS / ^ 528, 130, ^ // 10 BPL 784, 773, ^ // 11 ORA @Y 0, 0, ^ // 12 0, 0, ^ // 13 0, 0, ^ // 14 784, 5124, ^ // 15 ORA ZP,X 1025, 5126, ^ // 16 ASL ZP,X 0, 0, ^ // 17 260, 2, ^ // 18 CLC 784, 2692, ^ // 19 ORA ABS,Y 0, 0, ^ // 1A 0, 0, ^ // 1B 0, 0, ^ // 1C 784, 3204, ^ // 1D ORA ABS,X 1025, 3079, ^ // 1E ASL ABS,X 0, 0 / // 1F DATA L2INS / ^ 1102, 2054, ^ // 20 JSR 772, 1286, ^ // 21 AND @X 0, 0, ^ // 22 0, 0, ^ // 23 1036, 4099, ^ // 24 BIT ZP 772, 4099, ^ // 25 AND ZP 1146, 4101, ^ // 26 ROL ZP 0, 0, ^ // 27 296, 4, ^ // 28 PLP 772, 8194, ^ // 29 AND IMM 1146, 16386, ^ // 2A ROL AREG 0, 0, ^ // 2B 1036, 2052, ^ // 2C BIT ABS 772, 2052, ^ // 2D AND ABS 1146, 2054, ^ // 2E ROL ABS 0, 0 / // 2F DATA L3INS / ^ 522, 130, ^ // 30 BMI 772, 773, ^ // 31 AND @Y 0, 0, ^ // 32 0, 0, ^ // 33 0, 0, ^ // 34 772, 5124, ^ // 35 AND ZP,X 1146, 5216, ^ // 36 ROL ZP,X 0, 0, ^ // 37 305, 2, ^ // 38 SEC 772, 2692, ^ // 39 AND ABS,Y 0, 0, ^ // 3A 0, 0, ^ // 3B 0, 0, ^ // 3C 772, 3204, ^ // 3D AND ABS,X 1146, 3079, ^ // 3E ROL ABS,X 0, 0 / // 3F DATA L4INS / ^ 299, 6, ^ // 40 RTI 778, 1286, ^ // 41 EOR @X 0, 0, ^ // 42 0, 0, ^ // 43 0, 0, ^ // 44 778, 4099, ^ // 45 EOR ZP 1135, 4101, ^ // 46 LSR ZP 0, 0, ^ // 47 287, 3, ^ // 48 PHA 778, 8194, ^ // 49 EOR IMM 1135, 16386, ^ // 4A LSR AREG 0, 0, ^ // 4B 1091, 2051, ^ // 4C JMP ABS 778, 2052, ^ // 4D EOR ABS 1135, 2054, ^ // 4E LSR ABS 0, 0 / // 4F DATA L5INS / ^ 531, 130, ^ // 50 BVC 778, 901, ^ // 51 EOR @Y 0, 0, ^ // 52 0, 0, ^ // 53 0, 0, ^ // 54 778, 5126, ^ // 55 EOR ZP,X 1135, 5126, ^ // 56 LSR ZP,X 0, 0, ^ // 57 266, 2, ^ // 58 CLI 778, 2692, ^ // 59 EOR ABS,Y 0, 0, ^ // 5A 0, 0, ^ // 5B 0, 0, ^ // 5C 778, 3204, ^ // 5D EOR ABS,X 1135, 3079, ^ // 5E LSR ABS,X 0, 0 / // 5F DATA L6INS / ^ 302, 6, ^ // 60 RTS 769, 1286, ^ // 61 ADC @X 0, 0, ^ // 62 0, 0, ^ // 63 0, 0, ^ // 64 769, 4099, ^ // 65 ADC ZP 1157, 4101, ^ // 66 ROR ZP 0, 0, ^ // 67 293, 4, ^ // 68 PLA 769, 8194, ^ // 69 ADC IMM 1157, 16386, ^ // 6A ROR AREG 0, 0, ^ // 6B 1091, 261, ^ // 6C JMP @ 769, 2052, ^ // 6D ADC ABS 1157, 2054, ^ // 6E ROR ABS 0, 0 / // 6F DATA L7INS / ^ 534, 130, ^ // 70 BVS 769, 901, ^ // 71 ADC @Y 0, 0, ^ // 72 0, 0, ^ // 73 0, 0, ^ // 74 769, 5124, ^ // 75 ADC ZP,X 1157, 5126, ^ // 76 ROR ZP,X 0, 0, ^ // 77 311, 2, ^ // 78 SEI 769, 2692, ^ // 79 ADC ABS,Y 0, 0, ^ // 7A 0, 0, ^ // 7B 0, 0, ^ // 7C 769, 3204, ^ // 7D ADC ABS,X 1157, 3079, ^ // 7E ROR ABS,X 0, 0 / // 7F DATA L8INS / ^ 0, 0, ^ // 80 790, 1286, ^ // 81 STA @X 0, 0, ^ // 82 0, 0, ^ // 83 1179, 4099, ^ // 84 STY ZP 790, 4099, ^ // 85 STA ZP 1168, 4099, ^ // 86 STX ZP 0, 0, ^ // 87 275, 2, ^ // 88 DEY 0, 0, ^ // 89 326, 2, ^ // 8A TXA 0, 0, ^ // 8B 1179, 2052, ^ // 8C STY ABS 790, 2052, ^ // 8D STA ABS 1168, 2052, ^ // 8E STX ABS 0, 0 / // 8F DATA L9INS / ^ 513, 130, ^ // 90 BCC 790, 774, ^ // 91 STA @Y 0, 0, ^ // 92 0, 0, ^ // 93 1179, 5124, ^ // 94 STY ZP,X 790, 5124, ^ // 95 STA ZP,X 1168, 4612, ^ // 96 STX ZP,Y 0, 0, ^ // 97 320, 2, ^ // 98 TYA 790, 2565, ^ // 99 STA ABS,Y 329, 2, ^ // 9A TXS 0, 0, ^ // 9B 0, 0, ^ // 9C 790, 3077, ^ // 9D STA ABS,X 0, 0, ^ // 9E 0, 0 / // 9F DATA LAINS / ^ 1124, 8194, ^ // A0 LDY IMM 781, 1286, ^ // A1 LDA @X 1113, 8194, ^ // A2 LDX IMM 0, 0, ^ // A3 1124, 4099, ^ // A4 LDY ZP 781, 4099, ^ // A5 LDA ZP 1113, 4099, ^ // A6 LDX ZP 0, 0, ^ // A7 317, 2, ^ // A8 TAY 781, 8194, ^ // A9 LDA IMM 314, 2, ^ // AA TAX 0, 0, ^ // AB 1124, 2052, ^ // AC LDY ABS 781, 2052, ^ // AD LDA ABS 1113, 2052, ^ // AE LDX ABS 0, 0 / // AF DATA LBINS / ^ 516, 130, ^ // B0 BCS 781, 901, ^ // B1 LDA @Y 0, 0, ^ // B2 0, 0, ^ // B3 1124, 5124, ^ // B4 LDY ZP,X 781, 5124, ^ // B5 LDA ZP,X 1113, 4612, ^ // B6 LDX ZP,Y 0, 0, ^ // B7 269, 2, ^ // B8 CLV 781, 2692, ^ // B9 LDA ABS,Y 323, 2, ^ // BA TSX 0, 0, ^ // BB 1124, 3204, ^ // BC LDY ABS,X 781, 3204, ^ // BD LDA ABS,X 1113, 2692, ^ // BE LDX ABS,Y 0, 0 / // BF DATA LCINS / ^ 1058, 8194, ^ // C0 CPY IMM 775, 1286, ^ // C1 CMP @X 0, 0, ^ // C2 0, 0, ^ // C3 1058, 4099, ^ // C4 CPY ZP 775, 4099, ^ // C5 CMP ZP 1069, 4101, ^ // C6 DEC ZP 0, 0, ^ // C7 281, 2, ^ // C8 INY 775, 8194, ^ // C9 CMP IMM 272, 2, ^ // CA DEX 0, 0, ^ // CB 1058, 2052, ^ // CC CPY ABS 775, 2052, ^ // CD CMP ABS 1069, 2054, ^ // CE DEC ABS 0, 0 / // CF DATA LDINS / ^ 525, 130, ^ // D0 BNE 775, 901, ^ // D1 CMP @Y 0, 0, ^ // D2 0, 0, ^ // D3 0, 0, ^ // D4 775, 5124, ^ // D5 CMP ZP,X 1069, 5126, ^ // D6 DEC ZP,X 0, 0, ^ // D7 263, 2, ^ // D8 CLD 775, 2692, ^ // D9 CMP ABS,Y 0, 0, ^ // DA 0, 0, ^ // DB 0, 0, ^ // DC 775, 3204, ^ // DD CMP ABS,X 1069, 3079, ^ // DE DEC ABS,X 0, 0 / // DF DATA LEINS / ^ 1047, 8194, ^ // E0 CPX IMM 787, 1286, ^ // E1 SBC @X 0, 0, ^ // E2 0, 0, ^ // E3 1047, 4099, ^ // E4 CPX ZP 787, 4099, ^ // E5 SBC ZP 1080, 4101, ^ // E6 INC ZP 0, 0, ^ // E7 278, 2, ^ // E8 INX 787, 8194, ^ // E9 SBC IMM 284, 2, ^ // EA NOP 0, 0, ^ // EB 1047, 2052, ^ // EC CPX ABS 787, 2052, ^ // ED SBC ABS 1080, 2054, ^ // EE INC ABS 0, 0 / // EF DATA LFINS / ^ 519, 130, ^ // F0 BEQ 787, 901, ^ // F1 SBC @Y 0, 0, ^ // F2 0, 0, ^ // F3 0, 0, ^ // F4 787, 5124, ^ // F5 SBC ZP,X 1080, 5126, ^ // F6 INC ZP,X 0, 0, ^ // F7 308, 2, ^ // F8 SED 787, 2692, ^ // F9 SBC ABS,Y 0, 0, ^ // FA 0, 0, ^ // FB 0, 0, ^ // FC 787, 2692, ^ // FD SBC ABS,Y 1080, 3079, ^ // FE INC ABS,X 0, 0 / // FF