mirror of
https://github.com/odin-lang/Odin.git
synced 2026-06-20 09:02:32 +00:00
609 lines
34 KiB
Odin
609 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{
|
|
0x00 = {0, 1},
|
|
0x01 = {1, 1},
|
|
0x02 = {2, 2},
|
|
0x03 = {4, 2},
|
|
0x04 = {6, 2},
|
|
0x05 = {8, 1},
|
|
0x06 = {9, 1},
|
|
0x07 = {10, 2},
|
|
0x08 = {12, 1},
|
|
0x09 = {13, 1},
|
|
0x0A = {14, 1},
|
|
0x0B = {15, 1},
|
|
0x0C = {16, 2},
|
|
0x0D = {18, 1},
|
|
0x0E = {19, 1},
|
|
0x0F = {20, 2},
|
|
0x10 = {22, 1},
|
|
0x11 = {23, 1},
|
|
0x12 = {24, 2},
|
|
0x13 = {26, 2},
|
|
0x14 = {28, 2},
|
|
0x15 = {30, 1},
|
|
0x16 = {31, 1},
|
|
0x17 = {32, 2},
|
|
0x18 = {34, 1},
|
|
0x19 = {35, 1},
|
|
0x1A = {36, 2},
|
|
0x1B = {38, 1},
|
|
0x1C = {39, 2},
|
|
0x1D = {41, 1},
|
|
0x1E = {42, 1},
|
|
0x1F = {43, 2},
|
|
0x20 = {45, 1},
|
|
0x21 = {46, 1},
|
|
0x22 = {47, 2},
|
|
0x23 = {49, 2},
|
|
0x24 = {51, 1},
|
|
0x25 = {52, 1},
|
|
0x26 = {53, 1},
|
|
0x27 = {54, 2},
|
|
0x28 = {56, 1},
|
|
0x29 = {57, 1},
|
|
0x2A = {58, 1},
|
|
0x2B = {59, 1},
|
|
0x2C = {60, 1},
|
|
0x2D = {61, 1},
|
|
0x2E = {62, 1},
|
|
0x2F = {63, 2},
|
|
0x30 = {65, 1},
|
|
0x31 = {66, 1},
|
|
0x32 = {67, 2},
|
|
0x33 = {69, 1},
|
|
0x34 = {70, 1},
|
|
0x35 = {71, 1},
|
|
0x36 = {72, 1},
|
|
0x37 = {73, 2},
|
|
0x38 = {75, 1},
|
|
0x39 = {76, 1},
|
|
0x3A = {77, 2},
|
|
0x3B = {79, 1},
|
|
0x3C = {80, 1},
|
|
0x3D = {81, 1},
|
|
0x3E = {82, 1},
|
|
0x3F = {83, 2},
|
|
0x40 = {85, 1},
|
|
0x41 = {86, 1},
|
|
0x42 = {87, 2},
|
|
0x43 = {89, 2},
|
|
0x44 = {91, 1},
|
|
0x45 = {92, 1},
|
|
0x46 = {93, 1},
|
|
0x47 = {94, 2},
|
|
0x48 = {96, 1},
|
|
0x49 = {97, 1},
|
|
0x4A = {98, 1},
|
|
0x4B = {99, 1},
|
|
0x4C = {100, 1},
|
|
0x4D = {101, 1},
|
|
0x4E = {102, 1},
|
|
0x4F = {103, 2},
|
|
0x50 = {105, 1},
|
|
0x51 = {106, 1},
|
|
0x52 = {107, 2},
|
|
0x53 = {109, 2},
|
|
0x54 = {111, 1},
|
|
0x55 = {112, 1},
|
|
0x56 = {113, 1},
|
|
0x57 = {114, 2},
|
|
0x58 = {116, 1},
|
|
0x59 = {117, 1},
|
|
0x5A = {118, 1},
|
|
0x5B = {119, 1},
|
|
0x5D = {120, 1},
|
|
0x5E = {121, 1},
|
|
0x5F = {122, 2},
|
|
0x60 = {124, 1},
|
|
0x61 = {125, 1},
|
|
0x62 = {126, 2},
|
|
0x63 = {128, 1},
|
|
0x64 = {129, 1},
|
|
0x65 = {130, 1},
|
|
0x66 = {131, 1},
|
|
0x67 = {132, 2},
|
|
0x68 = {134, 1},
|
|
0x69 = {135, 1},
|
|
0x6A = {136, 1},
|
|
0x6B = {137, 1},
|
|
0x6C = {138, 1},
|
|
0x6D = {139, 1},
|
|
0x6E = {140, 1},
|
|
0x6F = {141, 2},
|
|
0x70 = {143, 1},
|
|
0x71 = {144, 1},
|
|
0x72 = {145, 2},
|
|
0x73 = {147, 2},
|
|
0x74 = {149, 1},
|
|
0x75 = {150, 1},
|
|
0x76 = {151, 1},
|
|
0x77 = {152, 2},
|
|
0x78 = {154, 1},
|
|
0x79 = {155, 1},
|
|
0x7A = {156, 1},
|
|
0x7B = {157, 1},
|
|
0x7C = {158, 1},
|
|
0x7D = {159, 1},
|
|
0x7E = {160, 1},
|
|
0x7F = {161, 2},
|
|
0x80 = {163, 2},
|
|
0x81 = {165, 1},
|
|
0x82 = {166, 1},
|
|
0x83 = {167, 2},
|
|
0x84 = {169, 1},
|
|
0x85 = {170, 1},
|
|
0x86 = {171, 1},
|
|
0x87 = {172, 2},
|
|
0x88 = {174, 1},
|
|
0x89 = {175, 1},
|
|
0x8A = {176, 1},
|
|
0x8B = {177, 1},
|
|
0x8C = {178, 1},
|
|
0x8D = {179, 1},
|
|
0x8E = {180, 1},
|
|
0x8F = {181, 2},
|
|
0x90 = {183, 1},
|
|
0x91 = {184, 1},
|
|
0x92 = {185, 2},
|
|
0x93 = {187, 2},
|
|
0x94 = {189, 1},
|
|
0x95 = {190, 1},
|
|
0x96 = {191, 1},
|
|
0x97 = {192, 2},
|
|
0x98 = {194, 1},
|
|
0x99 = {195, 1},
|
|
0x9A = {196, 1},
|
|
0x9B = {197, 1},
|
|
0x9C = {198, 2},
|
|
0x9D = {200, 1},
|
|
0x9E = {201, 2},
|
|
0x9F = {203, 2},
|
|
0xA0 = {205, 1},
|
|
0xA1 = {206, 1},
|
|
0xA2 = {207, 1},
|
|
0xA3 = {208, 2},
|
|
0xA4 = {210, 1},
|
|
0xA5 = {211, 1},
|
|
0xA6 = {212, 1},
|
|
0xA7 = {213, 2},
|
|
0xA8 = {215, 1},
|
|
0xA9 = {216, 1},
|
|
0xAA = {217, 1},
|
|
0xAB = {218, 1},
|
|
0xAC = {219, 1},
|
|
0xAD = {220, 1},
|
|
0xAE = {221, 1},
|
|
0xAF = {222, 2},
|
|
0xB0 = {224, 1},
|
|
0xB1 = {225, 1},
|
|
0xB2 = {226, 2},
|
|
0xB3 = {228, 2},
|
|
0xB4 = {230, 1},
|
|
0xB5 = {231, 1},
|
|
0xB6 = {232, 1},
|
|
0xB7 = {233, 2},
|
|
0xB8 = {235, 1},
|
|
0xB9 = {236, 1},
|
|
0xBA = {237, 1},
|
|
0xBB = {238, 1},
|
|
0xBC = {239, 1},
|
|
0xBD = {240, 1},
|
|
0xBE = {241, 1},
|
|
0xBF = {242, 2},
|
|
0xC0 = {244, 1},
|
|
0xC1 = {245, 1},
|
|
0xC2 = {246, 1},
|
|
0xC3 = {247, 2},
|
|
0xC4 = {249, 1},
|
|
0xC5 = {250, 1},
|
|
0xC6 = {251, 1},
|
|
0xC7 = {252, 2},
|
|
0xC8 = {254, 1},
|
|
0xC9 = {255, 1},
|
|
0xCA = {256, 1},
|
|
0xCB = {257, 2},
|
|
0xCC = {259, 1},
|
|
0xCD = {260, 1},
|
|
0xCE = {261, 1},
|
|
0xCF = {262, 2},
|
|
0xD0 = {264, 1},
|
|
0xD1 = {265, 1},
|
|
0xD2 = {266, 2},
|
|
0xD3 = {268, 2},
|
|
0xD4 = {270, 1},
|
|
0xD5 = {271, 1},
|
|
0xD6 = {272, 1},
|
|
0xD7 = {273, 2},
|
|
0xD8 = {275, 1},
|
|
0xD9 = {276, 1},
|
|
0xDA = {277, 1},
|
|
0xDB = {278, 2},
|
|
0xDD = {280, 1},
|
|
0xDE = {281, 1},
|
|
0xDF = {282, 2},
|
|
0xE0 = {284, 1},
|
|
0xE1 = {285, 1},
|
|
0xE3 = {286, 2},
|
|
0xE4 = {288, 1},
|
|
0xE5 = {289, 1},
|
|
0xE6 = {290, 1},
|
|
0xE7 = {291, 2},
|
|
0xE8 = {293, 1},
|
|
0xE9 = {294, 1},
|
|
0xEA = {295, 1},
|
|
0xEB = {296, 1},
|
|
0xEC = {297, 1},
|
|
0xED = {298, 1},
|
|
0xEE = {299, 1},
|
|
0xEF = {300, 2},
|
|
0xF0 = {302, 1},
|
|
0xF1 = {303, 1},
|
|
0xF2 = {304, 2},
|
|
0xF3 = {306, 2},
|
|
0xF4 = {308, 1},
|
|
0xF5 = {309, 1},
|
|
0xF6 = {310, 1},
|
|
0xF7 = {311, 2},
|
|
0xF8 = {313, 1},
|
|
0xF9 = {314, 1},
|
|
0xFA = {315, 1},
|
|
0xFB = {316, 1},
|
|
0xFD = {317, 1},
|
|
0xFE = {318, 1},
|
|
0xFF = {319, 2},
|
|
}
|
|
|