Files
Odin/core/rexcode/mos6502/decoding_tables.odin
2026-06-14 16:30:18 +01:00

613 lines
34 KiB
Odin

package rexcode_mos6502
// =============================================================================
// GENERATED FILE - DO NOT EDIT
// =============================================================================
//
// Generated by tools/gen_decode_tables.odin from ENCODING_TABLE.
// Regenerate with: cd mos6502 && odin run tools/gen_decode_tables.odin -file
//
Decode_Entry :: struct #packed {
mnemonic: Mnemonic,
ops: [3]Operand_Type,
enc: [3]Operand_Encoding,
opcode: u8,
length: u8,
cpu: CPU,
flags: Encoding_Flags,
}
#assert(size_of(Decode_Entry) == 12)
Decode_Index :: struct #packed {
start: u16,
count: u16,
}
#assert(size_of(Decode_Index) == 4)
@(rodata)
DECODE_ENTRIES := [321]Decode_Entry{
{.BRK, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x00, 1, .NMOS, {branch=true}},
{.ORA, {.MEM_IND_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x01, 2, .NMOS, {}},
{.JAM, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x02, 1, .NMOS_UNDOC, {}},
{.SXY, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x02, 1, .HUC6280, {}},
{.SLO, {.MEM_IND_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x03, 2, .NMOS_UNDOC, {}},
{.ST0, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0x03, 2, .HUC6280, {}},
{.DOP, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x04, 2, .NMOS_UNDOC, {}},
{.TSB, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x04, 2, .CMOS_65C02, {}},
{.ORA, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x05, 2, .NMOS, {}},
{.ASL, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x06, 2, .NMOS, {}},
{.SLO, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x07, 2, .NMOS_UNDOC, {}},
{.RMB0, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x07, 2, .CMOS_65C02, {}},
{.PHP, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x08, 1, .NMOS, {}},
{.ORA, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0x09, 2, .NMOS, {}},
{.ASL, {.A_IMPL, .NONE, .NONE}, {.IMPL, .NONE, .NONE}, 0x0A, 1, .NMOS, {}},
{.ANC, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0x0B, 2, .NMOS_UNDOC, {}},
{.TOP, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x0C, 3, .NMOS_UNDOC, {}},
{.TSB, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x0C, 3, .CMOS_65C02, {}},
{.ORA, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x0D, 3, .NMOS, {}},
{.ASL, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x0E, 3, .NMOS, {}},
{.SLO, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x0F, 3, .NMOS_UNDOC, {}},
{.BBR0, {.MEM_ZP, .REL, .NONE}, {.BYTE_1_ADDR, .BYTE_2_REL, .NONE}, 0x0F, 3, .CMOS_65C02, {cond_branch=true}},
{.BPL, {.REL, .NONE, .NONE}, {.BYTE_1_REL, .NONE, .NONE}, 0x10, 2, .NMOS, {cond_branch=true}},
{.ORA, {.MEM_IND_Y, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x11, 2, .NMOS, {page_cross=true}},
{.JAM, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x12, 1, .NMOS_UNDOC, {}},
{.ORA, {.MEM_IND_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x12, 2, .CMOS_65C02, {}},
{.SLO, {.MEM_IND_Y, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x13, 2, .NMOS_UNDOC, {}},
{.ST1, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0x13, 2, .HUC6280, {}},
{.DOP, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x14, 2, .NMOS_UNDOC, {}},
{.TRB, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x14, 2, .CMOS_65C02, {}},
{.ORA, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x15, 2, .NMOS, {}},
{.ASL, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x16, 2, .NMOS, {}},
{.SLO, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x17, 2, .NMOS_UNDOC, {}},
{.RMB1, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x17, 2, .CMOS_65C02, {}},
{.CLC, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x18, 1, .NMOS, {}},
{.ORA, {.MEM_ABS_Y, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x19, 3, .NMOS, {page_cross=true}},
{.INC, {.A_IMPL, .NONE, .NONE}, {.IMPL, .NONE, .NONE}, 0x1A, 1, .CMOS_65C02, {}},
{.INA, {.A_IMPL, .NONE, .NONE}, {.IMPL, .NONE, .NONE}, 0x1A, 1, .CMOS_65C02, {}},
{.SLO, {.MEM_ABS_Y, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x1B, 3, .NMOS_UNDOC, {}},
{.TOP, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x1C, 3, .NMOS_UNDOC, {page_cross=true}},
{.TRB, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x1C, 3, .CMOS_65C02, {}},
{.ORA, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x1D, 3, .NMOS, {page_cross=true}},
{.ASL, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x1E, 3, .NMOS, {}},
{.SLO, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x1F, 3, .NMOS_UNDOC, {}},
{.BBR1, {.MEM_ZP, .REL, .NONE}, {.BYTE_1_ADDR, .BYTE_2_REL, .NONE}, 0x1F, 3, .CMOS_65C02, {cond_branch=true}},
{.JSR, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x20, 3, .NMOS, {branch=true}},
{.AND, {.MEM_IND_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x21, 2, .NMOS, {}},
{.JAM, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x22, 1, .NMOS_UNDOC, {}},
{.SAX, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x22, 1, .HUC6280, {}},
{.RLA, {.MEM_IND_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x23, 2, .NMOS_UNDOC, {}},
{.ST2, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0x23, 2, .HUC6280, {}},
{.BIT, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x24, 2, .NMOS, {}},
{.AND, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x25, 2, .NMOS, {}},
{.ROL, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x26, 2, .NMOS, {}},
{.RLA, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x27, 2, .NMOS_UNDOC, {}},
{.RMB2, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x27, 2, .CMOS_65C02, {}},
{.PLP, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x28, 1, .NMOS, {}},
{.AND, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0x29, 2, .NMOS, {}},
{.ROL, {.A_IMPL, .NONE, .NONE}, {.IMPL, .NONE, .NONE}, 0x2A, 1, .NMOS, {}},
{.ANC, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0x2B, 2, .NMOS_UNDOC, {}},
{.BIT, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x2C, 3, .NMOS, {}},
{.AND, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x2D, 3, .NMOS, {}},
{.ROL, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x2E, 3, .NMOS, {}},
{.RLA, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x2F, 3, .NMOS_UNDOC, {}},
{.BBR2, {.MEM_ZP, .REL, .NONE}, {.BYTE_1_ADDR, .BYTE_2_REL, .NONE}, 0x2F, 3, .CMOS_65C02, {cond_branch=true}},
{.BMI, {.REL, .NONE, .NONE}, {.BYTE_1_REL, .NONE, .NONE}, 0x30, 2, .NMOS, {cond_branch=true}},
{.AND, {.MEM_IND_Y, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x31, 2, .NMOS, {page_cross=true}},
{.JAM, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x32, 1, .NMOS_UNDOC, {}},
{.AND, {.MEM_IND_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x32, 2, .CMOS_65C02, {}},
{.RLA, {.MEM_IND_Y, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x33, 2, .NMOS_UNDOC, {}},
{.BIT, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x34, 2, .CMOS_65C02, {}},
{.AND, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x35, 2, .NMOS, {}},
{.ROL, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x36, 2, .NMOS, {}},
{.RLA, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x37, 2, .NMOS_UNDOC, {}},
{.RMB3, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x37, 2, .CMOS_65C02, {}},
{.SEC, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x38, 1, .NMOS, {}},
{.AND, {.MEM_ABS_Y, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x39, 3, .NMOS, {page_cross=true}},
{.DEC, {.A_IMPL, .NONE, .NONE}, {.IMPL, .NONE, .NONE}, 0x3A, 1, .CMOS_65C02, {}},
{.DEA, {.A_IMPL, .NONE, .NONE}, {.IMPL, .NONE, .NONE}, 0x3A, 1, .CMOS_65C02, {}},
{.RLA, {.MEM_ABS_Y, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x3B, 3, .NMOS_UNDOC, {}},
{.BIT, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x3C, 3, .CMOS_65C02, {page_cross=true}},
{.AND, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x3D, 3, .NMOS, {page_cross=true}},
{.ROL, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x3E, 3, .NMOS, {}},
{.RLA, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x3F, 3, .NMOS_UNDOC, {}},
{.BBR3, {.MEM_ZP, .REL, .NONE}, {.BYTE_1_ADDR, .BYTE_2_REL, .NONE}, 0x3F, 3, .CMOS_65C02, {cond_branch=true}},
{.RTI, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x40, 1, .NMOS, {branch=true}},
{.EOR, {.MEM_IND_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x41, 2, .NMOS, {}},
{.JAM, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x42, 1, .NMOS_UNDOC, {}},
{.SAY, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x42, 1, .HUC6280, {}},
{.SRE, {.MEM_IND_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x43, 2, .NMOS_UNDOC, {}},
{.TMA, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0x43, 2, .HUC6280, {}},
{.BSR, {.REL, .NONE, .NONE}, {.BYTE_1_REL, .NONE, .NONE}, 0x44, 2, .HUC6280, {branch=true}},
{.EOR, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x45, 2, .NMOS, {}},
{.LSR, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x46, 2, .NMOS, {}},
{.SRE, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x47, 2, .NMOS_UNDOC, {}},
{.RMB4, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x47, 2, .CMOS_65C02, {}},
{.PHA, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x48, 1, .NMOS, {}},
{.EOR, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0x49, 2, .NMOS, {}},
{.LSR, {.A_IMPL, .NONE, .NONE}, {.IMPL, .NONE, .NONE}, 0x4A, 1, .NMOS, {}},
{.ALR, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0x4B, 2, .NMOS_UNDOC, {}},
{.JMP, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x4C, 3, .NMOS, {branch=true}},
{.EOR, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x4D, 3, .NMOS, {}},
{.LSR, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x4E, 3, .NMOS, {}},
{.SRE, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x4F, 3, .NMOS_UNDOC, {}},
{.BBR4, {.MEM_ZP, .REL, .NONE}, {.BYTE_1_ADDR, .BYTE_2_REL, .NONE}, 0x4F, 3, .CMOS_65C02, {cond_branch=true}},
{.BVC, {.REL, .NONE, .NONE}, {.BYTE_1_REL, .NONE, .NONE}, 0x50, 2, .NMOS, {cond_branch=true}},
{.EOR, {.MEM_IND_Y, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x51, 2, .NMOS, {page_cross=true}},
{.JAM, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x52, 1, .NMOS_UNDOC, {}},
{.EOR, {.MEM_IND_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x52, 2, .CMOS_65C02, {}},
{.SRE, {.MEM_IND_Y, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x53, 2, .NMOS_UNDOC, {}},
{.TAM, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0x53, 2, .HUC6280, {}},
{.CSL, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x54, 1, .HUC6280, {}},
{.EOR, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x55, 2, .NMOS, {}},
{.LSR, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x56, 2, .NMOS, {}},
{.SRE, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x57, 2, .NMOS_UNDOC, {}},
{.RMB5, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x57, 2, .CMOS_65C02, {}},
{.CLI, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x58, 1, .NMOS, {}},
{.EOR, {.MEM_ABS_Y, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x59, 3, .NMOS, {page_cross=true}},
{.PHY, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x5A, 1, .CMOS_65C02, {}},
{.SRE, {.MEM_ABS_Y, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x5B, 3, .NMOS_UNDOC, {}},
{.EOR, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x5D, 3, .NMOS, {page_cross=true}},
{.LSR, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x5E, 3, .NMOS, {}},
{.SRE, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x5F, 3, .NMOS_UNDOC, {}},
{.BBR5, {.MEM_ZP, .REL, .NONE}, {.BYTE_1_ADDR, .BYTE_2_REL, .NONE}, 0x5F, 3, .CMOS_65C02, {cond_branch=true}},
{.RTS, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x60, 1, .NMOS, {branch=true}},
{.ADC, {.MEM_IND_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x61, 2, .NMOS, {decimal=true}},
{.JAM, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x62, 1, .NMOS_UNDOC, {}},
{.CLA, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x62, 1, .HUC6280, {}},
{.RRA, {.MEM_IND_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x63, 2, .NMOS_UNDOC, {decimal=true}},
{.STZ, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x64, 2, .CMOS_65C02, {}},
{.ADC, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x65, 2, .NMOS, {decimal=true}},
{.ROR, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x66, 2, .NMOS, {}},
{.RRA, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x67, 2, .NMOS_UNDOC, {decimal=true}},
{.RMB6, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x67, 2, .CMOS_65C02, {}},
{.PLA, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x68, 1, .NMOS, {}},
{.ADC, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0x69, 2, .NMOS, {decimal=true}},
{.ROR, {.A_IMPL, .NONE, .NONE}, {.IMPL, .NONE, .NONE}, 0x6A, 1, .NMOS, {}},
{.ARR, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0x6B, 2, .NMOS_UNDOC, {decimal=true}},
{.JMP, {.MEM_IND, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x6C, 3, .NMOS, {branch=true}},
{.ADC, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x6D, 3, .NMOS, {decimal=true}},
{.ROR, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x6E, 3, .NMOS, {}},
{.RRA, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x6F, 3, .NMOS_UNDOC, {decimal=true}},
{.BBR6, {.MEM_ZP, .REL, .NONE}, {.BYTE_1_ADDR, .BYTE_2_REL, .NONE}, 0x6F, 3, .CMOS_65C02, {cond_branch=true}},
{.BVS, {.REL, .NONE, .NONE}, {.BYTE_1_REL, .NONE, .NONE}, 0x70, 2, .NMOS, {cond_branch=true}},
{.ADC, {.MEM_IND_Y, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x71, 2, .NMOS, {decimal=true, page_cross=true}},
{.JAM, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x72, 1, .NMOS_UNDOC, {}},
{.ADC, {.MEM_IND_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x72, 2, .CMOS_65C02, {decimal=true}},
{.RRA, {.MEM_IND_Y, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x73, 2, .NMOS_UNDOC, {decimal=true}},
{.TII, {.IMM_16, .IMM_16, .IMM_16}, {.WORD_1, .WORD_3, .WORD_5}, 0x73, 7, .HUC6280, {}},
{.STZ, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x74, 2, .CMOS_65C02, {}},
{.ADC, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x75, 2, .NMOS, {decimal=true}},
{.ROR, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x76, 2, .NMOS, {}},
{.RRA, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x77, 2, .NMOS_UNDOC, {decimal=true}},
{.RMB7, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x77, 2, .CMOS_65C02, {}},
{.SEI, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x78, 1, .NMOS, {}},
{.ADC, {.MEM_ABS_Y, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x79, 3, .NMOS, {decimal=true, page_cross=true}},
{.PLY, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x7A, 1, .CMOS_65C02, {}},
{.RRA, {.MEM_ABS_Y, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x7B, 3, .NMOS_UNDOC, {decimal=true}},
{.JMP, {.MEM_IND_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x7C, 3, .CMOS_65C02, {branch=true}},
{.ADC, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x7D, 3, .NMOS, {decimal=true, page_cross=true}},
{.ROR, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x7E, 3, .NMOS, {}},
{.RRA, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x7F, 3, .NMOS_UNDOC, {decimal=true}},
{.BBR7, {.MEM_ZP, .REL, .NONE}, {.BYTE_1_ADDR, .BYTE_2_REL, .NONE}, 0x7F, 3, .CMOS_65C02, {cond_branch=true}},
{.DOP, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0x80, 2, .NMOS_UNDOC, {}},
{.BRA, {.REL, .NONE, .NONE}, {.BYTE_1_REL, .NONE, .NONE}, 0x80, 2, .CMOS_65C02, {branch=true}},
{.STA, {.MEM_IND_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x81, 2, .NMOS, {}},
{.CLX, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x82, 1, .HUC6280, {}},
{.SAX_NMOS, {.MEM_IND_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x83, 2, .NMOS_UNDOC, {}},
{.TST, {.IMM_8, .MEM_ZP, .NONE}, {.BYTE_1_IMM, .BYTE_2_ADDR, .NONE}, 0x83, 3, .HUC6280, {}},
{.STY, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x84, 2, .NMOS, {}},
{.STA, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x85, 2, .NMOS, {}},
{.STX, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x86, 2, .NMOS, {}},
{.SAX_NMOS, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x87, 2, .NMOS_UNDOC, {}},
{.SMB0, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x87, 2, .CMOS_65C02, {}},
{.DEY, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x88, 1, .NMOS, {}},
{.BIT, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0x89, 2, .CMOS_65C02, {}},
{.TXA, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x8A, 1, .NMOS, {}},
{.ANE, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0x8B, 2, .NMOS_UNDOC, {}},
{.STY, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x8C, 3, .NMOS, {}},
{.STA, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x8D, 3, .NMOS, {}},
{.STX, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x8E, 3, .NMOS, {}},
{.SAX_NMOS, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x8F, 3, .NMOS_UNDOC, {}},
{.BBS0, {.MEM_ZP, .REL, .NONE}, {.BYTE_1_ADDR, .BYTE_2_REL, .NONE}, 0x8F, 3, .CMOS_65C02, {cond_branch=true}},
{.BCC, {.REL, .NONE, .NONE}, {.BYTE_1_REL, .NONE, .NONE}, 0x90, 2, .NMOS, {cond_branch=true}},
{.STA, {.MEM_IND_Y, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x91, 2, .NMOS, {}},
{.JAM, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x92, 1, .NMOS_UNDOC, {}},
{.STA, {.MEM_IND_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x92, 2, .CMOS_65C02, {}},
{.SHA, {.MEM_IND_Y, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x93, 2, .NMOS_UNDOC, {}},
{.TST, {.IMM_8, .MEM_ABS, .NONE}, {.BYTE_1_IMM, .WORD_2_ADDR, .NONE}, 0x93, 4, .HUC6280, {}},
{.STY, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x94, 2, .NMOS, {}},
{.STA, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x95, 2, .NMOS, {}},
{.STX, {.MEM_ZP_Y, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x96, 2, .NMOS, {}},
{.SAX_NMOS, {.MEM_ZP_Y, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x97, 2, .NMOS_UNDOC, {}},
{.SMB1, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0x97, 2, .CMOS_65C02, {}},
{.TYA, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x98, 1, .NMOS, {}},
{.STA, {.MEM_ABS_Y, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x99, 3, .NMOS, {}},
{.TXS, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0x9A, 1, .NMOS, {}},
{.TAS, {.MEM_ABS_Y, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x9B, 3, .NMOS_UNDOC, {}},
{.SHY, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x9C, 3, .NMOS_UNDOC, {}},
{.STZ, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x9C, 3, .CMOS_65C02, {}},
{.STA, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x9D, 3, .NMOS, {}},
{.SHX, {.MEM_ABS_Y, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x9E, 3, .NMOS_UNDOC, {}},
{.STZ, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x9E, 3, .CMOS_65C02, {}},
{.SHA, {.MEM_ABS_Y, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0x9F, 3, .NMOS_UNDOC, {}},
{.BBS1, {.MEM_ZP, .REL, .NONE}, {.BYTE_1_ADDR, .BYTE_2_REL, .NONE}, 0x9F, 3, .CMOS_65C02, {cond_branch=true}},
{.LDY, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0xA0, 2, .NMOS, {}},
{.LDA, {.MEM_IND_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xA1, 2, .NMOS, {}},
{.LDX, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0xA2, 2, .NMOS, {}},
{.LAX, {.MEM_IND_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xA3, 2, .NMOS_UNDOC, {}},
{.TST, {.IMM_8, .MEM_ZP_X, .NONE}, {.BYTE_1_IMM, .BYTE_2_ADDR, .NONE}, 0xA3, 3, .HUC6280, {}},
{.LDY, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xA4, 2, .NMOS, {}},
{.LDA, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xA5, 2, .NMOS, {}},
{.LDX, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xA6, 2, .NMOS, {}},
{.LAX, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xA7, 2, .NMOS_UNDOC, {}},
{.SMB2, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xA7, 2, .CMOS_65C02, {}},
{.TAY, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0xA8, 1, .NMOS, {}},
{.LDA, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0xA9, 2, .NMOS, {}},
{.TAX, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0xAA, 1, .NMOS, {}},
{.LXA, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0xAB, 2, .NMOS_UNDOC, {}},
{.LDY, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xAC, 3, .NMOS, {}},
{.LDA, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xAD, 3, .NMOS, {}},
{.LDX, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xAE, 3, .NMOS, {}},
{.LAX, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xAF, 3, .NMOS_UNDOC, {}},
{.BBS2, {.MEM_ZP, .REL, .NONE}, {.BYTE_1_ADDR, .BYTE_2_REL, .NONE}, 0xAF, 3, .CMOS_65C02, {cond_branch=true}},
{.BCS, {.REL, .NONE, .NONE}, {.BYTE_1_REL, .NONE, .NONE}, 0xB0, 2, .NMOS, {cond_branch=true}},
{.LDA, {.MEM_IND_Y, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xB1, 2, .NMOS, {page_cross=true}},
{.JAM, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0xB2, 1, .NMOS_UNDOC, {}},
{.LDA, {.MEM_IND_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xB2, 2, .CMOS_65C02, {}},
{.LAX, {.MEM_IND_Y, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xB3, 2, .NMOS_UNDOC, {page_cross=true}},
{.TST, {.IMM_8, .MEM_ABS_X, .NONE}, {.BYTE_1_IMM, .WORD_2_ADDR, .NONE}, 0xB3, 4, .HUC6280, {}},
{.LDY, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xB4, 2, .NMOS, {}},
{.LDA, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xB5, 2, .NMOS, {}},
{.LDX, {.MEM_ZP_Y, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xB6, 2, .NMOS, {}},
{.LAX, {.MEM_ZP_Y, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xB7, 2, .NMOS_UNDOC, {}},
{.SMB3, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xB7, 2, .CMOS_65C02, {}},
{.CLV, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0xB8, 1, .NMOS, {}},
{.LDA, {.MEM_ABS_Y, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xB9, 3, .NMOS, {page_cross=true}},
{.TSX, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0xBA, 1, .NMOS, {}},
{.LAS, {.MEM_ABS_Y, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xBB, 3, .NMOS_UNDOC, {page_cross=true}},
{.LDY, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xBC, 3, .NMOS, {page_cross=true}},
{.LDA, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xBD, 3, .NMOS, {page_cross=true}},
{.LDX, {.MEM_ABS_Y, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xBE, 3, .NMOS, {page_cross=true}},
{.LAX, {.MEM_ABS_Y, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xBF, 3, .NMOS_UNDOC, {page_cross=true}},
{.BBS3, {.MEM_ZP, .REL, .NONE}, {.BYTE_1_ADDR, .BYTE_2_REL, .NONE}, 0xBF, 3, .CMOS_65C02, {cond_branch=true}},
{.CPY, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0xC0, 2, .NMOS, {}},
{.CMP, {.MEM_IND_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xC1, 2, .NMOS, {}},
{.CLY, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0xC2, 1, .HUC6280, {}},
{.DCP, {.MEM_IND_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xC3, 2, .NMOS_UNDOC, {}},
{.TDD, {.IMM_16, .IMM_16, .IMM_16}, {.WORD_1, .WORD_3, .WORD_5}, 0xC3, 7, .HUC6280, {}},
{.CPY, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xC4, 2, .NMOS, {}},
{.CMP, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xC5, 2, .NMOS, {}},
{.DEC, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xC6, 2, .NMOS, {}},
{.DCP, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xC7, 2, .NMOS_UNDOC, {}},
{.SMB4, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xC7, 2, .CMOS_65C02, {}},
{.INY, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0xC8, 1, .NMOS, {}},
{.CMP, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0xC9, 2, .NMOS, {}},
{.DEX, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0xCA, 1, .NMOS, {}},
{.AXS, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0xCB, 2, .NMOS_UNDOC, {}},
{.WAI, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0xCB, 1, .CMOS_65C02, {}},
{.CPY, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xCC, 3, .NMOS, {}},
{.CMP, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xCD, 3, .NMOS, {}},
{.DEC, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xCE, 3, .NMOS, {}},
{.DCP, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xCF, 3, .NMOS_UNDOC, {}},
{.BBS4, {.MEM_ZP, .REL, .NONE}, {.BYTE_1_ADDR, .BYTE_2_REL, .NONE}, 0xCF, 3, .CMOS_65C02, {cond_branch=true}},
{.BNE, {.REL, .NONE, .NONE}, {.BYTE_1_REL, .NONE, .NONE}, 0xD0, 2, .NMOS, {cond_branch=true}},
{.CMP, {.MEM_IND_Y, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xD1, 2, .NMOS, {page_cross=true}},
{.JAM, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0xD2, 1, .NMOS_UNDOC, {}},
{.CMP, {.MEM_IND_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xD2, 2, .CMOS_65C02, {}},
{.DCP, {.MEM_IND_Y, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xD3, 2, .NMOS_UNDOC, {}},
{.TIN, {.IMM_16, .IMM_16, .IMM_16}, {.WORD_1, .WORD_3, .WORD_5}, 0xD3, 7, .HUC6280, {}},
{.CSH, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0xD4, 1, .HUC6280, {}},
{.CMP, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xD5, 2, .NMOS, {}},
{.DEC, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xD6, 2, .NMOS, {}},
{.DCP, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xD7, 2, .NMOS_UNDOC, {}},
{.SMB5, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xD7, 2, .CMOS_65C02, {}},
{.CLD, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0xD8, 1, .NMOS, {}},
{.CMP, {.MEM_ABS_Y, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xD9, 3, .NMOS, {page_cross=true}},
{.PHX, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0xDA, 1, .CMOS_65C02, {}},
{.DCP, {.MEM_ABS_Y, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xDB, 3, .NMOS_UNDOC, {}},
{.STP, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0xDB, 1, .CMOS_65C02, {}},
{.CMP, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xDD, 3, .NMOS, {page_cross=true}},
{.DEC, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xDE, 3, .NMOS, {}},
{.DCP, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xDF, 3, .NMOS_UNDOC, {}},
{.BBS5, {.MEM_ZP, .REL, .NONE}, {.BYTE_1_ADDR, .BYTE_2_REL, .NONE}, 0xDF, 3, .CMOS_65C02, {cond_branch=true}},
{.CPX, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0xE0, 2, .NMOS, {}},
{.SBC, {.MEM_IND_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xE1, 2, .NMOS, {decimal=true}},
{.ISC, {.MEM_IND_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xE3, 2, .NMOS_UNDOC, {decimal=true}},
{.TIA, {.IMM_16, .IMM_16, .IMM_16}, {.WORD_1, .WORD_3, .WORD_5}, 0xE3, 7, .HUC6280, {}},
{.CPX, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xE4, 2, .NMOS, {}},
{.SBC, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xE5, 2, .NMOS, {decimal=true}},
{.INC, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xE6, 2, .NMOS, {}},
{.ISC, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xE7, 2, .NMOS_UNDOC, {decimal=true}},
{.SMB6, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xE7, 2, .CMOS_65C02, {}},
{.INX, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0xE8, 1, .NMOS, {}},
{.SBC, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0xE9, 2, .NMOS, {decimal=true}},
{.NOP, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0xEA, 1, .NMOS, {}},
{.USBC, {.IMM_8, .NONE, .NONE}, {.BYTE_1_IMM, .NONE, .NONE}, 0xEB, 2, .NMOS_UNDOC, {decimal=true}},
{.CPX, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xEC, 3, .NMOS, {}},
{.SBC, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xED, 3, .NMOS, {decimal=true}},
{.INC, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xEE, 3, .NMOS, {}},
{.ISC, {.MEM_ABS, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xEF, 3, .NMOS_UNDOC, {decimal=true}},
{.BBS6, {.MEM_ZP, .REL, .NONE}, {.BYTE_1_ADDR, .BYTE_2_REL, .NONE}, 0xEF, 3, .CMOS_65C02, {cond_branch=true}},
{.BEQ, {.REL, .NONE, .NONE}, {.BYTE_1_REL, .NONE, .NONE}, 0xF0, 2, .NMOS, {cond_branch=true}},
{.SBC, {.MEM_IND_Y, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xF1, 2, .NMOS, {decimal=true, page_cross=true}},
{.JAM, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0xF2, 1, .NMOS_UNDOC, {}},
{.SBC, {.MEM_IND_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xF2, 2, .CMOS_65C02, {decimal=true}},
{.ISC, {.MEM_IND_Y, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xF3, 2, .NMOS_UNDOC, {decimal=true}},
{.TAI, {.IMM_16, .IMM_16, .IMM_16}, {.WORD_1, .WORD_3, .WORD_5}, 0xF3, 7, .HUC6280, {}},
{.SET, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0xF4, 1, .HUC6280, {}},
{.SBC, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xF5, 2, .NMOS, {decimal=true}},
{.INC, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xF6, 2, .NMOS, {}},
{.ISC, {.MEM_ZP_X, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xF7, 2, .NMOS_UNDOC, {decimal=true}},
{.SMB7, {.MEM_ZP, .NONE, .NONE}, {.BYTE_1_ADDR, .NONE, .NONE}, 0xF7, 2, .CMOS_65C02, {}},
{.SED, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0xF8, 1, .NMOS, {}},
{.SBC, {.MEM_ABS_Y, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xF9, 3, .NMOS, {decimal=true, page_cross=true}},
{.PLX, {.NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE}, 0xFA, 1, .CMOS_65C02, {}},
{.ISC, {.MEM_ABS_Y, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xFB, 3, .NMOS_UNDOC, {decimal=true}},
{.SBC, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xFD, 3, .NMOS, {decimal=true, page_cross=true}},
{.INC, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xFE, 3, .NMOS, {}},
{.ISC, {.MEM_ABS_X, .NONE, .NONE}, {.WORD_1_ADDR, .NONE, .NONE}, 0xFF, 3, .NMOS_UNDOC, {decimal=true}},
{.BBS7, {.MEM_ZP, .REL, .NONE}, {.BYTE_1_ADDR, .BYTE_2_REL, .NONE}, 0xFF, 3, .CMOS_65C02, {cond_branch=true}},
}
DECODE_INDEX_OPCODE := [256]Decode_Index{
/* 00 */ {0, 1},
/* 01 */ {1, 1},
/* 02 */ {2, 2},
/* 03 */ {4, 2},
/* 04 */ {6, 2},
/* 05 */ {8, 1},
/* 06 */ {9, 1},
/* 07 */ {10, 2},
/* 08 */ {12, 1},
/* 09 */ {13, 1},
/* 0A */ {14, 1},
/* 0B */ {15, 1},
/* 0C */ {16, 2},
/* 0D */ {18, 1},
/* 0E */ {19, 1},
/* 0F */ {20, 2},
/* 10 */ {22, 1},
/* 11 */ {23, 1},
/* 12 */ {24, 2},
/* 13 */ {26, 2},
/* 14 */ {28, 2},
/* 15 */ {30, 1},
/* 16 */ {31, 1},
/* 17 */ {32, 2},
/* 18 */ {34, 1},
/* 19 */ {35, 1},
/* 1A */ {36, 2},
/* 1B */ {38, 1},
/* 1C */ {39, 2},
/* 1D */ {41, 1},
/* 1E */ {42, 1},
/* 1F */ {43, 2},
/* 20 */ {45, 1},
/* 21 */ {46, 1},
/* 22 */ {47, 2},
/* 23 */ {49, 2},
/* 24 */ {51, 1},
/* 25 */ {52, 1},
/* 26 */ {53, 1},
/* 27 */ {54, 2},
/* 28 */ {56, 1},
/* 29 */ {57, 1},
/* 2A */ {58, 1},
/* 2B */ {59, 1},
/* 2C */ {60, 1},
/* 2D */ {61, 1},
/* 2E */ {62, 1},
/* 2F */ {63, 2},
/* 30 */ {65, 1},
/* 31 */ {66, 1},
/* 32 */ {67, 2},
/* 33 */ {69, 1},
/* 34 */ {70, 1},
/* 35 */ {71, 1},
/* 36 */ {72, 1},
/* 37 */ {73, 2},
/* 38 */ {75, 1},
/* 39 */ {76, 1},
/* 3A */ {77, 2},
/* 3B */ {79, 1},
/* 3C */ {80, 1},
/* 3D */ {81, 1},
/* 3E */ {82, 1},
/* 3F */ {83, 2},
/* 40 */ {85, 1},
/* 41 */ {86, 1},
/* 42 */ {87, 2},
/* 43 */ {89, 2},
/* 44 */ {91, 1},
/* 45 */ {92, 1},
/* 46 */ {93, 1},
/* 47 */ {94, 2},
/* 48 */ {96, 1},
/* 49 */ {97, 1},
/* 4A */ {98, 1},
/* 4B */ {99, 1},
/* 4C */ {100, 1},
/* 4D */ {101, 1},
/* 4E */ {102, 1},
/* 4F */ {103, 2},
/* 50 */ {105, 1},
/* 51 */ {106, 1},
/* 52 */ {107, 2},
/* 53 */ {109, 2},
/* 54 */ {111, 1},
/* 55 */ {112, 1},
/* 56 */ {113, 1},
/* 57 */ {114, 2},
/* 58 */ {116, 1},
/* 59 */ {117, 1},
/* 5A */ {118, 1},
/* 5B */ {119, 1},
/* 5C */ {0, 0},
/* 5D */ {120, 1},
/* 5E */ {121, 1},
/* 5F */ {122, 2},
/* 60 */ {124, 1},
/* 61 */ {125, 1},
/* 62 */ {126, 2},
/* 63 */ {128, 1},
/* 64 */ {129, 1},
/* 65 */ {130, 1},
/* 66 */ {131, 1},
/* 67 */ {132, 2},
/* 68 */ {134, 1},
/* 69 */ {135, 1},
/* 6A */ {136, 1},
/* 6B */ {137, 1},
/* 6C */ {138, 1},
/* 6D */ {139, 1},
/* 6E */ {140, 1},
/* 6F */ {141, 2},
/* 70 */ {143, 1},
/* 71 */ {144, 1},
/* 72 */ {145, 2},
/* 73 */ {147, 2},
/* 74 */ {149, 1},
/* 75 */ {150, 1},
/* 76 */ {151, 1},
/* 77 */ {152, 2},
/* 78 */ {154, 1},
/* 79 */ {155, 1},
/* 7A */ {156, 1},
/* 7B */ {157, 1},
/* 7C */ {158, 1},
/* 7D */ {159, 1},
/* 7E */ {160, 1},
/* 7F */ {161, 2},
/* 80 */ {163, 2},
/* 81 */ {165, 1},
/* 82 */ {166, 1},
/* 83 */ {167, 2},
/* 84 */ {169, 1},
/* 85 */ {170, 1},
/* 86 */ {171, 1},
/* 87 */ {172, 2},
/* 88 */ {174, 1},
/* 89 */ {175, 1},
/* 8A */ {176, 1},
/* 8B */ {177, 1},
/* 8C */ {178, 1},
/* 8D */ {179, 1},
/* 8E */ {180, 1},
/* 8F */ {181, 2},
/* 90 */ {183, 1},
/* 91 */ {184, 1},
/* 92 */ {185, 2},
/* 93 */ {187, 2},
/* 94 */ {189, 1},
/* 95 */ {190, 1},
/* 96 */ {191, 1},
/* 97 */ {192, 2},
/* 98 */ {194, 1},
/* 99 */ {195, 1},
/* 9A */ {196, 1},
/* 9B */ {197, 1},
/* 9C */ {198, 2},
/* 9D */ {200, 1},
/* 9E */ {201, 2},
/* 9F */ {203, 2},
/* A0 */ {205, 1},
/* A1 */ {206, 1},
/* A2 */ {207, 1},
/* A3 */ {208, 2},
/* A4 */ {210, 1},
/* A5 */ {211, 1},
/* A6 */ {212, 1},
/* A7 */ {213, 2},
/* A8 */ {215, 1},
/* A9 */ {216, 1},
/* AA */ {217, 1},
/* AB */ {218, 1},
/* AC */ {219, 1},
/* AD */ {220, 1},
/* AE */ {221, 1},
/* AF */ {222, 2},
/* B0 */ {224, 1},
/* B1 */ {225, 1},
/* B2 */ {226, 2},
/* B3 */ {228, 2},
/* B4 */ {230, 1},
/* B5 */ {231, 1},
/* B6 */ {232, 1},
/* B7 */ {233, 2},
/* B8 */ {235, 1},
/* B9 */ {236, 1},
/* BA */ {237, 1},
/* BB */ {238, 1},
/* BC */ {239, 1},
/* BD */ {240, 1},
/* BE */ {241, 1},
/* BF */ {242, 2},
/* C0 */ {244, 1},
/* C1 */ {245, 1},
/* C2 */ {246, 1},
/* C3 */ {247, 2},
/* C4 */ {249, 1},
/* C5 */ {250, 1},
/* C6 */ {251, 1},
/* C7 */ {252, 2},
/* C8 */ {254, 1},
/* C9 */ {255, 1},
/* CA */ {256, 1},
/* CB */ {257, 2},
/* CC */ {259, 1},
/* CD */ {260, 1},
/* CE */ {261, 1},
/* CF */ {262, 2},
/* D0 */ {264, 1},
/* D1 */ {265, 1},
/* D2 */ {266, 2},
/* D3 */ {268, 2},
/* D4 */ {270, 1},
/* D5 */ {271, 1},
/* D6 */ {272, 1},
/* D7 */ {273, 2},
/* D8 */ {275, 1},
/* D9 */ {276, 1},
/* DA */ {277, 1},
/* DB */ {278, 2},
/* DC */ {0, 0},
/* DD */ {280, 1},
/* DE */ {281, 1},
/* DF */ {282, 2},
/* E0 */ {284, 1},
/* E1 */ {285, 1},
/* E2 */ {0, 0},
/* E3 */ {286, 2},
/* E4 */ {288, 1},
/* E5 */ {289, 1},
/* E6 */ {290, 1},
/* E7 */ {291, 2},
/* E8 */ {293, 1},
/* E9 */ {294, 1},
/* EA */ {295, 1},
/* EB */ {296, 1},
/* EC */ {297, 1},
/* ED */ {298, 1},
/* EE */ {299, 1},
/* EF */ {300, 2},
/* F0 */ {302, 1},
/* F1 */ {303, 1},
/* F2 */ {304, 2},
/* F3 */ {306, 2},
/* F4 */ {308, 1},
/* F5 */ {309, 1},
/* F6 */ {310, 1},
/* F7 */ {311, 2},
/* F8 */ {313, 1},
/* F9 */ {314, 1},
/* FA */ {315, 1},
/* FB */ {316, 1},
/* FC */ {0, 0},
/* FD */ {317, 1},
/* FE */ {318, 1},
/* FF */ {319, 2},
}