enum base_isa {
CPS = 0x00,
ADC = 0x01,
AAB = 0x02,
ADC_AB = 0x04,
LDA_IN = 0x05,
ADC_Z = 0x06,
PHP = 0x08,
CPB = 0x09,
PHB = 0x0A,
DEC_AB = 0x0C,
DEC_Z = 0x0D,
JMP_Z = 0x0E,
JMP = 0x10,
SBC = 0x11,
SAB = 0x12,
SBC_AB = 0x14,
STA_IN = 0x15,
SBC_Z = 0x16,
ENT = 0x18,
CPY = 0x19,
PLB = 0x1A,
INC_AB = 0x1C,
INC_Z = 0x1D,
JSR_Z = 0x1E,
JSR = 0x20,
AND = 0x21,
ABA = 0x22,
AND_AB = 0x24,
CMP_IN = 0x25,
AND_Z = 0x26,
PLP = 0x28,
CPX = 0x29,
PHY = 0x2A,
CPB_AB = 0x2C,
CPB_Z = 0x2D,
BPO_Z = 0x2E,
BPO = 0x30,
ORA = 0x31,
OAB = 0x32,
ORA_AB = 0x34,
LDB_IN = 0x35,
ORA_Z = 0x36,
STT = 0x38,
LDA_ZY = 0x39,
PLY = 0x3A,
CPX_AB = 0x3C,
CPY_Z = 0x3D,
BNG_Z = 0x3E,
BNG = 0x40,
XOR = 0x41,
XAB = 0x42,
XOR_AB = 0x44,
STB_IN = 0x45,
XOR_Z = 0x46,
PHA = 0x48,
STA_ZY = 0x49,
PHX = 0x4A,
CPY_AB = 0x4C,
CPX_Z = 0x4D,
BCS_Z = 0x4E,
BCS = 0x50,
LSL = 0x51,
LLB = 0x52,
LSL_AB = 0x54,
CPB_IN = 0x55,
LSL_Z = 0x56,
CLC = 0x58,
LDB_ZY = 0x59,
PLX = 0x5A,
LDA_IY = 0x5C,
LDA_IX = 0x5D,
BCC_Z = 0x5E,
BCC = 0x60,
LSR = 0x61,
LRB = 0x62,
LSR_AB = 0x64,
LDY_IN = 0x65,
LSR_Z = 0x66,
PLA = 0x68,
STB_ZY = 0x69,
TAB = 0x6A,
STA_IY = 0x6C,
STA_IX = 0x6D,
BEQ_Z = 0x6E,
BEQ = 0x70,
ROL = 0x71,
RLB = 0x72,
ROL_AB = 0x74,
STY_IN = 0x75,
ROL_Z = 0x76,
SEC = 0x78,
LDA_ZX = 0x79,
TBA = 0x7A,
CMP_IY = 0x7C,
CMP_IX = 0x7D,
BNE_Z = 0x7E,
BNE = 0x80,
ROR = 0x81,
RRB = 0x82,
ROR_AB = 0x84,
CPY_IN = 0x85,
ROR_Z = 0x86,
DEY = 0x88,
STA_ZX = 0x89,
TAY = 0x8A,
LDB_IY = 0x8C,
LDB_IX = 0x8D,
BVS_Z = 0x8E,
BVS = 0x90,
MUL = 0x91,
MAB = 0x92,
MUL_AB = 0x94,
LDX_IN = 0x95,
MUL_Z = 0x96,
CLI = 0x98,
LDB_ZX = 0x99,
TYA = 0x9A,
STB_IY = 0x9C,
STB_IX = 0x9D,
BVC_Z = 0x9E,
BVC = 0xA0,
DIV = 0xA1,
DAB = 0xA2,
DIV_AB = 0xA4,
STX_IN = 0xA5,
DIV_Z = 0xA6,
INY = 0xA8,
STB_ZX = 0xA9,
TAX = 0xAA,
CPB_IY = 0xAC,
CPB_IX = 0xAD,
RTS = 0xAE,
CMP = 0xB1,
CAB = 0xB2,
CMP_AB = 0xB4,
CPX_IN = 0xB5,
CMP_Z = 0xB6,
SEI = 0xB8,
LDX = 0xB9,
TXA = 0xBA,
LDX_AB = 0xBC,
LDX_Z = 0xBD,
JSR_IN = 0xBE,
RTI = 0xC0,
LDA = 0xC1,
LDA_AB = 0xC4,
DEX = 0xC5,
LDA_Z = 0xC6,
CLV = 0xC8,
LDX_ZY = 0xC9,
TYX = 0xCA,
STA = 0xCC,
STA_Z = 0xCD,
JMP_IN = 0xCE,
TSX = 0xD0,
LDB = 0xD1,
LDB_AB = 0xD4,
INX = 0xD5,
LDB_Z = 0xD6,
WAI = 0xD8,
STX_ZY = 0xD9,
TXY = 0xDA,
STB = 0xDC,
STB_Z = 0xDD,
TXS = 0xE0,
LDY = 0xE1,
LDY_AB = 0xE4,
DEC = 0xE5,
LDY_Z = 0xE6,
BRK = 0xE8,
LDY_ZX = 0xE9,
NOP = 0xEA,
STY = 0xEC,
STY_Z = 0xED,
DEB = 0xEE,
ASR = 0xF1,
ARB = 0xF2,
ASR_AB = 0xF4,
INC = 0xF5,
ASR_Z = 0xF6,
STY_ZX = 0xF9,
STX = 0xFC,
STX_Z = 0xFD,
INB = 0xFE
};
enum base_ext {
ADC_E = 0x01,
LEA_ZX = 0x02,
LEA_SX = 0x03,
ADD = 0x04,
LLM = 0x05,
PHE = 0x08,
CPB_E = 0x09,
DEC_E = 0x0C,
JMP_E = 0x10,
SBC_E = 0x11,
LEA_ZY = 0x12,
LEA_SY = 0x13,
ADD_E = 0x14,
LLM_Z = 0x15,
CPY_E = 0x19,
INC_E = 0x1C,
JSR_E = 0x20,
AND_E = 0x21,
PEA_ZX = 0x22,
PEA_SX = 0x23,
SUB = 0x24,
LLM_E = 0x25,
PLE = 0x28,
CPX_E = 0x29,
DEE = 0x2C,
BPO_E = 0x30,
ORA_E = 0x31,
PEA_ZY = 0x32,
PEA_SY = 0x33,
SUB_E = 0x34,
LRM = 0x35,
CPE = 0x39,
INE = 0x3C,
BNG_E = 0x40,
XOR_E = 0x41,
LEA_AX = 0x42,
LEA_SI = 0x43,
ADE = 0x44,
LRM_Z = 0x45,
CPE_AB = 0x49,
DES = 0x4C,
BCS_E = 0x50,
LSL_E = 0x51,
LEA_AY = 0x52,
LEA_RE = 0x53,
ADE_A = 0x54,
LRM_E = 0x55,
CPE_Z = 0x59,
INS = 0x5C,
BCC_E = 0x60,
LSR_E = 0x61,
PEA_AX = 0x62,
PEA_SI = 0x63,
SBE = 0x64,
RLM = 0x65,
ICE = 0x69,
BEQ_E = 0x70,
ROL_E = 0x71,
PEA_AY = 0x72,
PEA_RE = 0x73,
RLM_Z = 0x75,
ICE_Z = 0x79,
STE = 0x7C,
BNE_E = 0x80,
ROR_E = 0x81,
LEA_IX = 0x82,
LEA_IN = 0x83,
ADS = 0x84,
RLM_E = 0x85,
ICE_E = 0x89,
STE_Z = 0x8C,
BVS_E = 0x90,
MUL_E = 0x91,
LEA_IY = 0x92,
LEA_AI = 0x93,
ADS_A = 0x94,
RRM = 0x95,
STZ = 0x9C,
BVC_E = 0xA0,
DIV_E = 0xA1,
PEA_IX = 0xA2,
PEA_IN = 0xA3,
SBS = 0xA4,
RRM_ZM = 0xA5,
STZ_ZM = 0xAC,
CMP_E = 0xB1,
PEA_IY = 0xB2,
PEA_AI = 0xB3,
SBS_A = 0xB4,
RRM_E = 0xB5,
LDX_E = 0xB9,
STZ_E = 0xBC,
LDA_E = 0xC1,
LEA_AIX = 0xC2,
LEA_Z = 0xC3,
NOT = 0xC4,
ARM = 0xC5,
LDE = 0xC9,
STA_E = 0xCC,
LDB_E = 0xD1,
LEA_AIY = 0xD2,
LEA = 0xD3,
NOT_AB = 0xD4,
ARM_Z = 0xD5,
LDE_AB = 0xD9,
STB_E = 0xDC,
LDY_E = 0xE1,
PEA_AIX = 0xE2,
PEA_Z = 0xE3,
NOT_Z = 0xE4,
ARM_E = 0xE5,
LDE_Z = 0xE9,
STY_E = 0xEC,
ASR_E = 0xF1,
PEA_AIY = 0xF2,
PEA = 0xF3,
NOT_E = 0xF4,
STX_E = 0xFC,
};
enum am {
IMM,
ZM,
ZMX,
ZMY,
IND,
INDX,
INDY,
ABS,
IMPL,
ABSX,
ABSY,
SPI,
SPX,
SPY,
REL,
INA,
INAX,
INAY,
EIND,
};