unit Z80Instructions;

interface

uses
  Classes, SysUtils, Base;

type
  TInstructionTable = (itBase, itCB, itDD, itED, itFD, itDDCB, itFDCB);

  TInstruction = (
    in_NOP = $00,
    in_LD_BC_NN = $01,
    in_LD_BC_Indirect_A = $02,
    in_INC_BC = $03,
    in_INC_B = $04,
    in_DEC_B = $05,
    in_LD_B_N = $06,
    in_RLCA = $07,
    in_EX_AF_AF_Pair = $08,
    in_ADD_HL_BC = $09,
    in_LD_A_BC_Indirect = $0A,
    in_DEC_BC = $0B,
    in_INC_C = $0C,
    in_DEC_C = $0D,
    in_LD_C_N = $0E,
    in_RRCA = $0F,
    in_DJNZ_D = $10,
    in_LD_DE_NN = $11,
    in_LD_DE_Indirect_A = $12,
    in_INC_DE = $13,
    in_INC_D = $14,
    in_DEC_D = $15,
    in_LD_D_N = $16,
    in_RLA = $17,
    in_JR_D = $18,
    in_ADD_HL_DE = $19,
    in_LD_A_DE_Indirect = $1A,
    in_DEC_DE = $1B,
    in_INC_E = $1C,
    in_DEC_E = $1D,
    in_LD_E_N = $1E,
    in_RRA = $1F,
    in_JR_NZ_D = $20,
    in_LD_HL_NN = $21,
    in_LD_NN_Indirect_HL = $22,
    in_INC_HL = $23,
    in_INC_H = $24,
    in_DEC_H = $25,
    in_LD_H_N = $26,
    in_DAA = $27,
    in_JR_Z_D = $28,
    in_ADD_HL_HL = $29,
    in_LD_HL_NN_Indirect = $2A,
    in_DEC_HL = $2B,
    in_INC_L = $2C,
    in_DEC_L = $2D,
    in_LD_L_N = $2E,
    in_CPL = $2F,
    in_JR_NC_D = $30,
    in_LD_SP_NN = $31,
    in_LD_NN_Indirect_A = $32,
    in_INC_SP = $33,
    in_INC_HL_Indirect = $34,
    in_DEC_HL_Indirect = $35,
    in_LD_HL_Indirect_N = $36,
    in_SCF = $37,
    in_JR_C_D = $38,
    in_ADD_HL_SP = $39,
    in_LD_A_NN_Indirect = $3A,
    in_DEC_SP = $3B,
    in_INC_A = $3C,
    in_DEC_A = $3D,
    in_LD_A_N = $3E,
    in_CCF = $3F,
    in_LD_B_B = $40,
    in_LD_B_C = $41,
    in_LD_B_D = $42,
    in_LD_B_E = $43,
    in_LD_B_H = $44,
    in_LD_B_L = $45,
    in_LD_B_HL_Indirect = $46,
    in_LD_B_A = $47,
    in_LD_C_B = $48,
    in_LD_C_C = $49,
    in_LD_C_D = $4A,
    in_LD_C_E = $4B,
    in_LD_C_H = $4C,
    in_LD_C_L = $4D,
    in_LD_C_HL_Indirect = $4E,
    in_LD_C_A = $4F,
    in_LD_D_B = $50,
    in_LD_D_C = $51,
    in_LD_D_D = $52,
    in_LD_D_E = $53,
    in_LD_D_H = $54,
    in_LD_D_L = $55,
    in_LD_D_HL_Indirect = $56,
    in_LD_D_A = $57,
    in_LD_E_B = $58,
    in_LD_E_C = $59,
    in_LD_E_D = $5A,
    in_LD_E_E = $5B,
    in_LD_E_H = $5C,
    in_LD_E_L = $5D,
    in_LD_E_HL_Indirect = $5E,
    in_LD_E_A = $5F,
    in_LD_H_B = $60,
    in_LD_H_C = $61,
    in_LD_H_D = $62,
    in_LD_H_E = $63,
    in_LD_H_H = $64,
    in_LD_H_L = $65,
    in_LD_H_HL_Indirect = $66,
    in_LD_H_A = $67,
    in_LD_L_B = $68,
    in_LD_L_C = $69,
    in_LD_L_D = $6A,
    in_LD_L_E = $6B,
    in_LD_L_H = $6C,
    in_LD_L_L = $6D,
    in_LD_L_HL_Indirect = $6E,
    in_LD_L_A = $6F,
    in_LD_HL_Indirect_B = $70,
    in_LD_HL_Indirect_C = $71,
    in_LD_HL_Indirect_D = $72,
    in_LD_HL_Indirect_E = $73,
    in_LD_HL_Indirect_H = $74,
    in_LD_HL_Indirect_L = $75,
    in_HALT = $76,
    in_LD_HL_Indirect_A = $77,
    in_LD_A_B = $78,
    in_LD_A_C = $79,
    in_LD_A_D = $7A,
    in_LD_A_E = $7B,
    in_LD_A_H = $7C,
    in_LD_A_L = $7D,
    in_LD_A_HL_Indirect = $7E,
    in_LD_A_A = $7F,
    in_ADD_A_B = $80,
    in_ADD_A_C = $81,
    in_ADD_A_D = $82,
    in_ADD_A_E = $83,
    in_ADD_A_H = $84,
    in_ADD_A_L = $85,
    in_ADD_A_HL_Indirect = $86,
    in_ADD_A_A = $87,
    in_ADC_A_B = $88,
    in_ADC_A_C = $89,
    in_ADC_A_D = $8A,
    in_ADC_A_E = $8B,
    in_ADC_A_H = $8C,
    in_ADC_A_L = $8D,
    in_ADC_A_HL_Indirect = $8E,
    in_ADC_A_A = $8F,
    in_SUB_B = $90,
    in_SUB_C = $91,
    in_SUB_D = $92,
    in_SUB_E = $93,
    in_SUB_H = $94,
    in_SUB_L = $95,
    in_SUB_HL_Indirect = $96,
    in_SUB_A = $97,
    in_SBC_A_B = $98,
    in_SBC_A_C = $99,
    in_SBC_A_D = $9A,
    in_SBC_A_E = $9B,
    in_SBC_A_H = $9C,
    in_SBC_A_L = $9D,
    in_SBC_A_HL_Indirect = $9E,
    in_SBC_A_A = $9F,
    in_AND_B = $A0,
    in_AND_C = $A1,
    in_AND_D = $A2,
    in_AND_E = $A3,
    in_AND_H = $A4,
    in_AND_L = $A5,
    in_AND_HL_Indirect = $A6,
    in_AND_A = $A7,
    in_XOR_B = $A8,
    in_XOR_C = $A9,
    in_XOR_D = $AA,
    in_XOR_E = $AB,
    in_XOR_H = $AC,
    in_XOR_L = $AD,
    in_XOR_HL_Indirect = $AE,
    in_XOR_A = $AF,
    in_OR_B = $B0,
    in_OR_C = $B1,
    in_OR_D = $B2,
    in_OR_E = $B3,
    in_OR_H = $B4,
    in_OR_L = $B5,
    in_OR_HL_Indirect = $B6,
    in_OR_A = $B7,
    in_CP_B = $B8,
    in_CP_C = $B9,
    in_CP_D = $BA,
    in_CP_E = $BB,
    in_CP_H = $BC,
    in_CP_L = $BD,
    in_CP_HL_Indirect = $BE,
    in_CP_A = $BF,
    in_RET_NZ = $C0,
    in_POP_BC = $C1,
    in_JP_NZ_NN = $C2,
    in_JP_NN = $C3,
    in_CALL_NZ_NN = $C4,
    in_PUSH_BC = $C5,
    in_ADD_A_N = $C6,
    in_RST_00H = $C7,
    in_RET_Z = $C8,
    in_RET = $C9,
    in_JP_Z_NN = $CA,
    in_CALL_Z_NN = $CC,
    in_CALL_NN = $CD,
    in_ADC_A_N = $CE,
    in_RST_08H = $CF,
    in_RET_NC = $D0,
    in_POP_DE = $D1,
    in_JP_NC_NN = $D2,
    in_OUT_N_Indirect_A = $D3,
    in_CALL_NC_NN = $D4,
    in_PUSH_DE = $D5,
    in_SUB_N = $D6,
    in_RST_10H = $D7,
    in_RET_C = $D8,
    in_EXX = $D9,
    in_JP_C_NN = $DA,
    in_IN_A_N_Indirect = $DB,
    in_CALL_C_NN = $DC,
    in_SBC_A_N = $DE,
    in_RST_18H = $DF,
    in_RET_PO = $E0,
    in_POP_HL = $E1,
    in_JP_PO_NN = $E2,
    in_EX_SP_Indirect_HL = $E3,
    in_CALL_PO_NN = $E4,
    in_PUSH_HL = $E5,
    in_AND_N = $E6,
    in_RST_20H = $E7,
    in_RET_PE = $E8,
    in_JP_HL_Indirect = $E9,
    in_JP_PE_NN = $EA,
    in_EX_DE_HL = $EB,
    in_CALL_PE_NN = $EC,
    in_XOR_N = $EE,
    in_RST_28H = $EF,
    in_RET_P = $F0,
    in_POP_AF = $F1,
    in_JP_P_NN = $F2,
    in_DI = $F3,
    in_CALL_P_NN = $F4,
    in_PUSH_AF = $F5,
    in_OR_N = $F6,
    in_RST_30H = $F7,
    in_RET_M = $F8,
    in_LD_SP_HL = $F9,
    in_JP_M_NN = $FA,
    in_EI = $FB,
    in_CALL_M_NN = $FC,
    in_CP_N = $FE,
    in_RST_38H = $FF,
    in_IN_B_C_Indirect = $340,
    in_OUT_C_Indirect_B = $341,
    in_SBC_HL_BC = $342,
    in_LD_NN_Indirect_BC = $343,
    in_NEG = $344,
    in_RETN = $345,
    in_IM_0 = $346,
    in_LD_I_A = $347,
    in_IN_C_C_Indirect = $348,
    in_OUT_C_Indirect_C = $349,
    in_ADC_HL_BC = $34A,
    in_LD_BC_NN_Indirect = $34B,
    in_RETI = $34D,
    in_LD_R_A = $34F,
    in_IN_D_C_Indirect = $350,
    in_OUT_C_Indirect_D = $351,
    in_SBC_HL_DE = $352,
    in_LD_NN_Indirect_DE = $353,
    in_IM_1 = $356,
    in_LD_A_I = $357,
    in_IN_E_C_Indirect = $358,
    in_OUT_C_Indirect_E = $359,
    in_ADC_HL_DE = $35A,
    in_LD_DE_NN_Indirect = $35B,
    in_IM_2 = $35E,
    in_LD_A_R = $35F,
    in_IN_H_C_Indirect = $360,
    in_OUT_C_Indirect_H = $361,
    in_SBC_HL_HL = $362,
    in_RRD = $367,
    in_IN_L_C_Indirect = $368,
    in_OUT_C_Indirect_L = $369,
    in_ADC_HL_HL = $36A,
    in_RLD = $36F,
    in_SBC_HL_SP = $372,
    in_LD_NN_Indirect_SP = $373,
    in_IN_A_C_Indirect = $378,
    in_OUT_C_Indirect_A = $379,
    in_ADC_HL_SP = $37A,
    in_LD_SP_NN_Indirect = $37B,
    in_LDI = $3A0,
    in_CPI = $3A1,
    in_INI = $3A2,
    in_OUTI = $3A3,
    in_LDD = $3A8,
    in_CPD = $3A9,
    in_IND = $3AA,
    in_OUTD = $3AB,
    in_LDIR = $3B0,
    in_CPIR = $3B1,
    in_INIR = $3B2,
    in_OTIR = $3B3,
    in_LDDR = $3B8,
    in_CPDR = $3B9,
    in_INDR = $3BA,
    in_OTDR = $3BB,
    in_RLC_B = $100,
    in_RLC_C = $101,
    in_RLC_D = $102,
    in_RLC_E = $103,
    in_RLC_H = $104,
    in_RLC_L = $105,
    in_RLC_HL_Indirect = $106,
    in_RLC_A = $107,
    in_RRC_B = $108,
    in_RRC_C = $109,
    in_RRC_D = $10A,
    in_RRC_E = $10B,
    in_RRC_H = $10C,
    in_RRC_L = $10D,
    in_RRC_HL_Indirect = $10E,
    in_RRC_A = $10F,
    in_RL_B = $110,
    in_RL_C = $111,
    in_RL_D = $112,
    in_RL_E = $113,
    in_RL_H = $114,
    in_RL_L = $115,
    in_RL_HL_Indirect = $116,
    in_RL_A = $117,
    in_RR_B = $118,
    in_RR_C = $119,
    in_RR_D = $11A,
    in_RR_E = $11B,
    in_RR_H = $11C,
    in_RR_L = $11D,
    in_RR_HL_Indirect = $11E,
    in_RR_A = $11F,
    in_SLA_B = $120,
    in_SLA_C = $121,
    in_SLA_D = $122,
    in_SLA_E = $123,
    in_SLA_H = $124,
    in_SLA_L = $125,
    in_SLA_HL_Indirect = $126,
    in_SLA_A = $127,
    in_SRA_B = $128,
    in_SRA_C = $129,
    in_SRA_D = $12A,
    in_SRA_E = $12B,
    in_SRA_H = $12C,
    in_SRA_L = $12D,
    in_SRA_HL_Indirect = $12E,
    in_SRA_A = $12F,
    in_SRL_B = $138,
    in_SRL_C = $139,
    in_SRL_D = $13A,
    in_SRL_E = $13B,
    in_SRL_H = $13C,
    in_SRL_L = $13D,
    in_SRL_HL_Indirect = $13E,
    in_SRL_A = $13F,
    in_BIT_0_B = $140,
    in_BIT_0_C = $141,
    in_BIT_0_D = $142,
    in_BIT_0_E = $143,
    in_BIT_0_H = $144,
    in_BIT_0_L = $145,
    in_BIT_0_HL_Indirect = $146,
    in_BIT_0_A = $147,
    in_BIT_1_B = $148,
    in_BIT_1_C = $149,
    in_BIT_1_D = $14A,
    in_BIT_1_E = $14B,
    in_BIT_1_H = $14C,
    in_BIT_1_L = $14D,
    in_BIT_1_HL_Indirect = $14E,
    in_BIT_1_A = $14F,
    in_BIT_2_B = $150,
    in_BIT_2_C = $151,
    in_BIT_2_D = $152,
    in_BIT_2_E = $153,
    in_BIT_2_H = $154,
    in_BIT_2_L = $155,
    in_BIT_2_HL_Indirect = $156,
    in_BIT_2_A = $157,
    in_BIT_3_B = $158,
    in_BIT_3_C = $159,
    in_BIT_3_D = $15A,
    in_BIT_3_E = $15B,
    in_BIT_3_H = $15C,
    in_BIT_3_L = $15D,
    in_BIT_3_HL_Indirect = $15E,
    in_BIT_3_A = $15F,
    in_BIT_4_B = $160,
    in_BIT_4_C = $161,
    in_BIT_4_D = $162,
    in_BIT_4_E = $163,
    in_BIT_4_H = $164,
    in_BIT_4_L = $165,
    in_BIT_4_HL_Indirect = $166,
    in_BIT_4_A = $167,
    in_BIT_5_B = $168,
    in_BIT_5_C = $169,
    in_BIT_5_D = $16A,
    in_BIT_5_E = $16B,
    in_BIT_5_H = $16C,
    in_BIT_5_L = $16D,
    in_BIT_5_HL_Indirect = $16E,
    in_BIT_5_A = $16F,
    in_BIT_6_B = $170,
    in_BIT_6_C = $171,
    in_BIT_6_D = $172,
    in_BIT_6_E = $173,
    in_BIT_6_H = $174,
    in_BIT_6_L = $175,
    in_BIT_6_HL_Indirect = $176,
    in_BIT_6_A = $177,
    in_BIT_7_B = $178,
    in_BIT_7_C = $179,
    in_BIT_7_D = $17A,
    in_BIT_7_E = $17B,
    in_BIT_7_H = $17C,
    in_BIT_7_L = $17D,
    in_BIT_7_HL_Indirect = $17E,
    in_BIT_7_A = $17F,
    in_RES_0_B = $180,
    in_RES_0_C = $181,
    in_RES_0_D = $182,
    in_RES_0_E = $183,
    in_RES_0_H = $184,
    in_RES_0_L = $185,
    in_RES_0_HL_Indirect = $186,
    in_RES_0_A = $187,
    in_RES_1_B = $188,
    in_RES_1_C = $189,
    in_RES_1_D = $18A,
    in_RES_1_E = $18B,
    in_RES_1_H = $18C,
    in_RES_1_L = $18D,
    in_RES_1_HL_Indirect = $18E,
    in_RES_1_A = $18F,
    in_RES_2_B = $190,
    in_RES_2_C = $191,
    in_RES_2_D = $192,
    in_RES_2_E = $193,
    in_RES_2_H = $194,
    in_RES_2_L = $195,
    in_RES_2_HL_Indirect = $196,
    in_RES_2_A = $197,
    in_RES_3_B = $198,
    in_RES_3_C = $199,
    in_RES_3_D = $19A,
    in_RES_3_E = $19B,
    in_RES_3_H = $19C,
    in_RES_3_L = $19D,
    in_RES_3_HL_Indirect = $19E,
    in_RES_3_A = $19F,
    in_RES_4_B = $1A0,
    in_RES_4_C = $1A1,
    in_RES_4_D = $1A2,
    in_RES_4_E = $1A3,
    in_RES_4_H = $1A4,
    in_RES_4_L = $1A5,
    in_RES_4_HL_Indirect = $1A6,
    in_RES_4_A = $1A7,
    in_RES_5_B = $1A8,
    in_RES_5_C = $1A9,
    in_RES_5_D = $1AA,
    in_RES_5_E = $1AB,
    in_RES_5_H = $1AC,
    in_RES_5_L = $1AD,
    in_RES_5_HL_Indirect = $1AE,
    in_RES_5_A = $1AF,
    in_RES_6_B = $1B0,
    in_RES_6_C = $1B1,
    in_RES_6_D = $1B2,
    in_RES_6_E = $1B3,
    in_RES_6_H = $1B4,
    in_RES_6_L = $1B5,
    in_RES_6_HL_Indirect = $1B6,
    in_RES_6_A = $1B7,
    in_RES_7_B = $1B8,
    in_RES_7_C = $1B9,
    in_RES_7_D = $1BA,
    in_RES_7_E = $1BB,
    in_RES_7_H = $1BC,
    in_RES_7_L = $1BD,
    in_RES_7_HL_Indirect = $1BE,
    in_RES_7_A = $1BF,
    in_SET_0_B = $1C0,
    in_SET_0_C = $1C1,
    in_SET_0_D = $1C2,
    in_SET_0_E = $1C3,
    in_SET_0_H = $1C4,
    in_SET_0_L = $1C5,
    in_SET_0_HL_Indirect = $1C6,
    in_SET_0_A = $1C7,
    in_SET_1_B = $1C8,
    in_SET_1_C = $1C9,
    in_SET_1_D = $1CA,
    in_SET_1_E = $1CB,
    in_SET_1_H = $1CC,
    in_SET_1_L = $1CD,
    in_SET_1_HL_Indirect = $1CE,
    in_SET_1_A = $1CF,
    in_SET_2_B = $1D0,
    in_SET_2_C = $1D1,
    in_SET_2_D = $1D2,
    in_SET_2_E = $1D3,
    in_SET_2_H = $1D4,
    in_SET_2_L = $1D5,
    in_SET_2_HL_Indirect = $1D6,
    in_SET_2_A = $1D7,
    in_SET_3_B = $1D8,
    in_SET_3_C = $1D9,
    in_SET_3_D = $1DA,
    in_SET_3_E = $1DB,
    in_SET_3_H = $1DC,
    in_SET_3_L = $1DD,
    in_SET_3_HL_Indirect = $1DE,
    in_SET_3_A = $1DF,
    in_SET_4_B = $1E0,
    in_SET_4_C = $1E1,
    in_SET_4_D = $1E2,
    in_SET_4_E = $1E3,
    in_SET_4_H = $1E4,
    in_SET_4_L = $1E5,
    in_SET_4_HL_Indirect = $1E6,
    in_SET_4_A = $1E7,
    in_SET_5_B = $1E8,
    in_SET_5_C = $1E9,
    in_SET_5_D = $1EA,
    in_SET_5_E = $1EB,
    in_SET_5_H = $1EC,
    in_SET_5_L = $1ED,
    in_SET_5_HL_Indirect = $1EE,
    in_SET_5_A = $1EF,
    in_SET_6_B = $1F0,
    in_SET_6_C = $1F1,
    in_SET_6_D = $1F2,
    in_SET_6_E = $1F3,
    in_SET_6_H = $1F4,
    in_SET_6_L = $1F5,
    in_SET_6_HL_Indirect = $1F6,
    in_SET_6_A = $1F7,
    in_SET_7_B = $1F8,
    in_SET_7_C = $1F9,
    in_SET_7_D = $1FA,
    in_SET_7_E = $1FB,
    in_SET_7_H = $1FC,
    in_SET_7_L = $1FD,
    in_SET_7_HL_Indirect = $1FE,
    in_SET_7_A = $1FF,
    in_ADD_IX_BC = $209,
    in_ADD_IX_DE = $219,
    in_LD_IX_NN = $221,
    in_LD_NN_Indirect_IX = $222,
    in_INC_IX = $223,
    in_ADD_IX_IX = $229,
    in_LD_IX_NN_Indirect = $22A,
    in_DEC_IX = $22B,
    in_INC_IX_Plus_D_Indirect = $234,
    in_DEC_IX_Plus_D_Indirect = $235,
    in_LD_IX_Plus_D_Indirect_N = $236,
    in_ADD_IX_SP = $239,
    in_LD_B_IX_Plus_D_Indirect = $246,
    in_LD_C_IX_Plus_D_Indirect = $24E,
    in_LD_D_IX_Plus_D_Indirect = $256,
    in_LD_E_IX_Plus_D_Indirect = $25E,
    in_LD_H_IX_Plus_D_Indirect = $266,
    in_LD_L_IX_Plus_D_Indirect = $26E,
    in_LD_IX_Plus_D_Indirect_B = $270,
    in_LD_IX_Plus_D_Indirect_C = $271,
    in_LD_IX_Plus_D_Indirect_D = $272,
    in_LD_IX_Plus_D_Indirect_E = $273,
    in_LD_IX_Plus_D_Indirect_H = $274,
    in_LD_IX_Plus_D_Indirect_L = $275,
    in_LD_IX_Plus_D_Indirect_A = $277,
    in_LD_A_IX_Plus_D_Indirect = $27E,
    in_ADD_A_IX_Plus_D_Indirect = $286,
    in_ADC_A_IX_Plus_D_Indirect = $28E,
    in_SUB_IX_Plus_D_Indirect = $296,
    in_SBC_A_IX_Plus_D_Indirect = $29E,
    in_AND_IX_Plus_D_Indirect = $2A6,
    in_XOR_IX_Plus_D_Indirect = $2AE,
    in_OR_IX_Plus_D_Indirect = $2B6,
    in_CP_IX_Plus_D_Indirect = $2BE,
    in_POP_IX = $2E1,
    in_EX_SP_Indirect_IX = $2E3,
    in_PUSH_IX = $2E5,
    in_JP_IX_Indirect = $2E9,
    in_LD_SP_IX = $2F9,
    in_RLC_IX_Plus_D_Indirect = $2CB,
    in_RRC_IX_Plus_D_Indirect = $2CB,
    in_RL_IX_Plus_D_Indirect = $2CB,
    in_RR_IX_Plus_D_Indirect = $2CB,
    in_SLA_IX_Plus_D_Indirect = $2CB,
    in_SRA_IX_Plus_D_Indirect = $2CB,
    in_SRL_IX_Plus_D_Indirect = $2CB,
    in_BIT_0_IX_Plus_D_Indirect = $2CB,
    in_BIT_1_IX_Plus_D_Indirect = $2CB,
    in_BIT_2_IX_Plus_D_Indirect = $2CB,
    in_BIT_3_IX_Plus_D_Indirect = $2CB,
    in_BIT_4_IX_Plus_D_Indirect = $2CB,
    in_BIT_5_IX_Plus_D_Indirect = $2CB,
    in_BIT_6_IX_Plus_D_Indirect = $2CB,
    in_BIT_7_IX_Plus_D_Indirect = $2CB,
    in_RES_0_IX_Plus_D_Indirect = $2CB,
    in_RES_1_IX_Plus_D_Indirect = $2CB,
    in_RES_2_IX_Plus_D_Indirect = $2CB,
    in_RES_3_IX_Plus_D_Indirect = $2CB,
    in_RES_4_IX_Plus_D_Indirect = $2CB,
    in_RES_5_IX_Plus_D_Indirect = $2CB,
    in_RES_6_IX_Plus_D_Indirect = $2CB,
    in_RES_7_IX_Plus_D_Indirect = $2CB,
    in_SET_0_IX_Plus_D_Indirect = $2CB,
    in_SET_1_IX_Plus_D_Indirect = $2CB,
    in_SET_2_IX_Plus_D_Indirect = $2CB,
    in_SET_3_IX_Plus_D_Indirect = $2CB,
    in_SET_4_IX_Plus_D_Indirect = $2CB,
    in_SET_5_IX_Plus_D_Indirect = $2CB,
    in_SET_6_IX_Plus_D_Indirect = $2CB,
    in_SET_7_IX_Plus_D_Indirect = $2CB,
    in_ADD_IY_BC = $409,
    in_ADD_IY_DE = $419,
    in_LD_IY_NN = $421,
    in_LD_NN_Indirect_IY = $422,
    in_INC_IY = $423,
    in_ADD_IY_IY = $429,
    in_LD_IY_NN_Indirect = $42A,
    in_DEC_IY = $42B,
    in_INC_IY_Plus_D_Indirect = $434,
    in_DEC_IY_Plus_D_Indirect = $435,
    in_LD_IY_Plus_D_Indirect_N = $436,
    in_ADD_IY_SP = $439,
    in_LD_B_IY_Plus_D_Indirect = $446,
    in_LD_C_IY_Plus_D_Indirect = $44E,
    in_LD_D_IY_Plus_D_Indirect = $456,
    in_LD_E_IY_Plus_D_Indirect = $45E,
    in_LD_H_IY_Plus_D_Indirect = $466,
    in_LD_L_IY_Plus_D_Indirect = $46E,
    in_LD_IY_Plus_D_Indirect_B = $470,
    in_LD_IY_Plus_D_Indirect_C = $471,
    in_LD_IY_Plus_D_Indirect_D = $472,
    in_LD_IY_Plus_D_Indirect_E = $473,
    in_LD_IY_Plus_D_Indirect_H = $474,
    in_LD_IY_Plus_D_Indirect_L = $475,
    in_LD_IY_Plus_D_Indirect_A = $477,
    in_LD_A_IY_Plus_D_Indirect = $47E,
    in_ADD_A_IY_Plus_D_Indirect = $486,
    in_ADC_A_IY_Plus_D_Indirect = $48E,
    in_SUB_IY_Plus_D_Indirect = $496,
    in_SBC_A_IY_Plus_D_Indirect = $49E,
    in_AND_IY_Plus_D_Indirect = $4A6,
    in_XOR_IY_Plus_D_Indirect = $4AE,
    in_OR_IY_Plus_D_Indirect = $4B6,
    in_CP_IY_Plus_D_Indirect = $4BE,
    in_POP_IY = $4E1,
    in_EX_SP_Indirect_IY = $4E3,
    in_PUSH_IY = $4E5,
    in_JP_IY_Indirect = $4E9,
    in_LD_SP_IY = $4F9,
    in_RLC_IY_Plus_D_Indirect = $4CB,
    in_RRC_IY_Plus_D_Indirect = $4CB,
    in_RL_IY_Plus_D_Indirect = $4CB,
    in_RR_IY_Plus_D_Indirect = $4CB,
    in_SLA_IY_Plus_D_Indirect = $4CB,
    in_SRA_IY_Plus_D_Indirect = $4CB,
    in_SRL_IY_Plus_D_Indirect = $4CB,
    in_BIT_0_IY_Plus_D_Indirect = $4CB,
    in_BIT_1_IY_Plus_D_Indirect = $4CB,
    in_BIT_2_IY_Plus_D_Indirect = $4CB,
    in_BIT_3_IY_Plus_D_Indirect = $4CB,
    in_BIT_4_IY_Plus_D_Indirect = $4CB,
    in_BIT_5_IY_Plus_D_Indirect = $4CB,
    in_BIT_6_IY_Plus_D_Indirect = $4CB,
    in_BIT_7_IY_Plus_D_Indirect = $4CB,
    in_RES_0_IY_Plus_D_Indirect = $4CB,
    in_RES_1_IY_Plus_D_Indirect = $4CB,
    in_RES_2_IY_Plus_D_Indirect = $4CB,
    in_RES_3_IY_Plus_D_Indirect = $4CB,
    in_RES_4_IY_Plus_D_Indirect = $4CB,
    in_RES_5_IY_Plus_D_Indirect = $4CB,
    in_RES_6_IY_Plus_D_Indirect = $4CB,
    in_RES_7_IY_Plus_D_Indirect = $4CB,
    in_SET_0_IY_Plus_D_Indirect = $4CB,
    in_SET_1_IY_Plus_D_Indirect = $4CB,
    in_SET_2_IY_Plus_D_Indirect = $4CB,
    in_SET_3_IY_Plus_D_Indirect = $4CB,
    in_SET_4_IY_Plus_D_Indirect = $4CB,
    in_SET_5_IY_Plus_D_Indirect = $4CB,
    in_SET_6_IY_Plus_D_Indirect = $4CB,
    in_SET_7_IY_Plus_D_Indirect = $4CB
  );

  TInstructionMethods = array[TInstruction] of TBaseEvent;


implementation

end.

