M jasm/processor/45gs02/instructions_45gs02.cpp +120 -126
@@ 57,153 57,147 @@ constexpr OpCode op(uint8_t op1, uint8_t
return opcode;
}
-uint32_t __addressing_modes_mask[static_cast<int>(InstructionType::NumTypes)] = {
-#define __ xx
-#define ___ xxx
-#define ____ xxxx
+uint32_t addressing_modes_mask[static_cast<int>(InstructionType::NumTypes)] = {
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* ADC */ Bp | Abs | Bpx | AbsX | ___ | AbsY | BpIX | ____ | ___ | ____ | ____ | ___ | BpIY | BpIZ | ___ | BIQZ | ____ | ___ | Imm | ____ | __ | ___ ,
- /* ADCQ*/ Bp | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | BInd | ___ | ____ | ____ | BIQ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* AND */ Bp | Abs | Bpx | AbsX | ___ | AbsY | BpIX | ____ | ___ | ____ | ____ | ___ | BpIY | BpIZ | ___ | BIQZ | ____ | ___ | Imm | ____ | __ | ___ ,
- /* ANDQ*/ Bp | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | BInd | ___ | ____ | ____ | BIQ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* ASL */ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
+ /* ADC */ Bp | Abs | Bpx | AbsX | (_) | AbsY | BpIX | ( _) | (_) | ( _) | ( _) | (_) | BpIY | BpIZ | (_) | BIQZ | ( _) | (_) | Imm | ( _) | _ | (_) ,
+ /* ADCQ*/ Bp | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | BInd | (_) | ( _) | ( _) | BIQ | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* AND */ Bp | Abs | Bpx | AbsX | (_) | AbsY | BpIX | ( _) | (_) | ( _) | ( _) | (_) | BpIY | BpIZ | (_) | BIQZ | ( _) | (_) | Imm | ( _) | _ | (_) ,
+ /* ANDQ*/ Bp | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | BInd | (_) | ( _) | ( _) | BIQ | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* ASL */ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* ASLQ*/ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* ASR */ Bp | ___ | Bpx | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* ASRQ*/ Bp | ___ | Bpx | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* ASW */ __ | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* BBR */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | Bbr ,
+ /* ASLQ*/ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* ASR */ Bp | (_) | Bpx | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* ASRQ*/ Bp | (_) | Bpx | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* ASW */ _ | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* BBR */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | Bbr ,
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* BBS */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | Bbr ,
- /* BCC */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* BCS */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* BEQ */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* BIT */ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | Imm | ____ | __ | ___ ,
+ /* BBS */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | Bbr ,
+ /* BCC */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* BCS */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* BEQ */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* BIT */ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | Imm | ( _) | _ | (_) ,
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* BITQ*/ Bp | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* BMI */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* BNE */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* BPL */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* BRK */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | Imm | ____ | __ | ___ ,
+ /* BITQ*/ Bp | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* BMI */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* BNE */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* BPL */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* BRK */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | Imm | ( _) | _ | (_) ,
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* BRU */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* BSR */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | RelW | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* BVC */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* BVS */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* CLC */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
+ /* BRU */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* BSR */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | RelW | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* BVC */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* BVS */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* CLC */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* CLD */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* CLE */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* CLI */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* CLV */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* CMP */ Bp | Abs | Bpx | AbsX | ___ | AbsY | BpIX | ____ | ___ | ____ | ____ | ___ | BpIY | BpIZ | ___ | BIQZ | ____ | ___ | Imm | ____ | __ | ___ ,
+ /* CLD */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* CLE */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* CLI */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* CLV */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* CMP */ Bp | Abs | Bpx | AbsX | (_) | AbsY | BpIX | ( _) | (_) | ( _) | ( _) | (_) | BpIY | BpIZ | (_) | BIQZ | ( _) | (_) | Imm | ( _) | _ | (_) ,
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* CMPQ*/ Bp | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | BInd | ___ | ____ | ____ | BIQ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* CPX */ Bp | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | Imm | ____ | __ | ___ ,
- /* CPY */ Bp | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | Imm | ____ | __ | ___ ,
- /* CPZ */ Bp | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | Imm | ____ | __ | ___ ,
- /* DEC */ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
+ /* CMPQ*/ Bp | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | BInd | (_) | ( _) | ( _) | BIQ | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* CPX */ Bp | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | Imm | ( _) | _ | (_) ,
+ /* CPY */ Bp | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | Imm | ( _) | _ | (_) ,
+ /* CPZ */ Bp | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | Imm | ( _) | _ | (_) ,
+ /* DEC */ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* DEQ */ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* DEW */ Bp | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* DEX */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* DEY */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* DEZ */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
+ /* DEQ */ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* DEW */ Bp | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* DEX */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* DEY */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* DEZ */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* EOM */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* EOR */ Bp | Abs | Bpx | AbsX | ___ | AbsY | BpIX | ____ | ___ | ____ | ____ | ___ | BpIY | BpIZ | ___ | BIQZ | ____ | ___ | Imm | ____ | __ | ___ ,
- /* EORQ*/ Bp | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | BInd | ___ | ____ | ____ | BIQ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* INC */ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* INQ */ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* INW */ Bp | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
+ /* EOM */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* EOR */ Bp | Abs | Bpx | AbsX | (_) | AbsY | BpIX | ( _) | (_) | ( _) | ( _) | (_) | BpIY | BpIZ | (_) | BIQZ | ( _) | (_) | Imm | ( _) | _ | (_) ,
+ /* EORQ*/ Bp | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | BInd | (_) | ( _) | ( _) | BIQ | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* INC */ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* INQ */ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* INW */ Bp | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* INX */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* INY */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* INZ */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* JMP */ __ | Abs | ___ | ____ | ___ | ____ | ____ | IndX | ___ | ____ | ____ | Ind | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* JSR */ __ | Abs | ___ | ____ | ___ | ____ | ____ | IndX | ___ | ____ | ____ | Ind | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
+ /* INX */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* INY */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* INZ */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* JMP */ _ | Abs | (_) | ( _) | (_) | ( _) | ( _) | IndX | (_) | ( _) | ( _) | Ind | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* JSR */ _ | Abs | (_) | ( _) | (_) | ( _) | ( _) | IndX | (_) | ( _) | ( _) | Ind | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* LDA */ Bp | Abs | Bpx | AbsX | ___ | AbsY | BpIX | ____ | ___ | ____ | ____ | ___ | BpIY | BpIZ | ___ | BIQZ | SpIY | ___ | Imm | ____ | __ | ___ ,
- /* LDQ */ Bp | Abs | Bpx | AbsX | ___ | AbsY | ____ | ____ | ___ | ____ | BInd | ___ | BpIY | ____ | BIQ | ____ | SpIY | ___ | ___ | ____ | __ | ___ ,
- /* LDX */ Bp | Abs | ___ | ____ | Bpy | AbsY | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | Imm | ____ | __ | ___ ,
- /* LDY */ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | Imm | ____ | __ | ___ ,
- /* LDZ */ __ | Abs | ___ | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | Imm | ____ | __ | ___ ,
+ /* LDA */ Bp | Abs | Bpx | AbsX | (_) | AbsY | BpIX | ( _) | (_) | ( _) | ( _) | (_) | BpIY | BpIZ | (_) | BIQZ | SpIY | (_) | Imm | ( _) | _ | (_) ,
+ /* LDQ */ Bp | Abs | Bpx | AbsX | (_) | AbsY | ( _) | ( _) | (_) | ( _) | BInd | (_) | BpIY | ( _) | BIQ | ( _) | SpIY | (_) | (_) | ( _) | _ | (_) ,
+ /* LDX */ Bp | Abs | (_) | ( _) | Bpy | AbsY | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | Imm | ( _) | _ | (_) ,
+ /* LDY */ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | Imm | ( _) | _ | (_) ,
+ /* LDZ */ _ | Abs | (_) | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | Imm | ( _) | _ | (_) ,
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* LSR */ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* LSRQ*/ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* MAP */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* NEG */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* ORA */ Bp | Abs | Bpx | AbsX | ___ | AbsY | BpIX | ____ | ___ | ____ | ____ | ___ | BpIY | BpIZ | ___ | BIQZ | ____ | ___ | Imm | ____ | __ | ___ ,
+ /* LSR */ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* LSRQ*/ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* MAP */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* NEG */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* ORA */ Bp | Abs | Bpx | AbsX | (_) | AbsY | BpIX | ( _) | (_) | ( _) | ( _) | (_) | BpIY | BpIZ | (_) | BIQZ | ( _) | (_) | Imm | ( _) | _ | (_) ,
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* ORQ */ Bp | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | BInd | ___ | ____ | ____ | BIQ | ____ | ____ | ___ | Imm | ____ | __ | ___ ,
- /* PHA */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* PHP */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* PHW */ __ | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ImmW | __ | ___ ,
- /* PHX */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
+ /* ORQ */ Bp | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | BInd | (_) | ( _) | ( _) | BIQ | ( _) | ( _) | (_) | Imm | ( _) | _ | (_) ,
+ /* PHA */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* PHP */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* PHW */ _ | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ImmW | _ | (_) ,
+ /* PHX */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* PHY */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* PHZ */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* PLA */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* PLP */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* PLX */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
+ /* PHY */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* PHZ */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* PLA */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* PLP */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* PLX */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* PLY */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* PLZ */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* RMB */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | Bb | ___ ,
- /* ROL */ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* ROLQ*/ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
+ /* PLY */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* PLZ */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* RMB */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | Bb | (_) ,
+ /* ROL */ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* ROLQ*/ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* ROR */ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* RORQ*/ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* ROW */ __ | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* RTI */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* RTN */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | Imm | ____ | __ | ___ ,
+ /* ROR */ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* RORQ*/ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* ROW */ _ | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* RTI */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* RTN */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | Imm | ( _) | _ | (_) ,
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* RTS */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* SBC */ Bp | Abs | Bpx | AbsX | ___ | AbsY | BpIX | ____ | ___ | ____ | ____ | ___ | BpIY | BpIZ | ___ | BIQZ | ____ | ___ | Imm | ____ | __ | ___ ,
- /* SBCQ*/ Bp | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | BInd | ___ | ____ | ____ | BIQ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* SEC */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* SED */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
+ /* RTS */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* SBC */ Bp | Abs | Bpx | AbsX | (_) | AbsY | BpIX | ( _) | (_) | ( _) | ( _) | (_) | BpIY | BpIZ | (_) | BIQZ | ( _) | (_) | Imm | ( _) | _ | (_) ,
+ /* SBCQ*/ Bp | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | BInd | (_) | ( _) | ( _) | BIQ | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* SEC */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* SED */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* SEE */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* SEI */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* SMB */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | Bb | ___ ,
- /* STA */ Bp | Abs | Bpx | AbsX | ___ | AbsY | BpIX | ____ | ___ | ____ | ____ | ___ | BpIY | BpIZ | ___ | BIQZ | SpIY | ___ | ___ | ____ | __ | ___ ,
- /* STQ */ Bp | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | BInd | ___ | ____ | ____ | BIQ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
+ /* SEE */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* SEI */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* SMB */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | Bb | (_) ,
+ /* STA */ Bp | Abs | Bpx | AbsX | (_) | AbsY | BpIX | ( _) | (_) | ( _) | ( _) | (_) | BpIY | BpIZ | (_) | BIQZ | SpIY | (_) | (_) | ( _) | _ | (_) ,
+ /* STQ */ Bp | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | BInd | (_) | ( _) | ( _) | BIQ | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* STX */ Bp | Abs | ___ | ____ | Bpy | AbsY | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* STY */ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* STZ */ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* TAB */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* TAX */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
+ /* STX */ Bp | Abs | (_) | ( _) | Bpy | AbsY | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* STY */ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* STZ */ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* TAB */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* TAX */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* TAY */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* TAZ */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* TBA */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* TRB */ Bp | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* TSB */ Bp | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
+ /* TAY */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* TAZ */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* TBA */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* TRB */ Bp | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* TSB */ Bp | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* TSX */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* TSY */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* TXA */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* TXS */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* TYS */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
+ /* TSX */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* TSY */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* TXA */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* TXS */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* TYS */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* TYA */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* TZA */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
+ /* TYA */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* TZA */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BInd Ind BpIY BpIZ | BIQ | BIQZ SpIY Imp Imm ImmW Bb Bbr */
- /* BHS */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* BLT */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* BRA */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ___ | ____ | __ | ___ ,
- /* DEA */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
- /* INA */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | ___ | ____ | ____ | Imp | ___ | ____ | __ | ___ ,
-#undef __
-#undef ___
-#undef ____
+ /* BHS */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* BLT */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* BRA */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | (_) | ( _) | _ | (_) ,
+ /* DEA */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
+ /* INA */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | (_) | ( _) | ( _) | Imp | (_) | ( _) | _ | (_) ,
};
-OpCodes __opcodes[static_cast<int>(InstructionType::NumTypes)] = {
+OpCodes _opcodes[static_cast<int>(InstructionType::NumTypes)] = {
/* BP, ABSO, BPX, ABSX, BPY, ABSY, BPIX, INDX, RELA, RELW, BIND, INDI, BPIY, BPIZ, BIQ, BIQZ, SPIY, IMPL, IMME, IMMW, BB, BBR,*/
/* ADC */ {{op(0x65), op(0x6d), op(0x75), op(0x7d), op(), op(0x79), op(0x61), op(), op(), op(), op(), op(), op(0x71), op(0x72), op(), op(0xea,0x72), op(), op(), op(0x69), op(), op(), op()}},
@@ 221,7 215,7 @@ OpCodes __opcodes[static_cast<int>(Instr
/* BP, ABSO, BPX, ABSX, BPY, ABSY, BPIX, INDX, RELA, RELW, BIND, INDI, BPIY, BPIZ, BIQ, BIQZ, SPIY, IMPL, IMME, IMMW, BB, BBR,*/
/* ASLQ*/ {{op(0x42,0x42,0x06), op(0x42,0x42,0x0e), op(0x42,0x42,0x16), op(0x42,0x42,0x1e), op(), op(), op(), op(), op(), op(), op(), op(), op(), op(), op(), op(), op(), op(0x42,0x42,0x0a), op(), op(), op(), op()}},
-
+
/* BP, ABSO, BPX, ABSX, BPY, ABSY, BPIX, INDX, RELA, RELW, BIND, INDI, BPIY, BPIZ, BIQ, BIQZ, SPIY, IMPL, IMME, IMMW, BB, BBR,*/
/* ASR */ {{op(0x44), op(), op(0x54), op(), op(), op(), op(), op(), op(), op(), op(), op(), op(), op(), op(), op(), op(), op(0x43), op(), op(), op(), op()}},
@@ 523,7 517,7 @@ OpCodes __opcodes[static_cast<int>(Instr
/* INA */ {{op(), op(), op(), op(), op(), op(), op(), op(), op(), op(), op(), op(), op(), op(), op(), op(), op(), op(0x1a), op(), op(), op(), op()}},
};
-InstructionType __inverse_branch_instruction[static_cast<int>(InstructionType::NumTypes)] = {
+InstructionType _inverse_branch_instruction[static_cast<int>(InstructionType::NumTypes)] = {
/* ADC */ InstructionType::Brk,
/* ADCQ*/ InstructionType::Brk,
/* AND */ InstructionType::Brk,
@@ 641,20 635,20 @@ InstructionType __inverse_branch_instruc
uint32_t addressing_modes(InstructionType instruction)
{
assert(instruction < InstructionType::NumTypes);
- return __addressing_modes_mask[static_cast<int>(instruction)];
+ return addressing_modes_mask[static_cast<int>(instruction)];
}
OpCode opcode(InstructionType instruction, AddressingModeType addr_mode)
{
assert(instruction < InstructionType::NumTypes);
assert(addr_mode < AddressingModeType::NumAddressingModes);
- return __opcodes[static_cast<int>(instruction)].op_codes[static_cast<int>(addr_mode)];
+ return _opcodes[static_cast<int>(instruction)].op_codes[static_cast<int>(addr_mode)];
}
InstructionType inverse_branch(InstructionType instruction)
{
assert(instruction < InstructionType::NumTypes);
- return __inverse_branch_instruction[static_cast<int>(instruction)];
+ return _inverse_branch_instruction[static_cast<int>(instruction)];
}
bool is_ending_instruction(InstructionType type)
M jasm/processor/45gs02/instructions_45gs02.h +2 -4
@@ 190,10 190,8 @@ namespace AddressingModeMask
ImmW = 1 << static_cast<int>(AddressingModeType::ImmediateWord),
Bb = 1 << static_cast<int>(AddressingModeType::BitBp),
Bbr = 1 << static_cast<int>(AddressingModeType::BitBpRel),
-
- xx = 0,
- xxx = 0,
- xxxx = 0,
+
+ _ = 0,
};
}
M jasm/processor/6502/instructions_6502.cpp +65 -71
@@ 15,75 15,69 @@ struct OpCodes
uint8_t op_codes[static_cast<int>(AddressingModeType::NumAddressingModes)];
};
-uint16_t __addressing_modes_mask[static_cast<int>(InstructionType::NumTypes)] = {
-#define __ xx
-#define ___ xxx
-#define ____ xxxx
- /* ADC */ ___ | Imm | Zp | Zpx | ___ | Abs | AbsX | AbsY | ___ | ___ | IndX | IndY ,
- /* AND */ ___ | Imm | Zp | Zpx | ___ | Abs | AbsX | AbsY | ___ | ___ | IndX | IndY ,
- /* ASL */ Imp | ___ | Zp | Zpx | ___ | Abs | AbsX | ____ | ___ | ___ | ____ | ____ ,
- /* BCC */ ___ | ___ | __ | ___ | ___ | ___ | ____ | ____ | Rel | ___ | ____ | ____ ,
- /* BCS */ ___ | ___ | __ | ___ | ___ | ___ | ____ | ____ | Rel | ___ | ____ | ____ ,
- /* BEQ */ ___ | ___ | __ | ___ | ___ | ___ | ____ | ____ | Rel | ___ | ____ | ____ ,
- /* BIT */ ___ | ___ | Zp | ___ | ___ | Abs | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* BMI */ ___ | ___ | __ | ___ | ___ | ___ | ____ | ____ | Rel | ___ | ____ | ____ ,
- /* BNE */ ___ | ___ | __ | ___ | ___ | ___ | ____ | ____ | Rel | ___ | ____ | ____ ,
- /* BPL */ ___ | ___ | __ | ___ | ___ | ___ | ____ | ____ | Rel | ___ | ____ | ____ ,
- /* BRK */ Imp | Imm | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* BVC */ ___ | ___ | __ | ___ | ___ | ___ | ____ | ____ | Rel | ___ | ____ | ____ ,
- /* BVS */ ___ | ___ | __ | ___ | ___ | ___ | ____ | ____ | Rel | ___ | ____ | ____ ,
- /* CLC */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* CLD */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* CLI */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* CLV */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* CMP */ ___ | Imm | Zp | Zpx | ___ | Abs | AbsX | AbsY | ___ | ___ | IndX | IndY ,
- /* CPX */ ___ | Imm | Zp | ___ | ___ | Abs | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* CPY */ ___ | Imm | Zp | ___ | ___ | Abs | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* DEC */ ___ | ___ | Zp | Zpx | ___ | Abs | AbsX | ____ | ___ | ___ | ____ | ____ ,
- /* DEX */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* DEY */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* EOR */ ___ | Imm | Zp | Zpx | ___ | Abs | AbsX | AbsY | ___ | ___ | IndX | IndY ,
- /* INC */ ___ | ___ | Zp | Zpx | ___ | Abs | AbsX | ____ | ___ | ___ | ____ | ____ ,
- /* INX */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* INY */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* JMP */ ___ | ___ | __ | ___ | ___ | Abs | ____ | ____ | ___ | Ind | ____ | ____ ,
- /* JSR */ ___ | ___ | __ | ___ | ___ | Abs | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* LDA */ ___ | Imm | Zp | Zpx | ___ | Abs | AbsX | AbsY | ___ | ___ | IndX | IndY ,
- /* LDX */ ___ | Imm | Zp | ___ | Zpy | Abs | ____ | AbsY | ___ | ___ | ____ | ____ ,
- /* LDY */ ___ | Imm | Zp | Zpx | ___ | Abs | AbsX | ____ | ___ | ___ | ____ | ____ ,
- /* LSR */ Imp | ___ | Zp | Zpx | ___ | Abs | AbsX | ____ | ___ | ___ | ____ | ____ ,
- /* NOP */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* ORA */ ___ | Imm | Zp | Zpx | ___ | Abs | AbsX | AbsY | ___ | ___ | IndX | IndY ,
- /* PHA */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* PHP */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* PLA */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* PLP */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* ROL */ Imp | ___ | Zp | Zpx | ___ | Abs | AbsX | ____ | ___ | ___ | ____ | ____ ,
- /* ROR */ Imp | ___ | Zp | Zpx | ___ | Abs | AbsX | ____ | ___ | ___ | ____ | ____ ,
- /* RTI */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* RTS */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* SBC */ ___ | Imm | Zp | Zpx | ___ | Abs | AbsX | AbsY | ___ | ___ | IndX | IndY ,
- /* SEC */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* SED */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* SEI */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* STA */ ___ | ___ | Zp | Zpx | ___ | Abs | AbsX | AbsY | ___ | ___ | IndX | IndY ,
- /* STX */ ___ | ___ | Zp | ___ | Zpy | Abs | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* STY */ ___ | ___ | Zp | Zpx | ___ | Abs | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* TAX */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* TAY */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* TSX */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* TXA */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* TXS */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
- /* TYA */ Imp | ___ | __ | ___ | ___ | ___ | ____ | ____ | ___ | ___ | ____ | ____ ,
+uint16_t addressing_modes_mask[static_cast<int>(InstructionType::NumTypes)] = {
+ /* ADC */ (_) | Imm | Zp | Zpx | (_) | Abs | AbsX | AbsY | (_) | (_) | IndX | IndY ,
+ /* AND */ (_) | Imm | Zp | Zpx | (_) | Abs | AbsX | AbsY | (_) | (_) | IndX | IndY ,
+ /* ASL */ Imp | (_) | Zp | Zpx | (_) | Abs | AbsX | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* BCC */ (_) | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | Rel | (_) | ( _) | ( _) ,
+ /* BCS */ (_) | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | Rel | (_) | ( _) | ( _) ,
+ /* BEQ */ (_) | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | Rel | (_) | ( _) | ( _) ,
+ /* BIT */ (_) | (_) | Zp | (_) | (_) | Abs | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* BMI */ (_) | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | Rel | (_) | ( _) | ( _) ,
+ /* BNE */ (_) | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | Rel | (_) | ( _) | ( _) ,
+ /* BPL */ (_) | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | Rel | (_) | ( _) | ( _) ,
+ /* BRK */ Imp | Imm | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* BVC */ (_) | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | Rel | (_) | ( _) | ( _) ,
+ /* BVS */ (_) | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | Rel | (_) | ( _) | ( _) ,
+ /* CLC */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* CLD */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* CLI */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* CLV */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* CMP */ (_) | Imm | Zp | Zpx | (_) | Abs | AbsX | AbsY | (_) | (_) | IndX | IndY ,
+ /* CPX */ (_) | Imm | Zp | (_) | (_) | Abs | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* CPY */ (_) | Imm | Zp | (_) | (_) | Abs | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* DEC */ (_) | (_) | Zp | Zpx | (_) | Abs | AbsX | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* DEX */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* DEY */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* EOR */ (_) | Imm | Zp | Zpx | (_) | Abs | AbsX | AbsY | (_) | (_) | IndX | IndY ,
+ /* INC */ (_) | (_) | Zp | Zpx | (_) | Abs | AbsX | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* INX */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* INY */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* JMP */ (_) | (_) | _ | (_) | (_) | Abs | ( _) | ( _) | (_) | Ind | ( _) | ( _) ,
+ /* JSR */ (_) | (_) | _ | (_) | (_) | Abs | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* LDA */ (_) | Imm | Zp | Zpx | (_) | Abs | AbsX | AbsY | (_) | (_) | IndX | IndY ,
+ /* LDX */ (_) | Imm | Zp | (_) | Zpy | Abs | ( _) | AbsY | (_) | (_) | ( _) | ( _) ,
+ /* LDY */ (_) | Imm | Zp | Zpx | (_) | Abs | AbsX | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* LSR */ Imp | (_) | Zp | Zpx | (_) | Abs | AbsX | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* NOP */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* ORA */ (_) | Imm | Zp | Zpx | (_) | Abs | AbsX | AbsY | (_) | (_) | IndX | IndY ,
+ /* PHA */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* PHP */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* PLA */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* PLP */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* ROL */ Imp | (_) | Zp | Zpx | (_) | Abs | AbsX | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* ROR */ Imp | (_) | Zp | Zpx | (_) | Abs | AbsX | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* RTI */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* RTS */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* SBC */ (_) | Imm | Zp | Zpx | (_) | Abs | AbsX | AbsY | (_) | (_) | IndX | IndY ,
+ /* SEC */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* SED */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* SEI */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* STA */ (_) | (_) | Zp | Zpx | (_) | Abs | AbsX | AbsY | (_) | (_) | IndX | IndY ,
+ /* STX */ (_) | (_) | Zp | (_) | Zpy | Abs | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* STY */ (_) | (_) | Zp | Zpx | (_) | Abs | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* TAX */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* TAY */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* TSX */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* TXA */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* TXS */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
+ /* TYA */ Imp | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | (_) | (_) | ( _) | ( _) ,
- /* BHS */ ___ | ___ | __ | ___ | ___ | ___ | ____ | ____ | Rel | ___ | ____ | ____ ,
- /* BLT */ ___ | ___ | __ | ___ | ___ | ___ | ____ | ____ | Rel | ___ | ____ | ____ ,
-#undef __
-#undef ___
-#undef ____
+ /* BHS */ (_) | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | Rel | (_) | ( _) | ( _) ,
+ /* BLT */ (_) | (_) | _ | (_) | (_) | (_) | ( _) | ( _) | Rel | (_) | ( _) | ( _) ,
};
-OpCodes __opcodes[static_cast<int>(InstructionType::NumTypes)] = {
+OpCodes _opcodes[static_cast<int>(InstructionType::NumTypes)] = {
/* ZP , ABSO, ZPIX, ABSX, ZPIY, ABSY, IMPL, IMME, RELA, INDI, INDX, INDY,*/
/* ADC */ {{0x65, 0x6d, 0x75, 0x7d, 0x00, 0x79, 0x00, 0x69, 0x00, 0x00, 0x61, 0x71}},
/* AND */ {{0x25, 0x2d, 0x35, 0x3d, 0x00, 0x39, 0x00, 0x29, 0x00, 0x00, 0x21, 0x31}},
@@ 159,10 153,10 @@ OpCodes __opcodes[static_cast<int>(Instr
/* BHS */ {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00}},
/* BLT */ {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00}},
/* ZP , ABSO, ZPIX, ABSX, ZPIY, ABSY, IMPL, IMME, RELA, INDI, INDX, INDY,*/
-
+
};
-InstructionType __inverse_branch_instruction[static_cast<int>(InstructionType::NumTypes)] = {
+InstructionType _inverse_branch_instruction[static_cast<int>(InstructionType::NumTypes)] = {
/* ADC */ InstructionType::Brk,
/* AND */ InstructionType::Brk,
/* ASL */ InstructionType::Brk,
@@ 227,20 221,20 @@ InstructionType __inverse_branch_instruc
uint16_t addressing_modes(InstructionType instruction)
{
assert(instruction < InstructionType::NumTypes);
- return __addressing_modes_mask[static_cast<int>(instruction)];
+ return addressing_modes_mask[static_cast<int>(instruction)];
}
uint8_t opcode(InstructionType instruction, AddressingModeType addr_mode)
{
assert(instruction < InstructionType::NumTypes);
assert(addr_mode < AddressingModeType::NumAddressingModes);
- return __opcodes[static_cast<int>(instruction)].op_codes[static_cast<int>(addr_mode)];
+ return _opcodes[static_cast<int>(instruction)].op_codes[static_cast<int>(addr_mode)];
}
InstructionType inverse_branch(InstructionType instruction)
{
assert(instruction < InstructionType::NumTypes);
- return __inverse_branch_instruction[static_cast<int>(instruction)];
+ return _inverse_branch_instruction[static_cast<int>(instruction)];
}
bool is_ending_instruction(InstructionType type)
M jasm/processor/6502/instructions_6502.h +1 -3
@@ 114,9 114,7 @@ namespace AddressingModeMask
Ind = 1 << static_cast<int>(AddressingModeType::IndirectAddr),
IndX = 1 << static_cast<int>(AddressingModeType::IndirectIndexX),
IndY = 1 << static_cast<int>(AddressingModeType::IndirectIndexY),
- xx = 0,
- xxx = 0,
- xxxx = 0,
+ _ = 0,
};
}
M jasm/processor/65c02/instructions_65c02.cpp +83 -89
@@ 15,91 15,85 @@ struct OpCodes
uint8_t op_codes[static_cast<int>(AddressingModeType::NumAddressingModes)];
};
-uint16_t __addressing_modes_mask[static_cast<int>(InstructionType::NumTypes)] = {
-#define __ xx
-#define ___ xxx
-#define ____ xxxx
- /* ADC */ Zp | Abs | Zpx | AbsX | ___ | AbsY | ZpI | ___ | ZpIX | ____ | ZpIY | ___ | Imm | __ | ___ | ___ ,
- /* AND */ Zp | Abs | Zpx | AbsX | ___ | AbsY | ZpI | ___ | ZpIX | ____ | ZpIY | ___ | Imm | __ | ___ | ___ ,
- /* ASL */ Zp | Abs | Zpx | AbsX | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* BBR */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | ___ | __ | Bzr | ___ ,
- /* BBS */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | ___ | __ | Bzr | ___ ,
- /* BCC */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | ___ | __ | ___ | Rel ,
- /* BCS */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | ___ | __ | ___ | Rel ,
- /* BEQ */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | ___ | __ | ___ | Rel ,
- /* BIT */ Zp | Abs | Zpx | AbsX | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | Imm | __ | ___ | ___ ,
- /* BMI */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | ___ | __ | ___ | Rel ,
- /* BNE */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | ___ | __ | ___ | Rel ,
- /* BPL */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | ___ | __ | ___ | Rel ,
- /* BRA */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | ___ | __ | ___ | Rel ,
- /* BRK */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | Imm | __ | ___ | ___ ,
- /* BVC */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | ___ | __ | ___ | Rel ,
- /* BVS */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | ___ | __ | ___ | Rel ,
- /* CLC */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* CLD */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* CLI */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* CLV */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* CMP */ Zp | Abs | Zpx | AbsX | ___ | AbsY | ZpI | ___ | ZpIX | ____ | ZpIY | ___ | Imm | __ | ___ | ___ ,
- /* CPX */ Zp | Abs | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | Imm | __ | ___ | ___ ,
- /* CPY */ Zp | Abs | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | Imm | __ | ___ | ___ ,
- /* DEC */ Zp | Abs | Zpx | AbsX | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* DEX */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* DEY */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* EOR */ Zp | Abs | Zpx | AbsX | ___ | AbsY | ZpI | ___ | ZpIX | ____ | ZpIY | ___ | Imm | __ | ___ | ___ ,
- /* INC */ Zp | Abs | Zpx | AbsX | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* INX */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* INY */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* JMP */ __ | Abs | ___ | ____ | ___ | ____ | ___ | Ind | ____ | IndX | ____ | ___ | ___ | __ | ___ | ___ ,
- /* JSR */ __ | Abs | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | ___ | __ | ___ | ___ ,
- /* LDA */ Zp | Abs | Zpx | AbsX | ___ | AbsY | ZpI | ___ | ZpIX | ____ | ZpIY | ___ | Imm | __ | ___ | ___ ,
- /* LDX */ Zp | Abs | ___ | ____ | Zpy | AbsY | ___ | ___ | ____ | ____ | ____ | ___ | Imm | __ | ___ | ___ ,
- /* LDY */ Zp | Abs | Zpx | AbsX | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | Imm | __ | ___ | ___ ,
- /* LSR */ Zp | Abs | Zpx | AbsX | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* NOP */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* ORA */ Zp | Abs | Zpx | AbsX | ___ | AbsY | ZpI | ___ | ZpIX | ____ | ZpIY | ___ | Imm | __ | ___ | ___ ,
- /* PHA */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* PHP */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* PHX */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* PHY */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* PLA */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* PLP */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* PLX */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* PLY */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* RMB */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | ___ | Bz | ___ | ___ ,
- /* ROL */ Zp | Abs | Zpx | AbsX | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* ROR */ Zp | Abs | Zpx | AbsX | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* RTI */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* RTS */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* SBC */ Zp | Abs | Zpx | AbsX | ___ | AbsY | ZpI | ___ | ZpIX | ____ | ZpIY | ___ | Imm | __ | ___ | ___ ,
- /* SEC */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* SED */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* SEI */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* SMB */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | ___ | Bz | ___ | ___ ,
- /* STA */ Zp | Abs | Zpx | AbsX | ___ | AbsY | ZpI | ___ | ZpIX | ____ | ZpIY | ___ | ___ | __ | ___ | ___ ,
- /* STP */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* STX */ Zp | Abs | ___ | ____ | Zpy | ____ | ___ | ___ | ____ | ____ | ____ | ___ | ___ | __ | ___ | ___ ,
- /* STY */ Zp | Abs | Zpx | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | ___ | __ | ___ | ___ ,
- /* STZ */ Zp | Abs | Zpx | AbsX | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | ___ | __ | ___ | ___ ,
- /* TAX */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* TAY */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* TRB */ Zp | Abs | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | ___ | __ | ___ | ___ ,
- /* TSB */ Zp | Abs | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | ___ | __ | ___ | ___ ,
- /* TSX */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* TXA */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* TXS */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* TYA */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* WAI */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
-
- /* BHS */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | ___ | __ | ___ | Rel ,
- /* BLT */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | ___ | ___ | __ | ___ | Rel ,
- /* DEA */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
- /* INA */ __ | ___ | ___ | ____ | ___ | ____ | ___ | ___ | ____ | ____ | ____ | Imp | ___ | __ | ___ | ___ ,
-#undef __
-#undef ___
-#undef ____
+uint16_t addressing_modes_mask[static_cast<int>(InstructionType::NumTypes)] = {
+ /* ADC */ Zp | Abs | Zpx | AbsX | (_) | AbsY | ZpI | (_) | ZpIX | ( _) | ZpIY | (_) | Imm | _ | (_) | (_) ,
+ /* AND */ Zp | Abs | Zpx | AbsX | (_) | AbsY | ZpI | (_) | ZpIX | ( _) | ZpIY | (_) | Imm | _ | (_) | (_) ,
+ /* ASL */ Zp | Abs | Zpx | AbsX | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* BBR */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | (_) | _ | Bzr | (_) ,
+ /* BBS */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | (_) | _ | Bzr | (_) ,
+ /* BCC */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | (_) | _ | (_) | Rel ,
+ /* BCS */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | (_) | _ | (_) | Rel ,
+ /* BEQ */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | (_) | _ | (_) | Rel ,
+ /* BIT */ Zp | Abs | Zpx | AbsX | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | Imm | _ | (_) | (_) ,
+ /* BMI */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | (_) | _ | (_) | Rel ,
+ /* BNE */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | (_) | _ | (_) | Rel ,
+ /* BPL */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | (_) | _ | (_) | Rel ,
+ /* BRA */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | (_) | _ | (_) | Rel ,
+ /* BRK */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | Imm | _ | (_) | (_) ,
+ /* BVC */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | (_) | _ | (_) | Rel ,
+ /* BVS */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | (_) | _ | (_) | Rel ,
+ /* CLC */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* CLD */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* CLI */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* CLV */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* CMP */ Zp | Abs | Zpx | AbsX | (_) | AbsY | ZpI | (_) | ZpIX | ( _) | ZpIY | (_) | Imm | _ | (_) | (_) ,
+ /* CPX */ Zp | Abs | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | Imm | _ | (_) | (_) ,
+ /* CPY */ Zp | Abs | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | Imm | _ | (_) | (_) ,
+ /* DEC */ Zp | Abs | Zpx | AbsX | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* DEX */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* DEY */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* EOR */ Zp | Abs | Zpx | AbsX | (_) | AbsY | ZpI | (_) | ZpIX | ( _) | ZpIY | (_) | Imm | _ | (_) | (_) ,
+ /* INC */ Zp | Abs | Zpx | AbsX | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* INX */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* INY */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* JMP */ _ | Abs | (_) | ( _) | (_) | ( _) | (_) | Ind | ( _) | IndX | ( _) | (_) | (_) | _ | (_) | (_) ,
+ /* JSR */ _ | Abs | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | (_) | _ | (_) | (_) ,
+ /* LDA */ Zp | Abs | Zpx | AbsX | (_) | AbsY | ZpI | (_) | ZpIX | ( _) | ZpIY | (_) | Imm | _ | (_) | (_) ,
+ /* LDX */ Zp | Abs | (_) | ( _) | Zpy | AbsY | (_) | (_) | ( _) | ( _) | ( _) | (_) | Imm | _ | (_) | (_) ,
+ /* LDY */ Zp | Abs | Zpx | AbsX | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | Imm | _ | (_) | (_) ,
+ /* LSR */ Zp | Abs | Zpx | AbsX | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* NOP */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* ORA */ Zp | Abs | Zpx | AbsX | (_) | AbsY | ZpI | (_) | ZpIX | ( _) | ZpIY | (_) | Imm | _ | (_) | (_) ,
+ /* PHA */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* PHP */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* PHX */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* PHY */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* PLA */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* PLP */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* PLX */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* PLY */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* RMB */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | (_) | Bz | (_) | (_) ,
+ /* ROL */ Zp | Abs | Zpx | AbsX | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* ROR */ Zp | Abs | Zpx | AbsX | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* RTI */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* RTS */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* SBC */ Zp | Abs | Zpx | AbsX | (_) | AbsY | ZpI | (_) | ZpIX | ( _) | ZpIY | (_) | Imm | _ | (_) | (_) ,
+ /* SEC */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* SED */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* SEI */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* SMB */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | (_) | Bz | (_) | (_) ,
+ /* STA */ Zp | Abs | Zpx | AbsX | (_) | AbsY | ZpI | (_) | ZpIX | ( _) | ZpIY | (_) | (_) | _ | (_) | (_) ,
+ /* STP */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* STX */ Zp | Abs | (_) | ( _) | Zpy | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | (_) | _ | (_) | (_) ,
+ /* STY */ Zp | Abs | Zpx | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | (_) | _ | (_) | (_) ,
+ /* STZ */ Zp | Abs | Zpx | AbsX | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | (_) | _ | (_) | (_) ,
+ /* TAX */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* TAY */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* TRB */ Zp | Abs | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | (_) | _ | (_) | (_) ,
+ /* TSB */ Zp | Abs | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | (_) | _ | (_) | (_) ,
+ /* TSX */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* TXA */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* TXS */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* TYA */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* WAI */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+
+ /* BHS */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | (_) | _ | (_) | Rel ,
+ /* BLT */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | (_) | (_) | _ | (_) | Rel ,
+ /* DEA */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
+ /* INA */ _ | (_) | (_) | ( _) | (_) | ( _) | (_) | (_) | ( _) | ( _) | ( _) | Imp | (_) | _ | (_) | (_) ,
};
-OpCodes __opcodes[static_cast<int>(InstructionType::NumTypes)] = {
+OpCodes _opcodes[static_cast<int>(InstructionType::NumTypes)] = {
/* ZP , ABSO, ZPX, ABSX, ZPY, ABSY, ZPIN, INDI, ZPIX, INDX, ZPIY, IMPL, IMME, ZB , ZBR, RELA,*/
/* ADC */ {{0x65, 0x6d, 0x75, 0x7d, 0x00, 0x79, 0x72, 0x00, 0x61, 0x00, 0x71, 0x00, 0x69, 0x00, 0x00, 0x00}},
/* AND */ {{0x25, 0x2d, 0x35, 0x3d, 0x00, 0x39, 0x32, 0x00, 0x21, 0x00, 0x31, 0x00, 0x29, 0x00, 0x00, 0x00}},
@@ 189,16 183,16 @@ OpCodes __opcodes[static_cast<int>(Instr
/* TYA */ {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x00}},
/* WAI */ {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x00}},
/* ZP , ABSO, ZPX, ABSX, ZPY, ABSY, ZPIN, INDI, ZPIX, INDX, ZPIY, IMPL, IMME, ZB , ZBR, RELA,*/
-
+
/* BHS */ {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0}},
/* BLT */ {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90}},
/* DEA */ {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x00}},
/* INA */ {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00}},
/* ZP , ABSO, ZPX, ABSX, ZPY, ABSY, ZPIN, INDI, ZPIX, INDX, ZPIY, IMPL, IMME, ZB , ZBR, RELA,*/
-
+
};
-InstructionType __inverse_branch_instruction[static_cast<int>(InstructionType::NumTypes)] = {
+InstructionType _inverse_branch_instruction[static_cast<int>(InstructionType::NumTypes)] = {
/* ADC */ InstructionType::Brk,
/* AND */ InstructionType::Brk,
/* ASL */ InstructionType::Brk,
@@ 278,20 272,20 @@ InstructionType __inverse_branch_instruc
uint16_t addressing_modes(InstructionType instruction)
{
assert(instruction < InstructionType::NumTypes);
- return __addressing_modes_mask[static_cast<int>(instruction)];
+ return addressing_modes_mask[static_cast<int>(instruction)];
}
uint8_t opcode(InstructionType instruction, AddressingModeType addr_mode)
{
assert(instruction < InstructionType::NumTypes);
assert(addr_mode < AddressingModeType::NumAddressingModes);
- return __opcodes[static_cast<int>(instruction)].op_codes[static_cast<int>(addr_mode)];
+ return _opcodes[static_cast<int>(instruction)].op_codes[static_cast<int>(addr_mode)];
}
InstructionType inverse_branch(InstructionType instruction)
{
assert(instruction < InstructionType::NumTypes);
- return __inverse_branch_instruction[static_cast<int>(instruction)];
+ return _inverse_branch_instruction[static_cast<int>(instruction)];
}
bool is_ending_instruction(InstructionType type)
M jasm/processor/65c02/instructions_65c02.h +1 -3
@@ 140,9 140,7 @@ namespace AddressingModeMask
Bz = 1 << static_cast<int>(AddressingModeType::BitZp),
Bzr = 1 << static_cast<int>(AddressingModeType::BitZpRel),
Rel = 1 << static_cast<int>(AddressingModeType::RelativeAddr),
- xx = 0,
- xxx = 0,
- xxxx = 0,
+ _ = 0,
};
}
M jasm/processor/65ce02/instructions_65ce02.cpp +102 -108
@@ 15,114 15,108 @@ struct OpCodes
uint8_t op_codes[static_cast<int>(AddressingModeType::NumAddressingModes)];
};
-uint32_t __addressing_modes_mask[static_cast<int>(InstructionType::NumTypes)] = {
-#define __ xx
-#define ___ xxx
-#define ____ xxxx
+uint32_t addressing_modes_mask[static_cast<int>(InstructionType::NumTypes)] = {
/* Bp Abs Bpx AbsX Bpy AbsY BpIX IndX Rel RelW BpIY BpIZ SpIY Ind Imp Imm ImmW Bb Bbr */
- /* ADC */ Bp | Abs | Bpx | AbsX | ___ | AbsY | BpIX | ____ | ___ | ____ | BpIY | BpIZ | ____ | ___ | ___ | Imm | ____ | __ | ___ ,
- /* AND */ Bp | Abs | Bpx | AbsX | ___ | AbsY | BpIX | ____ | ___ | ____ | BpIY | BpIZ | ____ | ___ | ___ | Imm | ____ | __ | ___ ,
- /* ASL */ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* ASR */ Bp | ___ | Bpx | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* ASW */ __ | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | ___ ,
- /* BBR */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | Bbr ,
- /* BBS */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | Bbr ,
- /* BCC */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | ___ ,
- /* BCS */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | ___ ,
- /* BEQ */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | ___ ,
- /* BIT */ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | ___ | Imm | ____ | __ | ___ ,
- /* BMI */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | ___ ,
- /* BNE */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | ___ ,
- /* BPL */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | ___ ,
- /* BRK */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | Imm | ____ | __ | ___ ,
- /* BRU */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | ___ ,
- /* BSR */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | RelW | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | ___ ,
- /* BVC */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | ___ ,
- /* BVS */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | ___ ,
- /* CLC */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* CLD */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* CLE */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* CLI */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* CLV */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* CMP */ Bp | Abs | Bpx | AbsX | ___ | AbsY | BpIX | ____ | ___ | ____ | BpIY | BpIZ | ____ | ___ | ___ | Imm | ____ | __ | ___ ,
- /* CPX */ Bp | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | ___ | Imm | ____ | __ | ___ ,
- /* CPY */ Bp | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | ___ | Imm | ____ | __ | ___ ,
- /* CPZ */ Bp | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | ___ | Imm | ____ | __ | ___ ,
- /* DEC */ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* DEW */ Bp | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | ___ ,
- /* DEX */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* DEY */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* DEZ */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* EOR */ Bp | Abs | Bpx | AbsX | ___ | AbsY | BpIX | ____ | ___ | ____ | BpIY | BpIZ | ____ | ___ | ___ | Imm | ____ | __ | ___ ,
- /* INC */ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* INW */ Bp | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | ___ ,
- /* INX */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* INY */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* INZ */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* JMP */ __ | Abs | ___ | ____ | ___ | ____ | ____ | IndX | ___ | ____ | ____ | ____ | ____ | Ind | ___ | ___ | ____ | __ | ___ ,
- /* JSR */ __ | Abs | ___ | ____ | ___ | ____ | ____ | IndX | ___ | ____ | ____ | ____ | ____ | Ind | ___ | ___ | ____ | __ | ___ ,
- /* LDA */ Bp | Abs | Bpx | AbsX | ___ | AbsY | BpIX | ____ | ___ | ____ | BpIY | BpIZ | SpIY | ___ | ___ | Imm | ____ | __ | ___ ,
- /* LDX */ Bp | Abs | ___ | ____ | Bpy | AbsY | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | ___ | Imm | ____ | __ | ___ ,
- /* LDY */ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | ___ | Imm | ____ | __ | ___ ,
- /* LDZ */ __ | Abs | ___ | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | ___ | Imm | ____ | __ | ___ ,
- /* LSR */ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* NEG */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* NOP */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* ORA */ Bp | Abs | Bpx | AbsX | ___ | AbsY | BpIX | ____ | ___ | ____ | BpIY | BpIZ | ____ | ___ | ___ | Imm | ____ | __ | ___ ,
- /* PHA */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* PHP */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* PHW */ __ | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | ___ | ___ | ImmW | __ | ___ ,
- /* PHX */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* PHY */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* PHZ */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* PLA */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* PLP */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* PLX */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* PLY */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* PLZ */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* RMB */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | ___ | ___ | ____ | Bb | ___ ,
- /* ROL */ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* ROR */ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* ROW */ __ | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | ___ ,
- /* RTI */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* RTN */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | ___ | Imm | ____ | __ | ___ ,
- /* RTS */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* SBC */ Bp | Abs | Bpx | AbsX | ___ | AbsY | BpIX | ____ | ___ | ____ | BpIY | BpIZ | ____ | ___ | ___ | Imm | ____ | __ | ___ ,
- /* SEC */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* SED */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* SEE */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* SEI */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* SMB */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | ___ | ___ | ____ | Bb | ___ ,
- /* STA */ Bp | Abs | Bpx | AbsX | ___ | AbsY | BpIX | ____ | ___ | ____ | BpIY | BpIZ | SpIY | ___ | ___ | ___ | ____ | __ | ___ ,
- /* STX */ Bp | Abs | ___ | ____ | Bpy | AbsY | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | ___ ,
- /* STY */ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | ___ ,
- /* STZ */ Bp | Abs | Bpx | AbsX | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | ___ ,
- /* TAB */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* TAX */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* TAY */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* TAZ */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* TBA */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* TRB */ Bp | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | ___ ,
- /* TSB */ Bp | Abs | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | ___ ,
- /* TSX */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* TSY */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* TXA */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* TXS */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* TYS */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* TYA */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* TZA */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
+ /* ADC */ Bp | Abs | Bpx | AbsX | (_) | AbsY | BpIX | ( _) | (_) | ( _) | BpIY | BpIZ | ( _) | (_) | (_) | Imm | ( _) | _ | (_) ,
+ /* AND */ Bp | Abs | Bpx | AbsX | (_) | AbsY | BpIX | ( _) | (_) | ( _) | BpIY | BpIZ | ( _) | (_) | (_) | Imm | ( _) | _ | (_) ,
+ /* ASL */ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* ASR */ Bp | (_) | Bpx | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* ASW */ _ | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* BBR */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | Bbr ,
+ /* BBS */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | Bbr ,
+ /* BCC */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* BCS */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* BEQ */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* BIT */ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | (_) | Imm | ( _) | _ | (_) ,
+ /* BMI */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* BNE */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* BPL */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* BRK */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | Imm | ( _) | _ | (_) ,
+ /* BRU */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* BSR */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | RelW | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* BVC */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* BVS */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* CLC */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* CLD */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* CLE */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* CLI */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* CLV */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* CMP */ Bp | Abs | Bpx | AbsX | (_) | AbsY | BpIX | ( _) | (_) | ( _) | BpIY | BpIZ | ( _) | (_) | (_) | Imm | ( _) | _ | (_) ,
+ /* CPX */ Bp | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | (_) | Imm | ( _) | _ | (_) ,
+ /* CPY */ Bp | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | (_) | Imm | ( _) | _ | (_) ,
+ /* CPZ */ Bp | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | (_) | Imm | ( _) | _ | (_) ,
+ /* DEC */ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* DEW */ Bp | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* DEX */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* DEY */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* DEZ */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* EOR */ Bp | Abs | Bpx | AbsX | (_) | AbsY | BpIX | ( _) | (_) | ( _) | BpIY | BpIZ | ( _) | (_) | (_) | Imm | ( _) | _ | (_) ,
+ /* INC */ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* INW */ Bp | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* INX */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* INY */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* INZ */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* JMP */ _ | Abs | (_) | ( _) | (_) | ( _) | ( _) | IndX | (_) | ( _) | ( _) | ( _) | ( _) | Ind | (_) | (_) | ( _) | _ | (_) ,
+ /* JSR */ _ | Abs | (_) | ( _) | (_) | ( _) | ( _) | IndX | (_) | ( _) | ( _) | ( _) | ( _) | Ind | (_) | (_) | ( _) | _ | (_) ,
+ /* LDA */ Bp | Abs | Bpx | AbsX | (_) | AbsY | BpIX | ( _) | (_) | ( _) | BpIY | BpIZ | SpIY | (_) | (_) | Imm | ( _) | _ | (_) ,
+ /* LDX */ Bp | Abs | (_) | ( _) | Bpy | AbsY | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | (_) | Imm | ( _) | _ | (_) ,
+ /* LDY */ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | (_) | Imm | ( _) | _ | (_) ,
+ /* LDZ */ _ | Abs | (_) | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | (_) | Imm | ( _) | _ | (_) ,
+ /* LSR */ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* NEG */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* NOP */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* ORA */ Bp | Abs | Bpx | AbsX | (_) | AbsY | BpIX | ( _) | (_) | ( _) | BpIY | BpIZ | ( _) | (_) | (_) | Imm | ( _) | _ | (_) ,
+ /* PHA */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* PHP */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* PHW */ _ | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | (_) | (_) | ImmW | _ | (_) ,
+ /* PHX */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* PHY */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* PHZ */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* PLA */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* PLP */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* PLX */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* PLY */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* PLZ */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* RMB */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | Bb | (_) ,
+ /* ROL */ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* ROR */ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* ROW */ _ | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* RTI */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* RTN */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | (_) | Imm | ( _) | _ | (_) ,
+ /* RTS */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* SBC */ Bp | Abs | Bpx | AbsX | (_) | AbsY | BpIX | ( _) | (_) | ( _) | BpIY | BpIZ | ( _) | (_) | (_) | Imm | ( _) | _ | (_) ,
+ /* SEC */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* SED */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* SEE */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* SEI */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* SMB */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | Bb | (_) ,
+ /* STA */ Bp | Abs | Bpx | AbsX | (_) | AbsY | BpIX | ( _) | (_) | ( _) | BpIY | BpIZ | SpIY | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* STX */ Bp | Abs | (_) | ( _) | Bpy | AbsY | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* STY */ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* STZ */ Bp | Abs | Bpx | AbsX | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* TAB */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* TAX */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* TAY */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* TAZ */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* TBA */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* TRB */ Bp | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* TSB */ Bp | Abs | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* TSX */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* TSY */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* TXA */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* TXS */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* TYS */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* TYA */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* TZA */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
- /* BHS */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | ___ ,
- /* BLT */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | ___ ,
- /* BRA */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | Rel | RelW | ____ | ____ | ____ | ___ | ___ | ___ | ____ | __ | ___ ,
- /* DEA */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
- /* INA */ __ | ___ | ___ | ____ | ___ | ____ | ____ | ____ | ___ | ____ | ____ | ____ | ____ | ___ | Imp | ___ | ____ | __ | ___ ,
-#undef __
-#undef ___
-#undef ____
+ /* BHS */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* BLT */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* BRA */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | Rel | RelW | ( _) | ( _) | ( _) | (_) | (_) | (_) | ( _) | _ | (_) ,
+ /* DEA */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
+ /* INA */ _ | (_) | (_) | ( _) | (_) | ( _) | ( _) | ( _) | (_) | ( _) | ( _) | ( _) | ( _) | (_) | Imp | (_) | ( _) | _ | (_) ,
};
-OpCodes __opcodes[static_cast<int>(InstructionType::NumTypes)] = {
+OpCodes _opcodes[static_cast<int>(InstructionType::NumTypes)] = {
/* BP , ABSO, BPX, ABSX, BPY, ABSY, BPIX, INDX, RELA, RELW, BPIY, BPIZ, SPIY, INDI, IMPL, IMME, IMMW, BB , BBR,*/
/* ADC */ {{0x65, 0x6d, 0x75, 0x7d, 0x00, 0x79, 0x61, 0x00, 0x00, 0x00, 0x71, 0x72, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00}},
/* AND */ {{0x25, 0x2d, 0x35, 0x3d, 0x00, 0x39, 0x21, 0x00, 0x00, 0x00, 0x31, 0x32, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00}},
@@ 242,7 236,7 @@ OpCodes __opcodes[static_cast<int>(Instr
/* INA */ {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00}},
};
-InstructionType __inverse_branch_instruction[static_cast<int>(InstructionType::NumTypes)] = {
+InstructionType _inverse_branch_instruction[static_cast<int>(InstructionType::NumTypes)] = {
/* ADC */ InstructionType::Brk,
/* AND */ InstructionType::Brk,
/* ASL */ InstructionType::Brk,
@@ 343,20 337,20 @@ InstructionType __inverse_branch_instruc
uint32_t addressing_modes(InstructionType instruction)
{
assert(instruction < InstructionType::NumTypes);
- return __addressing_modes_mask[static_cast<int>(instruction)];
+ return addressing_modes_mask[static_cast<int>(instruction)];
}
uint8_t opcode(InstructionType instruction, AddressingModeType addr_mode)
{
assert(instruction < InstructionType::NumTypes);
assert(addr_mode < AddressingModeType::NumAddressingModes);
- return __opcodes[static_cast<int>(instruction)].op_codes[static_cast<int>(addr_mode)];
+ return _opcodes[static_cast<int>(instruction)].op_codes[static_cast<int>(addr_mode)];
}
InstructionType inverse_branch(InstructionType instruction)
{
assert(instruction < InstructionType::NumTypes);
- return __inverse_branch_instruction[static_cast<int>(instruction)];
+ return _inverse_branch_instruction[static_cast<int>(instruction)];
}
bool is_ending_instruction(InstructionType type)
M jasm/processor/65ce02/instructions_65ce02.h +1 -3
@@ 168,9 168,7 @@ namespace AddressingModeMask
Bb = 1 << static_cast<int>(AddressingModeType::BitBp),
Bbr = 1 << static_cast<int>(AddressingModeType::BitBpRel),
- xx = 0,
- xxx = 0,
- xxxx = 0,
+ _ = 0,
};
}