#include "enums.h"
static const uint8_t optype[0x100] = {
[CPS_IMP ] = IMPL,
[ADC_IMM ] = IMM,
[AAB_IMP ] = IMPL,
[ADC_AB ] = ABS,
[LDA_IN ] = IND,
[ADC_Z ] = ZM,
[CLC_IMP ] = IMPL,
[DEX_IMP ] = IMPL,
[DEC_IMP ] = IMPL,
[DEC_AB ] = ABS,
[DEC_Z ] = ZM,
[JMP_AB ] = ABS,
[SBC_IMM ] = IMM,
[SAB_IMP ] = IMPL,
[SBC_AB ] = ABS,
[STA_IN ] = IND,
[SBC_Z ] = ZM,
[SEC_IMP ] = IMPL,
[INX_IMP ] = IMPL,
[INC_IMP ] = IMPL,
[INC_AB ] = ABS,
[INC_Z ] = ZM,
[JSR_AB ] = ABS,
[AND_IMM ] = IMM,
[ABA_IMP ] = IMPL,
[AND_AB ] = ABS,
[CMP_IN ] = IND,
[AND_Z ] = ZM,
[CLI_IMP ] = IMPL,
[DEY_IMP ] = IMPL,
[CPB_IMM ] = IMM,
[CPB_AB ] = ABS,
[CPB_Z ] = ZM,
[JMP_Z ] = ZM,
[ORA_IMM ] = IMM,
[OAB_IMP ] = IMPL,
[ORA_AB ] = ABS,
[LDB_IN ] = IND,
[ORA_Z ] = ZM,
[SEI_IMP ] = IMPL,
[INY_IMP ] = IMPL,
[CPX_IMM ] = IMM,
[CPX_AB ] = ABS,
[CPY_Z ] = ZM,
[JSR_Z ] = ZM,
[XOR_IMM ] = IMM,
[XAB_IMP ] = IMPL,
[XOR_AB ] = ABS,
[STB_IN ] = IND,
[XOR_Z ] = ZM,
[CLV_IMP ] = IMPL,
[CPY_IMM ] = IMM,
[CPY_AB ] = ABS,
[CPX_Z ] = ZM,
[BPO_REL ] = REL,
[LSL_IMM ] = IMM,
[LLB_IMP ] = IMPL,
[LSL_AB ] = ABS,
[CPB_IN ] = IND,
[LSL_Z ] = ZM,
[WAI_IMP ] = IMPL,
[PHP_IMP ] = IMPL,
[TAB_IMP ] = IMPL,
[LDA_IY ] = INDY,
[LDA_IX ] = INDX,
[BNG_REL ] = REL,
[LSR_IMM ] = IMM,
[LRB_IMP ] = IMPL,
[LSR_AB ] = ABS,
[LDY_IN ] = IND,
[LSR_Z ] = ZM,
[BRK_IMP ] = IMPL,
[PLP_IMP ] = IMPL,
[TBA_IMP ] = IMPL,
[STA_IY ] = INDY,
[STA_IX ] = INDX,
[BCS_REL ] = REL,
[ROL_IMM ] = IMM,
[RLB_IMP ] = IMPL,
[ROL_AB ] = ABS,
[STY_IN ] = IND,
[ROL_Z ] = ZM,
[LDA_ZY ] = ZMY,
[PHA_IMP ] = IMPL,
[TAY_IMP ] = IMPL,
[CMP_IY ] = INDY,
[CMP_IX ] = INDX,
[BCC_REL ] = REL,
[ROR_IMM ] = IMM,
[RRB_IMP ] = IMPL,
[ROR_AB ] = ABS,
[LDX_IN ] = IND,
[ROR_Z ] = ZM,
[STA_ZY ] = ZMY,
[PLA_IMP ] = IMPL,
[TYA_IMP ] = IMPL,
[LDB_IY ] = INDY,
[LDB_IX ] = INDX,
[BEQ_REL ] = REL,
[MUL_IMM ] = IMM,
[MAB_IMP ] = IMPL,
[MUL_AB ] = ABS,
[STX_IN ] = IND,
[MUL_Z ] = ZM,
[LDB_ZY ] = ZMY,
[PHB_IMP ] = IMPL,
[TAX_IMP ] = IMPL,
[STB_IY ] = INDY,
[STB_IX ] = INDX,
[BNE_REL ] = REL,
[DIV_IMM ] = IMM,
[DAB_IMP ] = IMPL,
[DIV_AB ] = ABS,
[JSR_IN ] = IND,
[DIV_Z ] = ZM,
[STB_ZY ] = ZMY,
[PLB_IMP ] = IMPL,
[TXA_IMP ] = IMPL,
[CPB_IY ] = INDY,
[CPB_IX ] = INDX,
[BVS_REL ] = REL,
[CMP_IMM ] = IMM,
[CAB_IMP ] = IMPL,
[CMP_AB ] = ABS,
[JMP_IN ] = IND,
[CMP_Z ] = ZM,
[LDA_ZX ] = ZMX,
[LDX_IMM ] = IMM,
[TYX_IMP ] = IMPL,
[LDX_AB ] = ABS,
[LDX_Z ] = ZM,
[BVC_REL ] = REL,
[LDA_IMM ] = IMM,
[DEB_IMP ] = IMPL,
[LDA_AB ] = ABS,
[LDA_Z ] = ZM,
[STA_ZX ] = ZMX,
[PHY_IMP ] = IMPL,
[TXY_IMP ] = IMPL,
[STA_AB ] = ABS,
[STA_Z ] = ZM,
[BRA_REL ] = REL,
[LDB_IMM ] = IMM,
[INB_IMP ] = IMPL,
[LDB_AB ] = ABS,
[LDB_Z ] = ZM,
[LDB_ZX ] = ZMX,
[PLY_IMP ] = IMPL,
[TSX_IMP ] = IMPL,
[STB_AB ] = ABS,
[STB_Z ] = ZM,
[RTS_IMP ] = IMPL,
[LDY_IMM ] = IMM,
[LDY_AB ] = ABS,
[LDY_Z ] = ZM,
[STB_ZX ] = ZMX,
[PHX_IMP ] = IMPL,
[NOP_IMP ] = IMPL,
[STY_AB ] = ABS,
[STY_Z ] = ZM,
[RTI_IMP ] = IMPL,
[ASR_IMM ] = IMM,
[ARB_IMP ] = IMPL,
[ASR_AB ] = ABS,
[ASR_Z ] = ZM,
[PLX_IMP ] = IMPL,
[TXS_IMM ] = IMM,
[STX_AB ] = ABS,
[STX_Z ] = ZM
};