@@ 1282,3 1282,1286 @@ const itab: [0x100]instr = [
cycles = 16,
},
];
+
+const prefixtab: [0x100]instr = [
+ // 0x0: RLC
+ instr {
+ exec = &exec_rlc_b,
+ cycles = 8,
+ },
+ // 0x1: RLC
+ instr {
+ exec = &exec_rlc_c,
+ cycles = 8,
+ },
+ // 0x2: RLC
+ instr {
+ exec = &exec_rlc_d,
+ cycles = 8,
+ },
+ // 0x3: RLC
+ instr {
+ exec = &exec_rlc_e,
+ cycles = 8,
+ },
+ // 0x4: RLC
+ instr {
+ exec = &exec_rlc_h,
+ cycles = 8,
+ },
+ // 0x5: RLC
+ instr {
+ exec = &exec_rlc_l,
+ cycles = 8,
+ },
+ // 0x6: RLC
+ instr {
+ exec = &exec_rlc_hl,
+ cycles = 16,
+ },
+ // 0x7: RLC
+ instr {
+ exec = &exec_rlc_a,
+ cycles = 8,
+ },
+ // 0x8: RRC
+ instr {
+ exec = &exec_rrc_b,
+ cycles = 8,
+ },
+ // 0x9: RRC
+ instr {
+ exec = &exec_rrc_c,
+ cycles = 8,
+ },
+ // 0xA: RRC
+ instr {
+ exec = &exec_rrc_d,
+ cycles = 8,
+ },
+ // 0xB: RRC
+ instr {
+ exec = &exec_rrc_e,
+ cycles = 8,
+ },
+ // 0xC: RRC
+ instr {
+ exec = &exec_rrc_h,
+ cycles = 8,
+ },
+ // 0xD: RRC
+ instr {
+ exec = &exec_rrc_l,
+ cycles = 8,
+ },
+ // 0xE: RRC
+ instr {
+ exec = &exec_rrc_hl,
+ cycles = 16,
+ },
+ // 0xF: RRC
+ instr {
+ exec = &exec_rrc_a,
+ cycles = 8,
+ },
+ // 0x10: RL
+ instr {
+ exec = &exec_rl_b,
+ cycles = 8,
+ },
+ // 0x11: RL
+ instr {
+ exec = &exec_rl_c,
+ cycles = 8,
+ },
+ // 0x12: RL
+ instr {
+ exec = &exec_rl_d,
+ cycles = 8,
+ },
+ // 0x13: RL
+ instr {
+ exec = &exec_rl_e,
+ cycles = 8,
+ },
+ // 0x14: RL
+ instr {
+ exec = &exec_rl_h,
+ cycles = 8,
+ },
+ // 0x15: RL
+ instr {
+ exec = &exec_rl_l,
+ cycles = 8,
+ },
+ // 0x16: RL
+ instr {
+ exec = &exec_rl_hl,
+ cycles = 16,
+ },
+ // 0x17: RL
+ instr {
+ exec = &exec_rl_a,
+ cycles = 8,
+ },
+ // 0x18: RR
+ instr {
+ exec = &exec_rr_b,
+ cycles = 8,
+ },
+ // 0x19: RR
+ instr {
+ exec = &exec_rr_c,
+ cycles = 8,
+ },
+ // 0x1A: RR
+ instr {
+ exec = &exec_rr_d,
+ cycles = 8,
+ },
+ // 0x1B: RR
+ instr {
+ exec = &exec_rr_e,
+ cycles = 8,
+ },
+ // 0x1C: RR
+ instr {
+ exec = &exec_rr_h,
+ cycles = 8,
+ },
+ // 0x1D: RR
+ instr {
+ exec = &exec_rr_l,
+ cycles = 8,
+ },
+ // 0x1E: RR
+ instr {
+ exec = &exec_rr_hl,
+ cycles = 16,
+ },
+ // 0x1F: RR
+ instr {
+ exec = &exec_rr_a,
+ cycles = 8,
+ },
+ // 0x20: SLA
+ instr {
+ exec = &exec_sla_b,
+ cycles = 8,
+ },
+ // 0x21: SLA
+ instr {
+ exec = &exec_sla_c,
+ cycles = 8,
+ },
+ // 0x22: SLA
+ instr {
+ exec = &exec_sla_d,
+ cycles = 8,
+ },
+ // 0x23: SLA
+ instr {
+ exec = &exec_sla_e,
+ cycles = 8,
+ },
+ // 0x24: SLA
+ instr {
+ exec = &exec_sla_h,
+ cycles = 8,
+ },
+ // 0x25: SLA
+ instr {
+ exec = &exec_sla_l,
+ cycles = 8,
+ },
+ // 0x26: SLA
+ instr {
+ exec = &exec_sla_hl,
+ cycles = 16,
+ },
+ // 0x27: SLA
+ instr {
+ exec = &exec_sla_a,
+ cycles = 8,
+ },
+ // 0x28: SRA
+ instr {
+ exec = &exec_sra_b,
+ cycles = 8,
+ },
+ // 0x29: SRA
+ instr {
+ exec = &exec_sra_c,
+ cycles = 8,
+ },
+ // 0x2A: SRA
+ instr {
+ exec = &exec_sra_d,
+ cycles = 8,
+ },
+ // 0x2B: SRA
+ instr {
+ exec = &exec_sra_e,
+ cycles = 8,
+ },
+ // 0x2C: SRA
+ instr {
+ exec = &exec_sra_h,
+ cycles = 8,
+ },
+ // 0x2D: SRA
+ instr {
+ exec = &exec_sra_l,
+ cycles = 8,
+ },
+ // 0x2E: SRA
+ instr {
+ exec = &exec_sra_hl,
+ cycles = 16,
+ },
+ // 0x2F: SRA
+ instr {
+ exec = &exec_sra_a,
+ cycles = 8,
+ },
+ // 0x30: SWAP
+ instr {
+ exec = &exec_swap_b,
+ cycles = 8,
+ },
+ // 0x31: SWAP
+ instr {
+ exec = &exec_swap_c,
+ cycles = 8,
+ },
+ // 0x32: SWAP
+ instr {
+ exec = &exec_swap_d,
+ cycles = 8,
+ },
+ // 0x33: SWAP
+ instr {
+ exec = &exec_swap_e,
+ cycles = 8,
+ },
+ // 0x34: SWAP
+ instr {
+ exec = &exec_swap_h,
+ cycles = 8,
+ },
+ // 0x35: SWAP
+ instr {
+ exec = &exec_swap_l,
+ cycles = 8,
+ },
+ // 0x36: SWAP
+ instr {
+ exec = &exec_swap_hl,
+ cycles = 16,
+ },
+ // 0x37: SWAP
+ instr {
+ exec = &exec_swap_a,
+ cycles = 8,
+ },
+ // 0x38: SRL
+ instr {
+ exec = &exec_srl_b,
+ cycles = 8,
+ },
+ // 0x39: SRL
+ instr {
+ exec = &exec_srl_c,
+ cycles = 8,
+ },
+ // 0x3A: SRL
+ instr {
+ exec = &exec_srl_d,
+ cycles = 8,
+ },
+ // 0x3B: SRL
+ instr {
+ exec = &exec_srl_e,
+ cycles = 8,
+ },
+ // 0x3C: SRL
+ instr {
+ exec = &exec_srl_h,
+ cycles = 8,
+ },
+ // 0x3D: SRL
+ instr {
+ exec = &exec_srl_l,
+ cycles = 8,
+ },
+ // 0x3E: SRL
+ instr {
+ exec = &exec_srl_hl,
+ cycles = 16,
+ },
+ // 0x3F: SRL
+ instr {
+ exec = &exec_srl_a,
+ cycles = 8,
+ },
+ // 0x40: BIT
+ instr {
+ exec = &exec_bit_0_b,
+ cycles = 8,
+ },
+ // 0x41: BIT
+ instr {
+ exec = &exec_bit_0_c,
+ cycles = 8,
+ },
+ // 0x42: BIT
+ instr {
+ exec = &exec_bit_0_d,
+ cycles = 8,
+ },
+ // 0x43: BIT
+ instr {
+ exec = &exec_bit_0_e,
+ cycles = 8,
+ },
+ // 0x44: BIT
+ instr {
+ exec = &exec_bit_0_h,
+ cycles = 8,
+ },
+ // 0x45: BIT
+ instr {
+ exec = &exec_bit_0_l,
+ cycles = 8,
+ },
+ // 0x46: BIT
+ instr {
+ exec = &exec_bit_0_hl,
+ cycles = 12,
+ },
+ // 0x47: BIT
+ instr {
+ exec = &exec_bit_0_a,
+ cycles = 8,
+ },
+ // 0x48: BIT
+ instr {
+ exec = &exec_bit_1_b,
+ cycles = 8,
+ },
+ // 0x49: BIT
+ instr {
+ exec = &exec_bit_1_c,
+ cycles = 8,
+ },
+ // 0x4A: BIT
+ instr {
+ exec = &exec_bit_1_d,
+ cycles = 8,
+ },
+ // 0x4B: BIT
+ instr {
+ exec = &exec_bit_1_e,
+ cycles = 8,
+ },
+ // 0x4C: BIT
+ instr {
+ exec = &exec_bit_1_h,
+ cycles = 8,
+ },
+ // 0x4D: BIT
+ instr {
+ exec = &exec_bit_1_l,
+ cycles = 8,
+ },
+ // 0x4E: BIT
+ instr {
+ exec = &exec_bit_1_hl,
+ cycles = 12,
+ },
+ // 0x4F: BIT
+ instr {
+ exec = &exec_bit_1_a,
+ cycles = 8,
+ },
+ // 0x50: BIT
+ instr {
+ exec = &exec_bit_2_b,
+ cycles = 8,
+ },
+ // 0x51: BIT
+ instr {
+ exec = &exec_bit_2_c,
+ cycles = 8,
+ },
+ // 0x52: BIT
+ instr {
+ exec = &exec_bit_2_d,
+ cycles = 8,
+ },
+ // 0x53: BIT
+ instr {
+ exec = &exec_bit_2_e,
+ cycles = 8,
+ },
+ // 0x54: BIT
+ instr {
+ exec = &exec_bit_2_h,
+ cycles = 8,
+ },
+ // 0x55: BIT
+ instr {
+ exec = &exec_bit_2_l,
+ cycles = 8,
+ },
+ // 0x56: BIT
+ instr {
+ exec = &exec_bit_2_hl,
+ cycles = 12,
+ },
+ // 0x57: BIT
+ instr {
+ exec = &exec_bit_2_a,
+ cycles = 8,
+ },
+ // 0x58: BIT
+ instr {
+ exec = &exec_bit_3_b,
+ cycles = 8,
+ },
+ // 0x59: BIT
+ instr {
+ exec = &exec_bit_3_c,
+ cycles = 8,
+ },
+ // 0x5A: BIT
+ instr {
+ exec = &exec_bit_3_d,
+ cycles = 8,
+ },
+ // 0x5B: BIT
+ instr {
+ exec = &exec_bit_3_e,
+ cycles = 8,
+ },
+ // 0x5C: BIT
+ instr {
+ exec = &exec_bit_3_h,
+ cycles = 8,
+ },
+ // 0x5D: BIT
+ instr {
+ exec = &exec_bit_3_l,
+ cycles = 8,
+ },
+ // 0x5E: BIT
+ instr {
+ exec = &exec_bit_3_hl,
+ cycles = 12,
+ },
+ // 0x5F: BIT
+ instr {
+ exec = &exec_bit_3_a,
+ cycles = 8,
+ },
+ // 0x60: BIT
+ instr {
+ exec = &exec_bit_4_b,
+ cycles = 8,
+ },
+ // 0x61: BIT
+ instr {
+ exec = &exec_bit_4_c,
+ cycles = 8,
+ },
+ // 0x62: BIT
+ instr {
+ exec = &exec_bit_4_d,
+ cycles = 8,
+ },
+ // 0x63: BIT
+ instr {
+ exec = &exec_bit_4_e,
+ cycles = 8,
+ },
+ // 0x64: BIT
+ instr {
+ exec = &exec_bit_4_h,
+ cycles = 8,
+ },
+ // 0x65: BIT
+ instr {
+ exec = &exec_bit_4_l,
+ cycles = 8,
+ },
+ // 0x66: BIT
+ instr {
+ exec = &exec_bit_4_hl,
+ cycles = 12,
+ },
+ // 0x67: BIT
+ instr {
+ exec = &exec_bit_4_a,
+ cycles = 8,
+ },
+ // 0x68: BIT
+ instr {
+ exec = &exec_bit_5_b,
+ cycles = 8,
+ },
+ // 0x69: BIT
+ instr {
+ exec = &exec_bit_5_c,
+ cycles = 8,
+ },
+ // 0x6A: BIT
+ instr {
+ exec = &exec_bit_5_d,
+ cycles = 8,
+ },
+ // 0x6B: BIT
+ instr {
+ exec = &exec_bit_5_e,
+ cycles = 8,
+ },
+ // 0x6C: BIT
+ instr {
+ exec = &exec_bit_5_h,
+ cycles = 8,
+ },
+ // 0x6D: BIT
+ instr {
+ exec = &exec_bit_5_l,
+ cycles = 8,
+ },
+ // 0x6E: BIT
+ instr {
+ exec = &exec_bit_5_hl,
+ cycles = 12,
+ },
+ // 0x6F: BIT
+ instr {
+ exec = &exec_bit_5_a,
+ cycles = 8,
+ },
+ // 0x70: BIT
+ instr {
+ exec = &exec_bit_6_b,
+ cycles = 8,
+ },
+ // 0x71: BIT
+ instr {
+ exec = &exec_bit_6_c,
+ cycles = 8,
+ },
+ // 0x72: BIT
+ instr {
+ exec = &exec_bit_6_d,
+ cycles = 8,
+ },
+ // 0x73: BIT
+ instr {
+ exec = &exec_bit_6_e,
+ cycles = 8,
+ },
+ // 0x74: BIT
+ instr {
+ exec = &exec_bit_6_h,
+ cycles = 8,
+ },
+ // 0x75: BIT
+ instr {
+ exec = &exec_bit_6_l,
+ cycles = 8,
+ },
+ // 0x76: BIT
+ instr {
+ exec = &exec_bit_6_hl,
+ cycles = 12,
+ },
+ // 0x77: BIT
+ instr {
+ exec = &exec_bit_6_a,
+ cycles = 8,
+ },
+ // 0x78: BIT
+ instr {
+ exec = &exec_bit_7_b,
+ cycles = 8,
+ },
+ // 0x79: BIT
+ instr {
+ exec = &exec_bit_7_c,
+ cycles = 8,
+ },
+ // 0x7A: BIT
+ instr {
+ exec = &exec_bit_7_d,
+ cycles = 8,
+ },
+ // 0x7B: BIT
+ instr {
+ exec = &exec_bit_7_e,
+ cycles = 8,
+ },
+ // 0x7C: BIT
+ instr {
+ exec = &exec_bit_7_h,
+ cycles = 8,
+ },
+ // 0x7D: BIT
+ instr {
+ exec = &exec_bit_7_l,
+ cycles = 8,
+ },
+ // 0x7E: BIT
+ instr {
+ exec = &exec_bit_7_hl,
+ cycles = 12,
+ },
+ // 0x7F: BIT
+ instr {
+ exec = &exec_bit_7_a,
+ cycles = 8,
+ },
+ // 0x80: RES
+ instr {
+ exec = &exec_res_0_b,
+ cycles = 8,
+ },
+ // 0x81: RES
+ instr {
+ exec = &exec_res_0_c,
+ cycles = 8,
+ },
+ // 0x82: RES
+ instr {
+ exec = &exec_res_0_d,
+ cycles = 8,
+ },
+ // 0x83: RES
+ instr {
+ exec = &exec_res_0_e,
+ cycles = 8,
+ },
+ // 0x84: RES
+ instr {
+ exec = &exec_res_0_h,
+ cycles = 8,
+ },
+ // 0x85: RES
+ instr {
+ exec = &exec_res_0_l,
+ cycles = 8,
+ },
+ // 0x86: RES
+ instr {
+ exec = &exec_res_0_hl,
+ cycles = 16,
+ },
+ // 0x87: RES
+ instr {
+ exec = &exec_res_0_a,
+ cycles = 8,
+ },
+ // 0x88: RES
+ instr {
+ exec = &exec_res_1_b,
+ cycles = 8,
+ },
+ // 0x89: RES
+ instr {
+ exec = &exec_res_1_c,
+ cycles = 8,
+ },
+ // 0x8A: RES
+ instr {
+ exec = &exec_res_1_d,
+ cycles = 8,
+ },
+ // 0x8B: RES
+ instr {
+ exec = &exec_res_1_e,
+ cycles = 8,
+ },
+ // 0x8C: RES
+ instr {
+ exec = &exec_res_1_h,
+ cycles = 8,
+ },
+ // 0x8D: RES
+ instr {
+ exec = &exec_res_1_l,
+ cycles = 8,
+ },
+ // 0x8E: RES
+ instr {
+ exec = &exec_res_1_hl,
+ cycles = 16,
+ },
+ // 0x8F: RES
+ instr {
+ exec = &exec_res_1_a,
+ cycles = 8,
+ },
+ // 0x90: RES
+ instr {
+ exec = &exec_res_2_b,
+ cycles = 8,
+ },
+ // 0x91: RES
+ instr {
+ exec = &exec_res_2_c,
+ cycles = 8,
+ },
+ // 0x92: RES
+ instr {
+ exec = &exec_res_2_d,
+ cycles = 8,
+ },
+ // 0x93: RES
+ instr {
+ exec = &exec_res_2_e,
+ cycles = 8,
+ },
+ // 0x94: RES
+ instr {
+ exec = &exec_res_2_h,
+ cycles = 8,
+ },
+ // 0x95: RES
+ instr {
+ exec = &exec_res_2_l,
+ cycles = 8,
+ },
+ // 0x96: RES
+ instr {
+ exec = &exec_res_2_hl,
+ cycles = 16,
+ },
+ // 0x97: RES
+ instr {
+ exec = &exec_res_2_a,
+ cycles = 8,
+ },
+ // 0x98: RES
+ instr {
+ exec = &exec_res_3_b,
+ cycles = 8,
+ },
+ // 0x99: RES
+ instr {
+ exec = &exec_res_3_c,
+ cycles = 8,
+ },
+ // 0x9A: RES
+ instr {
+ exec = &exec_res_3_d,
+ cycles = 8,
+ },
+ // 0x9B: RES
+ instr {
+ exec = &exec_res_3_e,
+ cycles = 8,
+ },
+ // 0x9C: RES
+ instr {
+ exec = &exec_res_3_h,
+ cycles = 8,
+ },
+ // 0x9D: RES
+ instr {
+ exec = &exec_res_3_l,
+ cycles = 8,
+ },
+ // 0x9E: RES
+ instr {
+ exec = &exec_res_3_hl,
+ cycles = 16,
+ },
+ // 0x9F: RES
+ instr {
+ exec = &exec_res_3_a,
+ cycles = 8,
+ },
+ // 0xA0: RES
+ instr {
+ exec = &exec_res_4_b,
+ cycles = 8,
+ },
+ // 0xA1: RES
+ instr {
+ exec = &exec_res_4_c,
+ cycles = 8,
+ },
+ // 0xA2: RES
+ instr {
+ exec = &exec_res_4_d,
+ cycles = 8,
+ },
+ // 0xA3: RES
+ instr {
+ exec = &exec_res_4_e,
+ cycles = 8,
+ },
+ // 0xA4: RES
+ instr {
+ exec = &exec_res_4_h,
+ cycles = 8,
+ },
+ // 0xA5: RES
+ instr {
+ exec = &exec_res_4_l,
+ cycles = 8,
+ },
+ // 0xA6: RES
+ instr {
+ exec = &exec_res_4_hl,
+ cycles = 16,
+ },
+ // 0xA7: RES
+ instr {
+ exec = &exec_res_4_a,
+ cycles = 8,
+ },
+ // 0xA8: RES
+ instr {
+ exec = &exec_res_5_b,
+ cycles = 8,
+ },
+ // 0xA9: RES
+ instr {
+ exec = &exec_res_5_c,
+ cycles = 8,
+ },
+ // 0xAA: RES
+ instr {
+ exec = &exec_res_5_d,
+ cycles = 8,
+ },
+ // 0xAB: RES
+ instr {
+ exec = &exec_res_5_e,
+ cycles = 8,
+ },
+ // 0xAC: RES
+ instr {
+ exec = &exec_res_5_h,
+ cycles = 8,
+ },
+ // 0xAD: RES
+ instr {
+ exec = &exec_res_5_l,
+ cycles = 8,
+ },
+ // 0xAE: RES
+ instr {
+ exec = &exec_res_5_hl,
+ cycles = 16,
+ },
+ // 0xAF: RES
+ instr {
+ exec = &exec_res_5_a,
+ cycles = 8,
+ },
+ // 0xB0: RES
+ instr {
+ exec = &exec_res_6_b,
+ cycles = 8,
+ },
+ // 0xB1: RES
+ instr {
+ exec = &exec_res_6_c,
+ cycles = 8,
+ },
+ // 0xB2: RES
+ instr {
+ exec = &exec_res_6_d,
+ cycles = 8,
+ },
+ // 0xB3: RES
+ instr {
+ exec = &exec_res_6_e,
+ cycles = 8,
+ },
+ // 0xB4: RES
+ instr {
+ exec = &exec_res_6_h,
+ cycles = 8,
+ },
+ // 0xB5: RES
+ instr {
+ exec = &exec_res_6_l,
+ cycles = 8,
+ },
+ // 0xB6: RES
+ instr {
+ exec = &exec_res_6_hl,
+ cycles = 16,
+ },
+ // 0xB7: RES
+ instr {
+ exec = &exec_res_6_a,
+ cycles = 8,
+ },
+ // 0xB8: RES
+ instr {
+ exec = &exec_res_7_b,
+ cycles = 8,
+ },
+ // 0xB9: RES
+ instr {
+ exec = &exec_res_7_c,
+ cycles = 8,
+ },
+ // 0xBA: RES
+ instr {
+ exec = &exec_res_7_d,
+ cycles = 8,
+ },
+ // 0xBB: RES
+ instr {
+ exec = &exec_res_7_e,
+ cycles = 8,
+ },
+ // 0xBC: RES
+ instr {
+ exec = &exec_res_7_h,
+ cycles = 8,
+ },
+ // 0xBD: RES
+ instr {
+ exec = &exec_res_7_l,
+ cycles = 8,
+ },
+ // 0xBE: RES
+ instr {
+ exec = &exec_res_7_hl,
+ cycles = 16,
+ },
+ // 0xBF: RES
+ instr {
+ exec = &exec_res_7_a,
+ cycles = 8,
+ },
+ // 0xC0: SET
+ instr {
+ exec = &exec_set_0_b,
+ cycles = 8,
+ },
+ // 0xC1: SET
+ instr {
+ exec = &exec_set_0_c,
+ cycles = 8,
+ },
+ // 0xC2: SET
+ instr {
+ exec = &exec_set_0_d,
+ cycles = 8,
+ },
+ // 0xC3: SET
+ instr {
+ exec = &exec_set_0_e,
+ cycles = 8,
+ },
+ // 0xC4: SET
+ instr {
+ exec = &exec_set_0_h,
+ cycles = 8,
+ },
+ // 0xC5: SET
+ instr {
+ exec = &exec_set_0_l,
+ cycles = 8,
+ },
+ // 0xC6: SET
+ instr {
+ exec = &exec_set_0_hl,
+ cycles = 16,
+ },
+ // 0xC7: SET
+ instr {
+ exec = &exec_set_0_a,
+ cycles = 8,
+ },
+ // 0xC8: SET
+ instr {
+ exec = &exec_set_1_b,
+ cycles = 8,
+ },
+ // 0xC9: SET
+ instr {
+ exec = &exec_set_1_c,
+ cycles = 8,
+ },
+ // 0xCA: SET
+ instr {
+ exec = &exec_set_1_d,
+ cycles = 8,
+ },
+ // 0xCB: SET
+ instr {
+ exec = &exec_set_1_e,
+ cycles = 8,
+ },
+ // 0xCC: SET
+ instr {
+ exec = &exec_set_1_h,
+ cycles = 8,
+ },
+ // 0xCD: SET
+ instr {
+ exec = &exec_set_1_l,
+ cycles = 8,
+ },
+ // 0xCE: SET
+ instr {
+ exec = &exec_set_1_hl,
+ cycles = 16,
+ },
+ // 0xCF: SET
+ instr {
+ exec = &exec_set_1_a,
+ cycles = 8,
+ },
+ // 0xD0: SET
+ instr {
+ exec = &exec_set_2_b,
+ cycles = 8,
+ },
+ // 0xD1: SET
+ instr {
+ exec = &exec_set_2_c,
+ cycles = 8,
+ },
+ // 0xD2: SET
+ instr {
+ exec = &exec_set_2_d,
+ cycles = 8,
+ },
+ // 0xD3: SET
+ instr {
+ exec = &exec_set_2_e,
+ cycles = 8,
+ },
+ // 0xD4: SET
+ instr {
+ exec = &exec_set_2_h,
+ cycles = 8,
+ },
+ // 0xD5: SET
+ instr {
+ exec = &exec_set_2_l,
+ cycles = 8,
+ },
+ // 0xD6: SET
+ instr {
+ exec = &exec_set_2_hl,
+ cycles = 16,
+ },
+ // 0xD7: SET
+ instr {
+ exec = &exec_set_2_a,
+ cycles = 8,
+ },
+ // 0xD8: SET
+ instr {
+ exec = &exec_set_3_b,
+ cycles = 8,
+ },
+ // 0xD9: SET
+ instr {
+ exec = &exec_set_3_c,
+ cycles = 8,
+ },
+ // 0xDA: SET
+ instr {
+ exec = &exec_set_3_d,
+ cycles = 8,
+ },
+ // 0xDB: SET
+ instr {
+ exec = &exec_set_3_e,
+ cycles = 8,
+ },
+ // 0xDC: SET
+ instr {
+ exec = &exec_set_3_h,
+ cycles = 8,
+ },
+ // 0xDD: SET
+ instr {
+ exec = &exec_set_3_l,
+ cycles = 8,
+ },
+ // 0xDE: SET
+ instr {
+ exec = &exec_set_3_hl,
+ cycles = 16,
+ },
+ // 0xDF: SET
+ instr {
+ exec = &exec_set_3_a,
+ cycles = 8,
+ },
+ // 0xE0: SET
+ instr {
+ exec = &exec_set_4_b,
+ cycles = 8,
+ },
+ // 0xE1: SET
+ instr {
+ exec = &exec_set_4_c,
+ cycles = 8,
+ },
+ // 0xE2: SET
+ instr {
+ exec = &exec_set_4_d,
+ cycles = 8,
+ },
+ // 0xE3: SET
+ instr {
+ exec = &exec_set_4_e,
+ cycles = 8,
+ },
+ // 0xE4: SET
+ instr {
+ exec = &exec_set_4_h,
+ cycles = 8,
+ },
+ // 0xE5: SET
+ instr {
+ exec = &exec_set_4_l,
+ cycles = 8,
+ },
+ // 0xE6: SET
+ instr {
+ exec = &exec_set_4_hl,
+ cycles = 16,
+ },
+ // 0xE7: SET
+ instr {
+ exec = &exec_set_4_a,
+ cycles = 8,
+ },
+ // 0xE8: SET
+ instr {
+ exec = &exec_set_5_b,
+ cycles = 8,
+ },
+ // 0xE9: SET
+ instr {
+ exec = &exec_set_5_c,
+ cycles = 8,
+ },
+ // 0xEA: SET
+ instr {
+ exec = &exec_set_5_d,
+ cycles = 8,
+ },
+ // 0xEB: SET
+ instr {
+ exec = &exec_set_5_e,
+ cycles = 8,
+ },
+ // 0xEC: SET
+ instr {
+ exec = &exec_set_5_h,
+ cycles = 8,
+ },
+ // 0xED: SET
+ instr {
+ exec = &exec_set_5_l,
+ cycles = 8,
+ },
+ // 0xEE: SET
+ instr {
+ exec = &exec_set_5_hl,
+ cycles = 16,
+ },
+ // 0xEF: SET
+ instr {
+ exec = &exec_set_5_a,
+ cycles = 8,
+ },
+ // 0xF0: SET
+ instr {
+ exec = &exec_set_6_b,
+ cycles = 8,
+ },
+ // 0xF1: SET
+ instr {
+ exec = &exec_set_6_c,
+ cycles = 8,
+ },
+ // 0xF2: SET
+ instr {
+ exec = &exec_set_6_d,
+ cycles = 8,
+ },
+ // 0xF3: SET
+ instr {
+ exec = &exec_set_6_e,
+ cycles = 8,
+ },
+ // 0xF4: SET
+ instr {
+ exec = &exec_set_6_h,
+ cycles = 8,
+ },
+ // 0xF5: SET
+ instr {
+ exec = &exec_set_6_l,
+ cycles = 8,
+ },
+ // 0xF6: SET
+ instr {
+ exec = &exec_set_6_hl,
+ cycles = 16,
+ },
+ // 0xF7: SET
+ instr {
+ exec = &exec_set_6_a,
+ cycles = 8,
+ },
+ // 0xF8: SET
+ instr {
+ exec = &exec_set_7_b,
+ cycles = 8,
+ },
+ // 0xF9: SET
+ instr {
+ exec = &exec_set_7_c,
+ cycles = 8,
+ },
+ // 0xFA: SET
+ instr {
+ exec = &exec_set_7_d,
+ cycles = 8,
+ },
+ // 0xFB: SET
+ instr {
+ exec = &exec_set_7_e,
+ cycles = 8,
+ },
+ // 0xFC: SET
+ instr {
+ exec = &exec_set_7_h,
+ cycles = 8,
+ },
+ // 0xFD: SET
+ instr {
+ exec = &exec_set_7_l,
+ cycles = 8,
+ },
+ // 0xFE: SET
+ instr {
+ exec = &exec_set_7_hl,
+ cycles = 16,
+ },
+ // 0xFF: SET
+ instr {
+ exec = &exec_set_7_a,
+ cycles = 8,
+ },
+];