private static string GenerateInstructionLineText(InstructionCode instructionCode, byte operandByte1, byte operandByte2)
        {
            InstructionType instructionType = instructionCode.InstructionType;

            string instructionText =  "\t" + instructionType.OpCodeName;
            if (instructionCode.IsDuplicate)
            {
                string instrCodeBytes = "";
                if(instructionCode.Prefix != null)
                {
                    foreach (byte b in instructionCode.Prefix)
                    {
                        instrCodeBytes += b.ToString("X2")+"H ";
                    }
                }
                instrCodeBytes += instructionCode.OpCode.ToString("X2");
                instructionText += "[" + instrCodeBytes + "H]";
            }
            if (instructionType.Param1Type.HasValue)
            {
                AddressingMode paramType = instructionType.Param1Type.Value;
                string enumString = instructionCode.Param1.ToString();
                instructionText += " " + GetParamTextFromEnumStringAndOperand(instructionType, paramType, enumString, false, operandByte1, operandByte2);
            }
            if (instructionType.Param2Type.HasValue)
            {
                AddressingMode paramType = instructionType.Param2Type.Value;
                string enumString = instructionCode.Param2.ToString();
                instructionText += "," + GetParamTextFromEnumStringAndOperand(instructionType, paramType, enumString, false, operandByte1, operandByte2);
            }
            if (instructionType.Param3Type.HasValue)
            {
                AddressingMode paramType = instructionType.Param3Type.Value;
                string enumString = instructionCode.Param3.ToString();
                instructionText += "," + GetParamTextFromEnumStringAndOperand(instructionType, paramType, enumString, false, operandByte1, operandByte2);
            }
            return instructionText;
        }
        static Z80OpCodes()
        {
            Tables[0, 0] = new InstructionCode()
            {
                OpCode = 0x00,
                InstructionText = "NOP",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 1] = new InstructionCode()
            {
                OpCode = 0x01,
                InstructionText = "LD BC,nn",
                Param1 = Register16.BC,
                Param2 = "nn",
                InstructionTypeIndex = 64,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 2] = new InstructionCode()
            {
                OpCode = 0x02,
                InstructionText = "LD (BC),A",
                Param1 = AddressRegisterIndirect.BC,
                Param2 = Register.A,
                InstructionTypeIndex = 70,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 3] = new InstructionCode()
            {
                OpCode = 0x03,
                InstructionText = "INC BC",
                Param1 = Register16.BC,
                InstructionTypeIndex = 49,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 4] = new InstructionCode()
            {
                OpCode = 0x04,
                InstructionText = "INC B",
                Param1 = Register.B,
                InstructionTypeIndex = 46,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 5] = new InstructionCode()
            {
                OpCode = 0x05,
                InstructionText = "DEC B",
                Param1 = Register.B,
                InstructionTypeIndex = 31,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 6] = new InstructionCode()
            {
                OpCode = 0x06,
                InstructionText = "LD B,n",
                Param1 = Register.B,
                Param2 = "n",
                InstructionTypeIndex = 59,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 7] = new InstructionCode()
            {
                OpCode = 0x07,
                InstructionText = "RLCA",
                InstructionTypeIndex = 109,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 8] = new InstructionCode()
            {
                OpCode = 0x08,
                InstructionText = "EX AF,AF'",
                Param1 = Register16.AF,
                Param2 = Register16.AF2,
                InstructionTypeIndex = 38,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 9] = new InstructionCode()
            {
                OpCode = 0x09,
                InstructionText = "ADD HL,BC",
                Param1 = Register16.HL,
                Param2 = Register16.BC,
                InstructionTypeIndex = 10,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 10] = new InstructionCode()
            {
                OpCode = 0x0A,
                InstructionText = "LD A,(BC)",
                Param1 = Register.A,
                Param2 = AddressRegisterIndirect.BC,
                InstructionTypeIndex = 62,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 11] = new InstructionCode()
            {
                OpCode = 0x0B,
                InstructionText = "DEC BC",
                Param1 = Register16.BC,
                InstructionTypeIndex = 34,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 12] = new InstructionCode()
            {
                OpCode = 0x0C,
                InstructionText = "INC C",
                Param1 = Register.C,
                InstructionTypeIndex = 46,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 13] = new InstructionCode()
            {
                OpCode = 0x0D,
                InstructionText = "DEC C",
                Param1 = Register.C,
                InstructionTypeIndex = 31,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 14] = new InstructionCode()
            {
                OpCode = 0x0E,
                InstructionText = "LD C,n",
                Param1 = Register.C,
                Param2 = "n",
                InstructionTypeIndex = 59,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 15] = new InstructionCode()
            {
                OpCode = 0x0F,
                InstructionText = "RRCA",
                InstructionTypeIndex = 120,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 16] = new InstructionCode()
            {
                OpCode = 0x10,
                InstructionText = "DJNZ e",
                Param1 = "e",
                InstructionTypeIndex = 36,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 17] = new InstructionCode()
            {
                OpCode = 0x11,
                InstructionText = "LD DE,nn",
                Param1 = Register16.DE,
                Param2 = "nn",
                InstructionTypeIndex = 64,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 18] = new InstructionCode()
            {
                OpCode = 0x12,
                InstructionText = "LD (DE),A",
                Param1 = AddressRegisterIndirect.DE,
                Param2 = Register.A,
                InstructionTypeIndex = 70,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 19] = new InstructionCode()
            {
                OpCode = 0x13,
                InstructionText = "INC DE",
                Param1 = Register16.DE,
                InstructionTypeIndex = 49,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 20] = new InstructionCode()
            {
                OpCode = 0x14,
                InstructionText = "INC D",
                Param1 = Register.D,
                InstructionTypeIndex = 46,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 21] = new InstructionCode()
            {
                OpCode = 0x15,
                InstructionText = "DEC D",
                Param1 = Register.D,
                InstructionTypeIndex = 31,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 22] = new InstructionCode()
            {
                OpCode = 0x16,
                InstructionText = "LD D,n",
                Param1 = Register.D,
                Param2 = "n",
                InstructionTypeIndex = 59,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 23] = new InstructionCode()
            {
                OpCode = 0x17,
                InstructionText = "RLA",
                InstructionTypeIndex = 104,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 24] = new InstructionCode()
            {
                OpCode = 0x18,
                InstructionText = "JR e",
                Param1 = "e",
                InstructionTypeIndex = 57,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 25] = new InstructionCode()
            {
                OpCode = 0x19,
                InstructionText = "ADD HL,DE",
                Param1 = Register16.HL,
                Param2 = Register16.DE,
                InstructionTypeIndex = 10,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 26] = new InstructionCode()
            {
                OpCode = 0x1A,
                InstructionText = "LD A,(DE)",
                Param1 = Register.A,
                Param2 = AddressRegisterIndirect.DE,
                InstructionTypeIndex = 62,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 27] = new InstructionCode()
            {
                OpCode = 0x1B,
                InstructionText = "DEC DE",
                Param1 = Register16.DE,
                InstructionTypeIndex = 34,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 28] = new InstructionCode()
            {
                OpCode = 0x1C,
                InstructionText = "INC E",
                Param1 = Register.E,
                InstructionTypeIndex = 46,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 29] = new InstructionCode()
            {
                OpCode = 0x1D,
                InstructionText = "DEC E",
                Param1 = Register.E,
                InstructionTypeIndex = 31,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 30] = new InstructionCode()
            {
                OpCode = 0x1E,
                InstructionText = "LD E,n",
                Param1 = Register.E,
                Param2 = "n",
                InstructionTypeIndex = 59,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 31] = new InstructionCode()
            {
                OpCode = 0x1F,
                InstructionText = "RRA",
                InstructionTypeIndex = 115,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 32] = new InstructionCode()
            {
                OpCode = 0x20,
                InstructionText = "JR NZ,e",
                Param1 = FlagCondition.NZ,
                Param2 = "e",
                InstructionTypeIndex = 58,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 33] = new InstructionCode()
            {
                OpCode = 0x21,
                InstructionText = "LD HL,nn",
                Param1 = Register16.HL,
                Param2 = "nn",
                InstructionTypeIndex = 64,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 34] = new InstructionCode()
            {
                OpCode = 0x22,
                InstructionText = "LD (nn),HL",
                Param1 = "(nn)",
                Param2 = Register16.HL,
                InstructionTypeIndex = 68,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 35] = new InstructionCode()
            {
                OpCode = 0x23,
                InstructionText = "INC HL",
                Param1 = Register16.HL,
                InstructionTypeIndex = 49,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 36] = new InstructionCode()
            {
                OpCode = 0x24,
                InstructionText = "INC H",
                Param1 = Register.H,
                InstructionTypeIndex = 46,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 37] = new InstructionCode()
            {
                OpCode = 0x25,
                InstructionText = "DEC H",
                Param1 = Register.H,
                InstructionTypeIndex = 31,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 38] = new InstructionCode()
            {
                OpCode = 0x26,
                InstructionText = "LD H,n",
                Param1 = Register.H,
                Param2 = "n",
                InstructionTypeIndex = 59,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 39] = new InstructionCode()
            {
                OpCode = 0x27,
                InstructionText = "DAA",
                InstructionTypeIndex = 30,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 40] = new InstructionCode()
            {
                OpCode = 0x28,
                InstructionText = "JR Z,e",
                Param1 = FlagCondition.Z,
                Param2 = "e",
                InstructionTypeIndex = 58,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 41] = new InstructionCode()
            {
                OpCode = 0x29,
                InstructionText = "ADD HL,HL",
                Param1 = Register16.HL,
                Param2 = Register16.HL,
                InstructionTypeIndex = 10,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 42] = new InstructionCode()
            {
                OpCode = 0x2A,
                InstructionText = "LD HL,(nn)",
                Param1 = Register16.HL,
                Param2 = "(nn)",
                InstructionTypeIndex = 66,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 43] = new InstructionCode()
            {
                OpCode = 0x2B,
                InstructionText = "DEC HL",
                Param1 = Register16.HL,
                InstructionTypeIndex = 34,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 44] = new InstructionCode()
            {
                OpCode = 0x2C,
                InstructionText = "INC L",
                Param1 = Register.L,
                InstructionTypeIndex = 46,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 45] = new InstructionCode()
            {
                OpCode = 0x2D,
                InstructionText = "DEC L",
                Param1 = Register.L,
                InstructionTypeIndex = 31,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 46] = new InstructionCode()
            {
                OpCode = 0x2E,
                InstructionText = "LD L,n",
                Param1 = Register.L,
                Param2 = "n",
                InstructionTypeIndex = 59,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 47] = new InstructionCode()
            {
                OpCode = 0x2F,
                InstructionText = "CPL",
                InstructionTypeIndex = 29,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 48] = new InstructionCode()
            {
                OpCode = 0x30,
                InstructionText = "JR NC,e",
                Param1 = FlagCondition.NC,
                Param2 = "e",
                InstructionTypeIndex = 58,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 49] = new InstructionCode()
            {
                OpCode = 0x31,
                InstructionText = "LD SP,nn",
                Param1 = Register16.SP,
                Param2 = "nn",
                InstructionTypeIndex = 64,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 50] = new InstructionCode()
            {
                OpCode = 0x32,
                InstructionText = "LD (nn),A",
                Param1 = "(nn)",
                Param2 = Register.A,
                InstructionTypeIndex = 67,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 51] = new InstructionCode()
            {
                OpCode = 0x33,
                InstructionText = "INC SP",
                Param1 = Register16.SP,
                InstructionTypeIndex = 49,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 52] = new InstructionCode()
            {
                OpCode = 0x34,
                InstructionText = "INC (HL)",
                Param1 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 47,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 53] = new InstructionCode()
            {
                OpCode = 0x35,
                InstructionText = "DEC (HL)",
                Param1 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 32,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 54] = new InstructionCode()
            {
                OpCode = 0x36,
                InstructionText = "LD (HL),n",
                Param1 = AddressRegisterIndirect.HL,
                Param2 = "n",
                InstructionTypeIndex = 69,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 55] = new InstructionCode()
            {
                OpCode = 0x37,
                InstructionText = "SCF",
                InstructionTypeIndex = 128,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 56] = new InstructionCode()
            {
                OpCode = 0x38,
                InstructionText = "JR C,e",
                Param1 = FlagCondition.C,
                Param2 = "e",
                InstructionTypeIndex = 58,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 57] = new InstructionCode()
            {
                OpCode = 0x39,
                InstructionText = "ADD HL,SP",
                Param1 = Register16.HL,
                Param2 = Register16.SP,
                InstructionTypeIndex = 10,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 58] = new InstructionCode()
            {
                OpCode = 0x3A,
                InstructionText = "LD A,(nn)",
                Param1 = Register.A,
                Param2 = "(nn)",
                InstructionTypeIndex = 61,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 59] = new InstructionCode()
            {
                OpCode = 0x3B,
                InstructionText = "DEC SP",
                Param1 = Register16.SP,
                InstructionTypeIndex = 34,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 60] = new InstructionCode()
            {
                OpCode = 0x3C,
                InstructionText = "INC A",
                Param1 = Register.A,
                InstructionTypeIndex = 46,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 61] = new InstructionCode()
            {
                OpCode = 0x3D,
                InstructionText = "DEC A",
                Param1 = Register.A,
                InstructionTypeIndex = 31,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 62] = new InstructionCode()
            {
                OpCode = 0x3E,
                InstructionText = "LD A,n",
                Param1 = Register.A,
                Param2 = "n",
                InstructionTypeIndex = 59,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 63] = new InstructionCode()
            {
                OpCode = 0x3F,
                InstructionText = "CCF",
                InstructionTypeIndex = 20,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 64] = new InstructionCode()
            {
                OpCode = 0x40,
                InstructionText = "LD B,B",
                Param1 = Register.B,
                Param2 = Register.B,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 65] = new InstructionCode()
            {
                OpCode = 0x41,
                InstructionText = "LD B,C",
                Param1 = Register.B,
                Param2 = Register.C,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 66] = new InstructionCode()
            {
                OpCode = 0x42,
                InstructionText = "LD B,D",
                Param1 = Register.B,
                Param2 = Register.D,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 67] = new InstructionCode()
            {
                OpCode = 0x43,
                InstructionText = "LD B,E",
                Param1 = Register.B,
                Param2 = Register.E,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 68] = new InstructionCode()
            {
                OpCode = 0x44,
                InstructionText = "LD B,H",
                Param1 = Register.B,
                Param2 = Register.H,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 69] = new InstructionCode()
            {
                OpCode = 0x45,
                InstructionText = "LD B,L",
                Param1 = Register.B,
                Param2 = Register.L,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 70] = new InstructionCode()
            {
                OpCode = 0x46,
                InstructionText = "LD B,(HL)",
                Param1 = Register.B,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 62,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 71] = new InstructionCode()
            {
                OpCode = 0x47,
                InstructionText = "LD B,A",
                Param1 = Register.B,
                Param2 = Register.A,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 72] = new InstructionCode()
            {
                OpCode = 0x48,
                InstructionText = "LD C,B",
                Param1 = Register.C,
                Param2 = Register.B,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 73] = new InstructionCode()
            {
                OpCode = 0x49,
                InstructionText = "LD C,C",
                Param1 = Register.C,
                Param2 = Register.C,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 74] = new InstructionCode()
            {
                OpCode = 0x4A,
                InstructionText = "LD C,D",
                Param1 = Register.C,
                Param2 = Register.D,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 75] = new InstructionCode()
            {
                OpCode = 0x4B,
                InstructionText = "LD C,E",
                Param1 = Register.C,
                Param2 = Register.E,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 76] = new InstructionCode()
            {
                OpCode = 0x4C,
                InstructionText = "LD C,H",
                Param1 = Register.C,
                Param2 = Register.H,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 77] = new InstructionCode()
            {
                OpCode = 0x4D,
                InstructionText = "LD C,L",
                Param1 = Register.C,
                Param2 = Register.L,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 78] = new InstructionCode()
            {
                OpCode = 0x4E,
                InstructionText = "LD C,(HL)",
                Param1 = Register.C,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 62,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 79] = new InstructionCode()
            {
                OpCode = 0x4F,
                InstructionText = "LD C,A",
                Param1 = Register.C,
                Param2 = Register.A,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 80] = new InstructionCode()
            {
                OpCode = 0x50,
                InstructionText = "LD D,B",
                Param1 = Register.D,
                Param2 = Register.B,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 81] = new InstructionCode()
            {
                OpCode = 0x51,
                InstructionText = "LD D,C",
                Param1 = Register.D,
                Param2 = Register.C,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 82] = new InstructionCode()
            {
                OpCode = 0x52,
                InstructionText = "LD D,D",
                Param1 = Register.D,
                Param2 = Register.D,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 83] = new InstructionCode()
            {
                OpCode = 0x53,
                InstructionText = "LD D,E",
                Param1 = Register.D,
                Param2 = Register.E,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 84] = new InstructionCode()
            {
                OpCode = 0x54,
                InstructionText = "LD D,H",
                Param1 = Register.D,
                Param2 = Register.H,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 85] = new InstructionCode()
            {
                OpCode = 0x55,
                InstructionText = "LD D,L",
                Param1 = Register.D,
                Param2 = Register.L,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 86] = new InstructionCode()
            {
                OpCode = 0x56,
                InstructionText = "LD D,(HL)",
                Param1 = Register.D,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 62,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 87] = new InstructionCode()
            {
                OpCode = 0x57,
                InstructionText = "LD D,A",
                Param1 = Register.D,
                Param2 = Register.A,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 88] = new InstructionCode()
            {
                OpCode = 0x58,
                InstructionText = "LD E,B",
                Param1 = Register.E,
                Param2 = Register.B,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 89] = new InstructionCode()
            {
                OpCode = 0x59,
                InstructionText = "LD E,C",
                Param1 = Register.E,
                Param2 = Register.C,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 90] = new InstructionCode()
            {
                OpCode = 0x5A,
                InstructionText = "LD E,D",
                Param1 = Register.E,
                Param2 = Register.D,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 91] = new InstructionCode()
            {
                OpCode = 0x5B,
                InstructionText = "LD E,E",
                Param1 = Register.E,
                Param2 = Register.E,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 92] = new InstructionCode()
            {
                OpCode = 0x5C,
                InstructionText = "LD E,H",
                Param1 = Register.E,
                Param2 = Register.H,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 93] = new InstructionCode()
            {
                OpCode = 0x5D,
                InstructionText = "LD E,L",
                Param1 = Register.E,
                Param2 = Register.L,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 94] = new InstructionCode()
            {
                OpCode = 0x5E,
                InstructionText = "LD E,(HL)",
                Param1 = Register.E,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 62,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 95] = new InstructionCode()
            {
                OpCode = 0x5F,
                InstructionText = "LD E,A",
                Param1 = Register.E,
                Param2 = Register.A,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 96] = new InstructionCode()
            {
                OpCode = 0x60,
                InstructionText = "LD H,B",
                Param1 = Register.H,
                Param2 = Register.B,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 97] = new InstructionCode()
            {
                OpCode = 0x61,
                InstructionText = "LD H,C",
                Param1 = Register.H,
                Param2 = Register.C,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 98] = new InstructionCode()
            {
                OpCode = 0x62,
                InstructionText = "LD H,D",
                Param1 = Register.H,
                Param2 = Register.D,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 99] = new InstructionCode()
            {
                OpCode = 0x63,
                InstructionText = "LD H,E",
                Param1 = Register.H,
                Param2 = Register.E,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 100] = new InstructionCode()
            {
                OpCode = 0x64,
                InstructionText = "LD H,H",
                Param1 = Register.H,
                Param2 = Register.H,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 101] = new InstructionCode()
            {
                OpCode = 0x65,
                InstructionText = "LD H,L",
                Param1 = Register.H,
                Param2 = Register.L,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 102] = new InstructionCode()
            {
                OpCode = 0x66,
                InstructionText = "LD H,(HL)",
                Param1 = Register.H,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 62,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 103] = new InstructionCode()
            {
                OpCode = 0x67,
                InstructionText = "LD H,A",
                Param1 = Register.H,
                Param2 = Register.A,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 104] = new InstructionCode()
            {
                OpCode = 0x68,
                InstructionText = "LD L,B",
                Param1 = Register.L,
                Param2 = Register.B,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 105] = new InstructionCode()
            {
                OpCode = 0x69,
                InstructionText = "LD L,C",
                Param1 = Register.L,
                Param2 = Register.C,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 106] = new InstructionCode()
            {
                OpCode = 0x6A,
                InstructionText = "LD L,D",
                Param1 = Register.L,
                Param2 = Register.D,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 107] = new InstructionCode()
            {
                OpCode = 0x6B,
                InstructionText = "LD L,E",
                Param1 = Register.L,
                Param2 = Register.E,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 108] = new InstructionCode()
            {
                OpCode = 0x6C,
                InstructionText = "LD L,H",
                Param1 = Register.L,
                Param2 = Register.H,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 109] = new InstructionCode()
            {
                OpCode = 0x6D,
                InstructionText = "LD L,L",
                Param1 = Register.L,
                Param2 = Register.L,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 110] = new InstructionCode()
            {
                OpCode = 0x6E,
                InstructionText = "LD L,(HL)",
                Param1 = Register.L,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 62,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 111] = new InstructionCode()
            {
                OpCode = 0x6F,
                InstructionText = "LD L,A",
                Param1 = Register.L,
                Param2 = Register.A,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 112] = new InstructionCode()
            {
                OpCode = 0x70,
                InstructionText = "LD (HL),B",
                Param1 = AddressRegisterIndirect.HL,
                Param2 = Register.B,
                InstructionTypeIndex = 70,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 113] = new InstructionCode()
            {
                OpCode = 0x71,
                InstructionText = "LD (HL),C",
                Param1 = AddressRegisterIndirect.HL,
                Param2 = Register.C,
                InstructionTypeIndex = 70,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 114] = new InstructionCode()
            {
                OpCode = 0x72,
                InstructionText = "LD (HL),D",
                Param1 = AddressRegisterIndirect.HL,
                Param2 = Register.D,
                InstructionTypeIndex = 70,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 115] = new InstructionCode()
            {
                OpCode = 0x73,
                InstructionText = "LD (HL),E",
                Param1 = AddressRegisterIndirect.HL,
                Param2 = Register.E,
                InstructionTypeIndex = 70,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 116] = new InstructionCode()
            {
                OpCode = 0x74,
                InstructionText = "LD (HL),H",
                Param1 = AddressRegisterIndirect.HL,
                Param2 = Register.H,
                InstructionTypeIndex = 70,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 117] = new InstructionCode()
            {
                OpCode = 0x75,
                InstructionText = "LD (HL),L",
                Param1 = AddressRegisterIndirect.HL,
                Param2 = Register.L,
                InstructionTypeIndex = 70,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 118] = new InstructionCode()
            {
                OpCode = 0x76,
                InstructionText = "HALT",
                InstructionTypeIndex = 41,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 119] = new InstructionCode()
            {
                OpCode = 0x77,
                InstructionText = "LD (HL),A",
                Param1 = AddressRegisterIndirect.HL,
                Param2 = Register.A,
                InstructionTypeIndex = 70,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 120] = new InstructionCode()
            {
                OpCode = 0x78,
                InstructionText = "LD A,B",
                Param1 = Register.A,
                Param2 = Register.B,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 121] = new InstructionCode()
            {
                OpCode = 0x79,
                InstructionText = "LD A,C",
                Param1 = Register.A,
                Param2 = Register.C,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 122] = new InstructionCode()
            {
                OpCode = 0x7A,
                InstructionText = "LD A,D",
                Param1 = Register.A,
                Param2 = Register.D,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 123] = new InstructionCode()
            {
                OpCode = 0x7B,
                InstructionText = "LD A,E",
                Param1 = Register.A,
                Param2 = Register.E,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 124] = new InstructionCode()
            {
                OpCode = 0x7C,
                InstructionText = "LD A,H",
                Param1 = Register.A,
                Param2 = Register.H,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 125] = new InstructionCode()
            {
                OpCode = 0x7D,
                InstructionText = "LD A,L",
                Param1 = Register.A,
                Param2 = Register.L,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 126] = new InstructionCode()
            {
                OpCode = 0x7E,
                InstructionText = "LD A,(HL)",
                Param1 = Register.A,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 62,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 127] = new InstructionCode()
            {
                OpCode = 0x7F,
                InstructionText = "LD A,A",
                Param1 = Register.A,
                Param2 = Register.A,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 128] = new InstructionCode()
            {
                OpCode = 0x80,
                InstructionText = "ADD A,B",
                Param1 = Register.A,
                Param2 = Register.B,
                InstructionTypeIndex = 7,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 129] = new InstructionCode()
            {
                OpCode = 0x81,
                InstructionText = "ADD A,C",
                Param1 = Register.A,
                Param2 = Register.C,
                InstructionTypeIndex = 7,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 130] = new InstructionCode()
            {
                OpCode = 0x82,
                InstructionText = "ADD A,D",
                Param1 = Register.A,
                Param2 = Register.D,
                InstructionTypeIndex = 7,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 131] = new InstructionCode()
            {
                OpCode = 0x83,
                InstructionText = "ADD A,E",
                Param1 = Register.A,
                Param2 = Register.E,
                InstructionTypeIndex = 7,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 132] = new InstructionCode()
            {
                OpCode = 0x84,
                InstructionText = "ADD A,H",
                Param1 = Register.A,
                Param2 = Register.H,
                InstructionTypeIndex = 7,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 133] = new InstructionCode()
            {
                OpCode = 0x85,
                InstructionText = "ADD A,L",
                Param1 = Register.A,
                Param2 = Register.L,
                InstructionTypeIndex = 7,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 134] = new InstructionCode()
            {
                OpCode = 0x86,
                InstructionText = "ADD A,(HL)",
                Param1 = Register.A,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 8,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 135] = new InstructionCode()
            {
                OpCode = 0x87,
                InstructionText = "ADD A,A",
                Param1 = Register.A,
                Param2 = Register.A,
                InstructionTypeIndex = 7,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 136] = new InstructionCode()
            {
                OpCode = 0x88,
                InstructionText = "ADC A,B",
                Param1 = Register.A,
                Param2 = Register.B,
                InstructionTypeIndex = 2,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 137] = new InstructionCode()
            {
                OpCode = 0x89,
                InstructionText = "ADC A,C",
                Param1 = Register.A,
                Param2 = Register.C,
                InstructionTypeIndex = 2,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 138] = new InstructionCode()
            {
                OpCode = 0x8A,
                InstructionText = "ADC A,D",
                Param1 = Register.A,
                Param2 = Register.D,
                InstructionTypeIndex = 2,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 139] = new InstructionCode()
            {
                OpCode = 0x8B,
                InstructionText = "ADC A,E",
                Param1 = Register.A,
                Param2 = Register.E,
                InstructionTypeIndex = 2,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 140] = new InstructionCode()
            {
                OpCode = 0x8C,
                InstructionText = "ADC A,H",
                Param1 = Register.A,
                Param2 = Register.H,
                InstructionTypeIndex = 2,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 141] = new InstructionCode()
            {
                OpCode = 0x8D,
                InstructionText = "ADC A,L",
                Param1 = Register.A,
                Param2 = Register.L,
                InstructionTypeIndex = 2,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 142] = new InstructionCode()
            {
                OpCode = 0x8E,
                InstructionText = "ADC A,(HL)",
                Param1 = Register.A,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 3,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 143] = new InstructionCode()
            {
                OpCode = 0x8F,
                InstructionText = "ADC A,A",
                Param1 = Register.A,
                Param2 = Register.A,
                InstructionTypeIndex = 2,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 144] = new InstructionCode()
            {
                OpCode = 0x90,
                InstructionText = "SUB B",
                Param1 = Register.B,
                InstructionTypeIndex = 150,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 145] = new InstructionCode()
            {
                OpCode = 0x91,
                InstructionText = "SUB C",
                Param1 = Register.C,
                InstructionTypeIndex = 150,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 146] = new InstructionCode()
            {
                OpCode = 0x92,
                InstructionText = "SUB D",
                Param1 = Register.D,
                InstructionTypeIndex = 150,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 147] = new InstructionCode()
            {
                OpCode = 0x93,
                InstructionText = "SUB E",
                Param1 = Register.E,
                InstructionTypeIndex = 150,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 148] = new InstructionCode()
            {
                OpCode = 0x94,
                InstructionText = "SUB H",
                Param1 = Register.H,
                InstructionTypeIndex = 150,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 149] = new InstructionCode()
            {
                OpCode = 0x95,
                InstructionText = "SUB L",
                Param1 = Register.L,
                InstructionTypeIndex = 150,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 150] = new InstructionCode()
            {
                OpCode = 0x96,
                InstructionText = "SUB (HL)",
                Param1 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 151,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 151] = new InstructionCode()
            {
                OpCode = 0x97,
                InstructionText = "SUB A",
                Param1 = Register.A,
                InstructionTypeIndex = 150,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 152] = new InstructionCode()
            {
                OpCode = 0x98,
                InstructionText = "SBC A,B",
                Param1 = Register.A,
                Param2 = Register.B,
                InstructionTypeIndex = 124,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 153] = new InstructionCode()
            {
                OpCode = 0x99,
                InstructionText = "SBC A,C",
                Param1 = Register.A,
                Param2 = Register.C,
                InstructionTypeIndex = 124,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 154] = new InstructionCode()
            {
                OpCode = 0x9A,
                InstructionText = "SBC A,D",
                Param1 = Register.A,
                Param2 = Register.D,
                InstructionTypeIndex = 124,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 155] = new InstructionCode()
            {
                OpCode = 0x9B,
                InstructionText = "SBC A,E",
                Param1 = Register.A,
                Param2 = Register.E,
                InstructionTypeIndex = 124,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 156] = new InstructionCode()
            {
                OpCode = 0x9C,
                InstructionText = "SBC A,H",
                Param1 = Register.A,
                Param2 = Register.H,
                InstructionTypeIndex = 124,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 157] = new InstructionCode()
            {
                OpCode = 0x9D,
                InstructionText = "SBC A,L",
                Param1 = Register.A,
                Param2 = Register.L,
                InstructionTypeIndex = 124,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 158] = new InstructionCode()
            {
                OpCode = 0x9E,
                InstructionText = "SBC A,(HL)",
                Param1 = Register.A,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 125,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 159] = new InstructionCode()
            {
                OpCode = 0x9F,
                InstructionText = "SBC A,A",
                Param1 = Register.A,
                Param2 = Register.A,
                InstructionTypeIndex = 124,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 160] = new InstructionCode()
            {
                OpCode = 0xA0,
                InstructionText = "AND B",
                Param1 = Register.B,
                InstructionTypeIndex = 12,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 161] = new InstructionCode()
            {
                OpCode = 0xA1,
                InstructionText = "AND C",
                Param1 = Register.C,
                InstructionTypeIndex = 12,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 162] = new InstructionCode()
            {
                OpCode = 0xA2,
                InstructionText = "AND D",
                Param1 = Register.D,
                InstructionTypeIndex = 12,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 163] = new InstructionCode()
            {
                OpCode = 0xA3,
                InstructionText = "AND E",
                Param1 = Register.E,
                InstructionTypeIndex = 12,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 164] = new InstructionCode()
            {
                OpCode = 0xA4,
                InstructionText = "AND H",
                Param1 = Register.H,
                InstructionTypeIndex = 12,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 165] = new InstructionCode()
            {
                OpCode = 0xA5,
                InstructionText = "AND L",
                Param1 = Register.L,
                InstructionTypeIndex = 12,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 166] = new InstructionCode()
            {
                OpCode = 0xA6,
                InstructionText = "AND (HL)",
                Param1 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 13,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 167] = new InstructionCode()
            {
                OpCode = 0xA7,
                InstructionText = "AND A",
                Param1 = Register.A,
                InstructionTypeIndex = 12,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 168] = new InstructionCode()
            {
                OpCode = 0xA8,
                InstructionText = "XOR B",
                Param1 = Register.B,
                InstructionTypeIndex = 154,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 169] = new InstructionCode()
            {
                OpCode = 0xA9,
                InstructionText = "XOR C",
                Param1 = Register.C,
                InstructionTypeIndex = 154,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 170] = new InstructionCode()
            {
                OpCode = 0xAA,
                InstructionText = "XOR D",
                Param1 = Register.D,
                InstructionTypeIndex = 154,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 171] = new InstructionCode()
            {
                OpCode = 0xAB,
                InstructionText = "XOR E",
                Param1 = Register.E,
                InstructionTypeIndex = 154,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 172] = new InstructionCode()
            {
                OpCode = 0xAC,
                InstructionText = "XOR H",
                Param1 = Register.H,
                InstructionTypeIndex = 154,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 173] = new InstructionCode()
            {
                OpCode = 0xAD,
                InstructionText = "XOR L",
                Param1 = Register.L,
                InstructionTypeIndex = 154,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 174] = new InstructionCode()
            {
                OpCode = 0xAE,
                InstructionText = "XOR (HL)",
                Param1 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 155,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 175] = new InstructionCode()
            {
                OpCode = 0xAF,
                InstructionText = "XOR A",
                Param1 = Register.A,
                InstructionTypeIndex = 154,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 176] = new InstructionCode()
            {
                OpCode = 0xB0,
                InstructionText = "OR B",
                Param1 = Register.B,
                InstructionTypeIndex = 80,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 177] = new InstructionCode()
            {
                OpCode = 0xB1,
                InstructionText = "OR C",
                Param1 = Register.C,
                InstructionTypeIndex = 80,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 178] = new InstructionCode()
            {
                OpCode = 0xB2,
                InstructionText = "OR D",
                Param1 = Register.D,
                InstructionTypeIndex = 80,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 179] = new InstructionCode()
            {
                OpCode = 0xB3,
                InstructionText = "OR E",
                Param1 = Register.E,
                InstructionTypeIndex = 80,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 180] = new InstructionCode()
            {
                OpCode = 0xB4,
                InstructionText = "OR H",
                Param1 = Register.H,
                InstructionTypeIndex = 80,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 181] = new InstructionCode()
            {
                OpCode = 0xB5,
                InstructionText = "OR L",
                Param1 = Register.L,
                InstructionTypeIndex = 80,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 182] = new InstructionCode()
            {
                OpCode = 0xB6,
                InstructionText = "OR (HL)",
                Param1 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 81,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 183] = new InstructionCode()
            {
                OpCode = 0xB7,
                InstructionText = "OR A",
                Param1 = Register.A,
                InstructionTypeIndex = 80,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 184] = new InstructionCode()
            {
                OpCode = 0xB8,
                InstructionText = "CP B",
                Param1 = Register.B,
                InstructionTypeIndex = 22,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 185] = new InstructionCode()
            {
                OpCode = 0xB9,
                InstructionText = "CP C",
                Param1 = Register.C,
                InstructionTypeIndex = 22,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 186] = new InstructionCode()
            {
                OpCode = 0xBA,
                InstructionText = "CP D",
                Param1 = Register.D,
                InstructionTypeIndex = 22,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 187] = new InstructionCode()
            {
                OpCode = 0xBB,
                InstructionText = "CP E",
                Param1 = Register.E,
                InstructionTypeIndex = 22,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 188] = new InstructionCode()
            {
                OpCode = 0xBC,
                InstructionText = "CP H",
                Param1 = Register.H,
                InstructionTypeIndex = 22,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 189] = new InstructionCode()
            {
                OpCode = 0xBD,
                InstructionText = "CP L",
                Param1 = Register.L,
                InstructionTypeIndex = 22,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 190] = new InstructionCode()
            {
                OpCode = 0xBE,
                InstructionText = "CP (HL)",
                Param1 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 23,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 191] = new InstructionCode()
            {
                OpCode = 0xBF,
                InstructionText = "CP A",
                Param1 = Register.A,
                InstructionTypeIndex = 22,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 192] = new InstructionCode()
            {
                OpCode = 0xC0,
                InstructionText = "RET NZ",
                Param1 = FlagCondition.NZ,
                InstructionTypeIndex = 97,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 193] = new InstructionCode()
            {
                OpCode = 0xC1,
                InstructionText = "POP BC",
                Param1 = Register16.BC,
                InstructionTypeIndex = 90,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 194] = new InstructionCode()
            {
                OpCode = 0xC2,
                InstructionText = "JP NZ,nn",
                Param1 = FlagCondition.NZ,
                Param2 = "nn",
                InstructionTypeIndex = 56,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 195] = new InstructionCode()
            {
                OpCode = 0xC3,
                InstructionText = "JP nn",
                Param1 = "nn",
                InstructionTypeIndex = 54,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 196] = new InstructionCode()
            {
                OpCode = 0xC4,
                InstructionText = "CALL NZ,nn",
                Param1 = FlagCondition.NZ,
                Param2 = "nn",
                InstructionTypeIndex = 19,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 197] = new InstructionCode()
            {
                OpCode = 0xC5,
                InstructionText = "PUSH BC",
                Param1 = Register16.BC,
                InstructionTypeIndex = 91,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 198] = new InstructionCode()
            {
                OpCode = 0xC6,
                InstructionText = "ADD A,n",
                Param1 = Register.A,
                Param2 = "n",
                InstructionTypeIndex = 6,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 199] = new InstructionCode()
            {
                OpCode = 0xC7,
                InstructionText = "RST 0H",
                Param1 = AddressModifiedPageZero.rst00,
                InstructionTypeIndex = 122,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 200] = new InstructionCode()
            {
                OpCode = 0xC8,
                InstructionText = "RET Z",
                Param1 = FlagCondition.Z,
                InstructionTypeIndex = 97,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 201] = new InstructionCode()
            {
                OpCode = 0xC9,
                InstructionText = "RET",
                InstructionTypeIndex = 96,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 202] = new InstructionCode()
            {
                OpCode = 0xCA,
                InstructionText = "JP Z,nn",
                Param1 = FlagCondition.Z,
                Param2 = "nn",
                InstructionTypeIndex = 56,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 203] = new InstructionCode()
            {
                OpCode = 0xCB,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 1,
                SwitchToTableNumber = 1
            };

            Tables[0, 204] = new InstructionCode()
            {
                OpCode = 0xCC,
                InstructionText = "CALL Z,nn",
                Param1 = FlagCondition.Z,
                Param2 = "nn",
                InstructionTypeIndex = 19,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 205] = new InstructionCode()
            {
                OpCode = 0xCD,
                InstructionText = "CALL nn",
                Param1 = "nn",
                InstructionTypeIndex = 18,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 206] = new InstructionCode()
            {
                OpCode = 0xCE,
                InstructionText = "ADC A,n",
                Param1 = Register.A,
                Param2 = "n",
                InstructionTypeIndex = 1,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 207] = new InstructionCode()
            {
                OpCode = 0xCF,
                InstructionText = "RST 8H",
                Param1 = AddressModifiedPageZero.rst08,
                InstructionTypeIndex = 122,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 208] = new InstructionCode()
            {
                OpCode = 0xD0,
                InstructionText = "RET NC",
                Param1 = FlagCondition.NC,
                InstructionTypeIndex = 97,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 209] = new InstructionCode()
            {
                OpCode = 0xD1,
                InstructionText = "POP DE",
                Param1 = Register16.DE,
                InstructionTypeIndex = 90,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 210] = new InstructionCode()
            {
                OpCode = 0xD2,
                InstructionText = "JP NC,nn",
                Param1 = FlagCondition.NC,
                Param2 = "nn",
                InstructionTypeIndex = 56,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 211] = new InstructionCode()
            {
                OpCode = 0xD3,
                InstructionText = "OUT (n),A",
                Param1 = "(n)",
                Param2 = Register.A,
                InstructionTypeIndex = 85,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 212] = new InstructionCode()
            {
                OpCode = 0xD4,
                InstructionText = "CALL NC,nn",
                Param1 = FlagCondition.NC,
                Param2 = "nn",
                InstructionTypeIndex = 19,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 213] = new InstructionCode()
            {
                OpCode = 0xD5,
                InstructionText = "PUSH DE",
                Param1 = Register16.DE,
                InstructionTypeIndex = 91,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 214] = new InstructionCode()
            {
                OpCode = 0xD6,
                InstructionText = "SUB n",
                Param1 = "n",
                InstructionTypeIndex = 149,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 215] = new InstructionCode()
            {
                OpCode = 0xD7,
                InstructionText = "RST 10H",
                Param1 = AddressModifiedPageZero.rst10,
                InstructionTypeIndex = 122,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 216] = new InstructionCode()
            {
                OpCode = 0xD8,
                InstructionText = "RET C",
                Param1 = FlagCondition.C,
                InstructionTypeIndex = 97,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 217] = new InstructionCode()
            {
                OpCode = 0xD9,
                InstructionText = "EXX",
                InstructionTypeIndex = 40,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 218] = new InstructionCode()
            {
                OpCode = 0xDA,
                InstructionText = "JP C,nn",
                Param1 = FlagCondition.C,
                Param2 = "nn",
                InstructionTypeIndex = 56,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 219] = new InstructionCode()
            {
                OpCode = 0xDB,
                InstructionText = "IN A,(n)",
                Param1 = Register.A,
                Param2 = "(n)",
                InstructionTypeIndex = 43,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 220] = new InstructionCode()
            {
                OpCode = 0xDC,
                InstructionText = "CALL C,nn",
                Param1 = FlagCondition.C,
                Param2 = "nn",
                InstructionTypeIndex = 19,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 221] = new InstructionCode()
            {
                OpCode = 0xDD,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 1,
                SwitchToTableNumber = 2
            };

            Tables[0, 222] = new InstructionCode()
            {
                OpCode = 0xDE,
                InstructionText = "SBC A,n",
                Param1 = Register.A,
                Param2 = "n",
                InstructionTypeIndex = 123,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 223] = new InstructionCode()
            {
                OpCode = 0xDF,
                InstructionText = "RST 18H",
                Param1 = AddressModifiedPageZero.rst18,
                InstructionTypeIndex = 122,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 224] = new InstructionCode()
            {
                OpCode = 0xE0,
                InstructionText = "RET PO",
                Param1 = FlagCondition.PO,
                InstructionTypeIndex = 97,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 225] = new InstructionCode()
            {
                OpCode = 0xE1,
                InstructionText = "POP HL",
                Param1 = Register16.HL,
                InstructionTypeIndex = 90,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 226] = new InstructionCode()
            {
                OpCode = 0xE2,
                InstructionText = "JP PO,nn",
                Param1 = FlagCondition.PO,
                Param2 = "nn",
                InstructionTypeIndex = 56,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 227] = new InstructionCode()
            {
                OpCode = 0xE3,
                InstructionText = "EX (SP),HL",
                Param1 = AddressRegisterIndirect.SP,
                Param2 = Register16.HL,
                InstructionTypeIndex = 39,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 228] = new InstructionCode()
            {
                OpCode = 0xE4,
                InstructionText = "CALL PO,nn",
                Param1 = FlagCondition.PO,
                Param2 = "nn",
                InstructionTypeIndex = 19,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 229] = new InstructionCode()
            {
                OpCode = 0xE5,
                InstructionText = "PUSH HL",
                Param1 = Register16.HL,
                InstructionTypeIndex = 91,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 230] = new InstructionCode()
            {
                OpCode = 0xE6,
                InstructionText = "AND n",
                Param1 = "n",
                InstructionTypeIndex = 11,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 231] = new InstructionCode()
            {
                OpCode = 0xE7,
                InstructionText = "RST 20H",
                Param1 = AddressModifiedPageZero.rst20,
                InstructionTypeIndex = 122,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 232] = new InstructionCode()
            {
                OpCode = 0xE8,
                InstructionText = "RET PE",
                Param1 = FlagCondition.PE,
                InstructionTypeIndex = 97,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 233] = new InstructionCode()
            {
                OpCode = 0xE9,
                InstructionText = "JP (HL)",
                Param1 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 55,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 234] = new InstructionCode()
            {
                OpCode = 0xEA,
                InstructionText = "JP PE,nn",
                Param1 = FlagCondition.PE,
                Param2 = "nn",
                InstructionTypeIndex = 56,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 235] = new InstructionCode()
            {
                OpCode = 0xEB,
                InstructionText = "EX DE,HL",
                Param1 = Register16.DE,
                Param2 = Register16.HL,
                InstructionTypeIndex = 38,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 236] = new InstructionCode()
            {
                OpCode = 0xEC,
                InstructionText = "CALL PE,nn",
                Param1 = FlagCondition.PE,
                Param2 = "nn",
                InstructionTypeIndex = 19,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 237] = new InstructionCode()
            {
                OpCode = 0xED,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 1,
                SwitchToTableNumber = 3
            };

            Tables[0, 238] = new InstructionCode()
            {
                OpCode = 0xEE,
                InstructionText = "XOR n",
                Param1 = "n",
                InstructionTypeIndex = 153,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 239] = new InstructionCode()
            {
                OpCode = 0xEF,
                InstructionText = "RST 28H",
                Param1 = AddressModifiedPageZero.rst28,
                InstructionTypeIndex = 122,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 240] = new InstructionCode()
            {
                OpCode = 0xF0,
                InstructionText = "RET P",
                Param1 = FlagCondition.P,
                InstructionTypeIndex = 97,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 241] = new InstructionCode()
            {
                OpCode = 0xF1,
                InstructionText = "POP AF",
                Param1 = Register16.AF,
                InstructionTypeIndex = 90,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 242] = new InstructionCode()
            {
                OpCode = 0xF2,
                InstructionText = "JP P,nn",
                Param1 = FlagCondition.P,
                Param2 = "nn",
                InstructionTypeIndex = 56,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 243] = new InstructionCode()
            {
                OpCode = 0xF3,
                InstructionText = "DI",
                InstructionTypeIndex = 35,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 244] = new InstructionCode()
            {
                OpCode = 0xF4,
                InstructionText = "CALL P,nn",
                Param1 = FlagCondition.P,
                Param2 = "nn",
                InstructionTypeIndex = 19,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 245] = new InstructionCode()
            {
                OpCode = 0xF5,
                InstructionText = "PUSH AF",
                Param1 = Register16.AF,
                InstructionTypeIndex = 91,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 246] = new InstructionCode()
            {
                OpCode = 0xF6,
                InstructionText = "OR n",
                Param1 = "n",
                InstructionTypeIndex = 79,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 247] = new InstructionCode()
            {
                OpCode = 0xF7,
                InstructionText = "RST 30H",
                Param1 = AddressModifiedPageZero.rst30,
                InstructionTypeIndex = 122,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 248] = new InstructionCode()
            {
                OpCode = 0xF8,
                InstructionText = "RET M",
                Param1 = FlagCondition.M,
                InstructionTypeIndex = 97,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 249] = new InstructionCode()
            {
                OpCode = 0xF9,
                InstructionText = "LD SP,HL",
                Param1 = Register16.SP,
                Param2 = Register16.HL,
                InstructionTypeIndex = 65,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 250] = new InstructionCode()
            {
                OpCode = 0xFA,
                InstructionText = "JP M,nn",
                Param1 = FlagCondition.M,
                Param2 = "nn",
                InstructionTypeIndex = 56,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 251] = new InstructionCode()
            {
                OpCode = 0xFB,
                InstructionText = "EI",
                InstructionTypeIndex = 37,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 252] = new InstructionCode()
            {
                OpCode = 0xFC,
                InstructionText = "CALL M,nn",
                Param1 = FlagCondition.M,
                Param2 = "nn",
                InstructionTypeIndex = 19,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 253] = new InstructionCode()
            {
                OpCode = 0xFD,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 1,
                SwitchToTableNumber = 4
            };

            Tables[0, 254] = new InstructionCode()
            {
                OpCode = 0xFE,
                InstructionText = "CP n",
                Param1 = "n",
                InstructionTypeIndex = 21,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[0, 255] = new InstructionCode()
            {
                OpCode = 0xFF,
                InstructionText = "RST 38H",
                Param1 = AddressModifiedPageZero.rst38,
                InstructionTypeIndex = 122,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 1,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 0] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x00,
                InstructionText = "RLC B",
                Param1 = Register.B,
                InstructionTypeIndex = 105,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 1] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x01,
                InstructionText = "RLC C",
                Param1 = Register.C,
                InstructionTypeIndex = 105,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 2] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x02,
                InstructionText = "RLC D",
                Param1 = Register.D,
                InstructionTypeIndex = 105,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 3] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x03,
                InstructionText = "RLC E",
                Param1 = Register.E,
                InstructionTypeIndex = 105,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 4] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x04,
                InstructionText = "RLC H",
                Param1 = Register.H,
                InstructionTypeIndex = 105,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 5] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x05,
                InstructionText = "RLC L",
                Param1 = Register.L,
                InstructionTypeIndex = 105,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 6] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x06,
                InstructionText = "RLC (HL)",
                Param1 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 106,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 7] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x07,
                InstructionText = "RLC A",
                Param1 = Register.A,
                InstructionTypeIndex = 105,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 8] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x08,
                InstructionText = "RRC B",
                Param1 = Register.B,
                InstructionTypeIndex = 116,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 9] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x09,
                InstructionText = "RRC C",
                Param1 = Register.C,
                InstructionTypeIndex = 116,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 10] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x0A,
                InstructionText = "RRC D",
                Param1 = Register.D,
                InstructionTypeIndex = 116,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 11] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x0B,
                InstructionText = "RRC E",
                Param1 = Register.E,
                InstructionTypeIndex = 116,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 12] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x0C,
                InstructionText = "RRC H",
                Param1 = Register.H,
                InstructionTypeIndex = 116,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 13] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x0D,
                InstructionText = "RRC L",
                Param1 = Register.L,
                InstructionTypeIndex = 116,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 14] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x0E,
                InstructionText = "RRC (HL)",
                Param1 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 117,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 15] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x0F,
                InstructionText = "RRC A",
                Param1 = Register.A,
                InstructionTypeIndex = 116,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 16] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x10,
                InstructionText = "RL B",
                Param1 = Register.B,
                InstructionTypeIndex = 100,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 17] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x11,
                InstructionText = "RL C",
                Param1 = Register.C,
                InstructionTypeIndex = 100,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 18] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x12,
                InstructionText = "RL D",
                Param1 = Register.D,
                InstructionTypeIndex = 100,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 19] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x13,
                InstructionText = "RL E",
                Param1 = Register.E,
                InstructionTypeIndex = 100,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 20] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x14,
                InstructionText = "RL H",
                Param1 = Register.H,
                InstructionTypeIndex = 100,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 21] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x15,
                InstructionText = "RL L",
                Param1 = Register.L,
                InstructionTypeIndex = 100,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 22] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x16,
                InstructionText = "RL (HL)",
                Param1 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 101,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 23] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x17,
                InstructionText = "RL A",
                Param1 = Register.A,
                InstructionTypeIndex = 100,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 24] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x18,
                InstructionText = "RR B",
                Param1 = Register.B,
                InstructionTypeIndex = 111,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 25] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x19,
                InstructionText = "RR C",
                Param1 = Register.C,
                InstructionTypeIndex = 111,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 26] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x1A,
                InstructionText = "RR D",
                Param1 = Register.D,
                InstructionTypeIndex = 111,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 27] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x1B,
                InstructionText = "RR E",
                Param1 = Register.E,
                InstructionTypeIndex = 111,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 28] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x1C,
                InstructionText = "RR H",
                Param1 = Register.H,
                InstructionTypeIndex = 111,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 29] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x1D,
                InstructionText = "RR L",
                Param1 = Register.L,
                InstructionTypeIndex = 111,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 30] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x1E,
                InstructionText = "RR (HL)",
                Param1 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 112,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 31] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x1F,
                InstructionText = "RR A",
                Param1 = Register.A,
                InstructionTypeIndex = 111,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 32] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x20,
                InstructionText = "SLA B",
                Param1 = Register.B,
                InstructionTypeIndex = 133,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 33] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x21,
                InstructionText = "SLA C",
                Param1 = Register.C,
                InstructionTypeIndex = 133,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 34] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x22,
                InstructionText = "SLA D",
                Param1 = Register.D,
                InstructionTypeIndex = 133,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 35] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x23,
                InstructionText = "SLA E",
                Param1 = Register.E,
                InstructionTypeIndex = 133,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 36] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x24,
                InstructionText = "SLA H",
                Param1 = Register.H,
                InstructionTypeIndex = 133,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 37] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x25,
                InstructionText = "SLA L",
                Param1 = Register.L,
                InstructionTypeIndex = 133,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 38] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x26,
                InstructionText = "SLA (HL)",
                Param1 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 134,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 39] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x27,
                InstructionText = "SLA A",
                Param1 = Register.A,
                InstructionTypeIndex = 133,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 40] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x28,
                InstructionText = "SRA B",
                Param1 = Register.B,
                InstructionTypeIndex = 141,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 41] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x29,
                InstructionText = "SRA C",
                Param1 = Register.C,
                InstructionTypeIndex = 141,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 42] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x2A,
                InstructionText = "SRA D",
                Param1 = Register.D,
                InstructionTypeIndex = 141,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 43] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x2B,
                InstructionText = "SRA E",
                Param1 = Register.E,
                InstructionTypeIndex = 141,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 44] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x2C,
                InstructionText = "SRA H",
                Param1 = Register.H,
                InstructionTypeIndex = 141,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 45] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x2D,
                InstructionText = "SRA L",
                Param1 = Register.L,
                InstructionTypeIndex = 141,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 46] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x2E,
                InstructionText = "SRA (HL)",
                Param1 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 142,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 47] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x2F,
                InstructionText = "SRA A",
                Param1 = Register.A,
                InstructionTypeIndex = 141,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 48] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x30,
                InstructionText = "SLL B",
                Param1 = Register.B,
                InstructionTypeIndex = 137,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 49] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x31,
                InstructionText = "SLL C",
                Param1 = Register.C,
                InstructionTypeIndex = 137,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 50] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x32,
                InstructionText = "SLL D",
                Param1 = Register.D,
                InstructionTypeIndex = 137,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 51] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x33,
                InstructionText = "SLL E",
                Param1 = Register.E,
                InstructionTypeIndex = 137,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 52] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x34,
                InstructionText = "SLL H",
                Param1 = Register.H,
                InstructionTypeIndex = 137,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 53] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x35,
                InstructionText = "SLL L",
                Param1 = Register.L,
                InstructionTypeIndex = 137,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 54] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x36,
                InstructionText = "SLL (HL)",
                Param1 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 138,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 55] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x37,
                InstructionText = "SLL A",
                Param1 = Register.A,
                InstructionTypeIndex = 137,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 56] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x38,
                InstructionText = "SRL B",
                Param1 = Register.B,
                InstructionTypeIndex = 145,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 57] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x39,
                InstructionText = "SRL C",
                Param1 = Register.C,
                InstructionTypeIndex = 145,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 58] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x3A,
                InstructionText = "SRL D",
                Param1 = Register.D,
                InstructionTypeIndex = 145,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 59] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x3B,
                InstructionText = "SRL E",
                Param1 = Register.E,
                InstructionTypeIndex = 145,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 60] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x3C,
                InstructionText = "SRL H",
                Param1 = Register.H,
                InstructionTypeIndex = 145,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 61] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x3D,
                InstructionText = "SRL L",
                Param1 = Register.L,
                InstructionTypeIndex = 145,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 62] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x3E,
                InstructionText = "SRL (HL)",
                Param1 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 146,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 63] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x3F,
                InstructionText = "SRL A",
                Param1 = Register.A,
                InstructionTypeIndex = 145,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 64] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x40,
                InstructionText = "BIT 0,B",
                Param1 = Bit.b0,
                Param2 = Register.B,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 65] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x41,
                InstructionText = "BIT 0,C",
                Param1 = Bit.b0,
                Param2 = Register.C,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 66] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x42,
                InstructionText = "BIT 0,D",
                Param1 = Bit.b0,
                Param2 = Register.D,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 67] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x43,
                InstructionText = "BIT 0,E",
                Param1 = Bit.b0,
                Param2 = Register.E,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 68] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x44,
                InstructionText = "BIT 0,H",
                Param1 = Bit.b0,
                Param2 = Register.H,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 69] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x45,
                InstructionText = "BIT 0,L",
                Param1 = Bit.b0,
                Param2 = Register.L,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 70] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x46,
                InstructionText = "BIT 0,(HL)",
                Param1 = Bit.b0,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 16,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 71] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x47,
                InstructionText = "BIT 0,A",
                Param1 = Bit.b0,
                Param2 = Register.A,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 72] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x48,
                InstructionText = "BIT 1,B",
                Param1 = Bit.b1,
                Param2 = Register.B,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 73] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x49,
                InstructionText = "BIT 1,C",
                Param1 = Bit.b1,
                Param2 = Register.C,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 74] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x4A,
                InstructionText = "BIT 1,D",
                Param1 = Bit.b1,
                Param2 = Register.D,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 75] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x4B,
                InstructionText = "BIT 1,E",
                Param1 = Bit.b1,
                Param2 = Register.E,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 76] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x4C,
                InstructionText = "BIT 1,H",
                Param1 = Bit.b1,
                Param2 = Register.H,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 77] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x4D,
                InstructionText = "BIT 1,L",
                Param1 = Bit.b1,
                Param2 = Register.L,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 78] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x4E,
                InstructionText = "BIT 1,(HL)",
                Param1 = Bit.b1,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 16,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 79] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x4F,
                InstructionText = "BIT 1,A",
                Param1 = Bit.b1,
                Param2 = Register.A,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 80] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x50,
                InstructionText = "BIT 2,B",
                Param1 = Bit.b2,
                Param2 = Register.B,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 81] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x51,
                InstructionText = "BIT 2,C",
                Param1 = Bit.b2,
                Param2 = Register.C,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 82] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x52,
                InstructionText = "BIT 2,D",
                Param1 = Bit.b2,
                Param2 = Register.D,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 83] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x53,
                InstructionText = "BIT 2,E",
                Param1 = Bit.b2,
                Param2 = Register.E,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 84] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x54,
                InstructionText = "BIT 2,H",
                Param1 = Bit.b2,
                Param2 = Register.H,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 85] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x55,
                InstructionText = "BIT 2,L",
                Param1 = Bit.b2,
                Param2 = Register.L,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 86] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x56,
                InstructionText = "BIT 2,(HL)",
                Param1 = Bit.b2,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 16,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 87] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x57,
                InstructionText = "BIT 2,A",
                Param1 = Bit.b2,
                Param2 = Register.A,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 88] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x58,
                InstructionText = "BIT 3,B",
                Param1 = Bit.b3,
                Param2 = Register.B,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 89] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x59,
                InstructionText = "BIT 3,C",
                Param1 = Bit.b3,
                Param2 = Register.C,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 90] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x5A,
                InstructionText = "BIT 3,D",
                Param1 = Bit.b3,
                Param2 = Register.D,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 91] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x5B,
                InstructionText = "BIT 3,E",
                Param1 = Bit.b3,
                Param2 = Register.E,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 92] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x5C,
                InstructionText = "BIT 3,H",
                Param1 = Bit.b3,
                Param2 = Register.H,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 93] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x5D,
                InstructionText = "BIT 3,L",
                Param1 = Bit.b3,
                Param2 = Register.L,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 94] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x5E,
                InstructionText = "BIT 3,(HL)",
                Param1 = Bit.b3,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 16,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 95] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x5F,
                InstructionText = "BIT 3,A",
                Param1 = Bit.b3,
                Param2 = Register.A,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 96] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x60,
                InstructionText = "BIT 4,B",
                Param1 = Bit.b4,
                Param2 = Register.B,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 97] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x61,
                InstructionText = "BIT 4,C",
                Param1 = Bit.b4,
                Param2 = Register.C,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 98] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x62,
                InstructionText = "BIT 4,D",
                Param1 = Bit.b4,
                Param2 = Register.D,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 99] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x63,
                InstructionText = "BIT 4,E",
                Param1 = Bit.b4,
                Param2 = Register.E,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 100] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x64,
                InstructionText = "BIT 4,H",
                Param1 = Bit.b4,
                Param2 = Register.H,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 101] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x65,
                InstructionText = "BIT 4,L",
                Param1 = Bit.b4,
                Param2 = Register.L,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 102] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x66,
                InstructionText = "BIT 4,(HL)",
                Param1 = Bit.b4,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 16,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 103] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x67,
                InstructionText = "BIT 4,A",
                Param1 = Bit.b4,
                Param2 = Register.A,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 104] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x68,
                InstructionText = "BIT 5,B",
                Param1 = Bit.b5,
                Param2 = Register.B,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 105] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x69,
                InstructionText = "BIT 5,C",
                Param1 = Bit.b5,
                Param2 = Register.C,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 106] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x6A,
                InstructionText = "BIT 5,D",
                Param1 = Bit.b5,
                Param2 = Register.D,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 107] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x6B,
                InstructionText = "BIT 5,E",
                Param1 = Bit.b5,
                Param2 = Register.E,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 108] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x6C,
                InstructionText = "BIT 5,H",
                Param1 = Bit.b5,
                Param2 = Register.H,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 109] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x6D,
                InstructionText = "BIT 5,L",
                Param1 = Bit.b5,
                Param2 = Register.L,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 110] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x6E,
                InstructionText = "BIT 5,(HL)",
                Param1 = Bit.b5,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 16,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 111] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x6F,
                InstructionText = "BIT 5,A",
                Param1 = Bit.b5,
                Param2 = Register.A,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 112] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x70,
                InstructionText = "BIT 6,B",
                Param1 = Bit.b6,
                Param2 = Register.B,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 113] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x71,
                InstructionText = "BIT 6,C",
                Param1 = Bit.b6,
                Param2 = Register.C,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 114] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x72,
                InstructionText = "BIT 6,D",
                Param1 = Bit.b6,
                Param2 = Register.D,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 115] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x73,
                InstructionText = "BIT 6,E",
                Param1 = Bit.b6,
                Param2 = Register.E,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 116] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x74,
                InstructionText = "BIT 6,H",
                Param1 = Bit.b6,
                Param2 = Register.H,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 117] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x75,
                InstructionText = "BIT 6,L",
                Param1 = Bit.b6,
                Param2 = Register.L,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 118] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x76,
                InstructionText = "BIT 6,(HL)",
                Param1 = Bit.b6,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 16,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 119] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x77,
                InstructionText = "BIT 6,A",
                Param1 = Bit.b6,
                Param2 = Register.A,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 120] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x78,
                InstructionText = "BIT 7,B",
                Param1 = Bit.b7,
                Param2 = Register.B,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 121] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x79,
                InstructionText = "BIT 7,C",
                Param1 = Bit.b7,
                Param2 = Register.C,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 122] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x7A,
                InstructionText = "BIT 7,D",
                Param1 = Bit.b7,
                Param2 = Register.D,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 123] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x7B,
                InstructionText = "BIT 7,E",
                Param1 = Bit.b7,
                Param2 = Register.E,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 124] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x7C,
                InstructionText = "BIT 7,H",
                Param1 = Bit.b7,
                Param2 = Register.H,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 125] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x7D,
                InstructionText = "BIT 7,L",
                Param1 = Bit.b7,
                Param2 = Register.L,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 126] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x7E,
                InstructionText = "BIT 7,(HL)",
                Param1 = Bit.b7,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 16,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 127] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x7F,
                InstructionText = "BIT 7,A",
                Param1 = Bit.b7,
                Param2 = Register.A,
                InstructionTypeIndex = 15,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 128] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x80,
                InstructionText = "RES 0,B",
                Param1 = Bit.b0,
                Param2 = Register.B,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 129] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x81,
                InstructionText = "RES 0,C",
                Param1 = Bit.b0,
                Param2 = Register.C,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 130] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x82,
                InstructionText = "RES 0,D",
                Param1 = Bit.b0,
                Param2 = Register.D,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 131] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x83,
                InstructionText = "RES 0,E",
                Param1 = Bit.b0,
                Param2 = Register.E,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 132] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x84,
                InstructionText = "RES 0,H",
                Param1 = Bit.b0,
                Param2 = Register.H,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 133] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x85,
                InstructionText = "RES 0,L",
                Param1 = Bit.b0,
                Param2 = Register.L,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 134] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x86,
                InstructionText = "RES 0,(HL)",
                Param1 = Bit.b0,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 93,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 135] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x87,
                InstructionText = "RES 0,A",
                Param1 = Bit.b0,
                Param2 = Register.A,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 136] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x88,
                InstructionText = "RES 1,B",
                Param1 = Bit.b1,
                Param2 = Register.B,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 137] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x89,
                InstructionText = "RES 1,C",
                Param1 = Bit.b1,
                Param2 = Register.C,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 138] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x8A,
                InstructionText = "RES 1,D",
                Param1 = Bit.b1,
                Param2 = Register.D,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 139] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x8B,
                InstructionText = "RES 1,E",
                Param1 = Bit.b1,
                Param2 = Register.E,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 140] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x8C,
                InstructionText = "RES 1,H",
                Param1 = Bit.b1,
                Param2 = Register.H,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 141] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x8D,
                InstructionText = "RES 1,L",
                Param1 = Bit.b1,
                Param2 = Register.L,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 142] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x8E,
                InstructionText = "RES 1,(HL)",
                Param1 = Bit.b1,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 93,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 143] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x8F,
                InstructionText = "RES 1,A",
                Param1 = Bit.b1,
                Param2 = Register.A,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 144] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x90,
                InstructionText = "RES 2,B",
                Param1 = Bit.b2,
                Param2 = Register.B,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 145] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x91,
                InstructionText = "RES 2,C",
                Param1 = Bit.b2,
                Param2 = Register.C,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 146] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x92,
                InstructionText = "RES 2,D",
                Param1 = Bit.b2,
                Param2 = Register.D,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 147] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x93,
                InstructionText = "RES 2,E",
                Param1 = Bit.b2,
                Param2 = Register.E,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 148] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x94,
                InstructionText = "RES 2,H",
                Param1 = Bit.b2,
                Param2 = Register.H,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 149] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x95,
                InstructionText = "RES 2,L",
                Param1 = Bit.b2,
                Param2 = Register.L,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 150] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x96,
                InstructionText = "RES 2,(HL)",
                Param1 = Bit.b2,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 93,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 151] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x97,
                InstructionText = "RES 2,A",
                Param1 = Bit.b2,
                Param2 = Register.A,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 152] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x98,
                InstructionText = "RES 3,B",
                Param1 = Bit.b3,
                Param2 = Register.B,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 153] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x99,
                InstructionText = "RES 3,C",
                Param1 = Bit.b3,
                Param2 = Register.C,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 154] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x9A,
                InstructionText = "RES 3,D",
                Param1 = Bit.b3,
                Param2 = Register.D,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 155] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x9B,
                InstructionText = "RES 3,E",
                Param1 = Bit.b3,
                Param2 = Register.E,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 156] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x9C,
                InstructionText = "RES 3,H",
                Param1 = Bit.b3,
                Param2 = Register.H,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 157] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x9D,
                InstructionText = "RES 3,L",
                Param1 = Bit.b3,
                Param2 = Register.L,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 158] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x9E,
                InstructionText = "RES 3,(HL)",
                Param1 = Bit.b3,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 93,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 159] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0x9F,
                InstructionText = "RES 3,A",
                Param1 = Bit.b3,
                Param2 = Register.A,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 160] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xA0,
                InstructionText = "RES 4,B",
                Param1 = Bit.b4,
                Param2 = Register.B,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 161] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xA1,
                InstructionText = "RES 4,C",
                Param1 = Bit.b4,
                Param2 = Register.C,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 162] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xA2,
                InstructionText = "RES 4,D",
                Param1 = Bit.b4,
                Param2 = Register.D,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 163] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xA3,
                InstructionText = "RES 4,E",
                Param1 = Bit.b4,
                Param2 = Register.E,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 164] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xA4,
                InstructionText = "RES 4,H",
                Param1 = Bit.b4,
                Param2 = Register.H,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 165] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xA5,
                InstructionText = "RES 4,L",
                Param1 = Bit.b4,
                Param2 = Register.L,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 166] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xA6,
                InstructionText = "RES 4,(HL)",
                Param1 = Bit.b4,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 93,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 167] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xA7,
                InstructionText = "RES 4,A",
                Param1 = Bit.b4,
                Param2 = Register.A,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 168] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xA8,
                InstructionText = "RES 5,B",
                Param1 = Bit.b5,
                Param2 = Register.B,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 169] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xA9,
                InstructionText = "RES 5,C",
                Param1 = Bit.b5,
                Param2 = Register.C,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 170] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xAA,
                InstructionText = "RES 5,D",
                Param1 = Bit.b5,
                Param2 = Register.D,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 171] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xAB,
                InstructionText = "RES 5,E",
                Param1 = Bit.b5,
                Param2 = Register.E,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 172] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xAC,
                InstructionText = "RES 5,H",
                Param1 = Bit.b5,
                Param2 = Register.H,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 173] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xAD,
                InstructionText = "RES 5,L",
                Param1 = Bit.b5,
                Param2 = Register.L,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 174] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xAE,
                InstructionText = "RES 5,(HL)",
                Param1 = Bit.b5,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 93,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 175] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xAF,
                InstructionText = "RES 5,A",
                Param1 = Bit.b5,
                Param2 = Register.A,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 176] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xB0,
                InstructionText = "RES 6,B",
                Param1 = Bit.b6,
                Param2 = Register.B,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 177] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xB1,
                InstructionText = "RES 6,C",
                Param1 = Bit.b6,
                Param2 = Register.C,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 178] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xB2,
                InstructionText = "RES 6,D",
                Param1 = Bit.b6,
                Param2 = Register.D,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 179] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xB3,
                InstructionText = "RES 6,E",
                Param1 = Bit.b6,
                Param2 = Register.E,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 180] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xB4,
                InstructionText = "RES 6,H",
                Param1 = Bit.b6,
                Param2 = Register.H,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 181] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xB5,
                InstructionText = "RES 6,L",
                Param1 = Bit.b6,
                Param2 = Register.L,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 182] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xB6,
                InstructionText = "RES 6,(HL)",
                Param1 = Bit.b6,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 93,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 183] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xB7,
                InstructionText = "RES 6,A",
                Param1 = Bit.b6,
                Param2 = Register.A,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 184] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xB8,
                InstructionText = "RES 7,B",
                Param1 = Bit.b7,
                Param2 = Register.B,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 185] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xB9,
                InstructionText = "RES 7,C",
                Param1 = Bit.b7,
                Param2 = Register.C,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 186] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xBA,
                InstructionText = "RES 7,D",
                Param1 = Bit.b7,
                Param2 = Register.D,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 187] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xBB,
                InstructionText = "RES 7,E",
                Param1 = Bit.b7,
                Param2 = Register.E,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 188] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xBC,
                InstructionText = "RES 7,H",
                Param1 = Bit.b7,
                Param2 = Register.H,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 189] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xBD,
                InstructionText = "RES 7,L",
                Param1 = Bit.b7,
                Param2 = Register.L,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 190] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xBE,
                InstructionText = "RES 7,(HL)",
                Param1 = Bit.b7,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 93,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 191] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xBF,
                InstructionText = "RES 7,A",
                Param1 = Bit.b7,
                Param2 = Register.A,
                InstructionTypeIndex = 92,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 192] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xC0,
                InstructionText = "SET 0,B",
                Param1 = Bit.b0,
                Param2 = Register.B,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 193] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xC1,
                InstructionText = "SET 0,C",
                Param1 = Bit.b0,
                Param2 = Register.C,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 194] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xC2,
                InstructionText = "SET 0,D",
                Param1 = Bit.b0,
                Param2 = Register.D,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 195] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xC3,
                InstructionText = "SET 0,E",
                Param1 = Bit.b0,
                Param2 = Register.E,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 196] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xC4,
                InstructionText = "SET 0,H",
                Param1 = Bit.b0,
                Param2 = Register.H,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 197] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xC5,
                InstructionText = "SET 0,L",
                Param1 = Bit.b0,
                Param2 = Register.L,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 198] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xC6,
                InstructionText = "SET 0,(HL)",
                Param1 = Bit.b0,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 130,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 199] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xC7,
                InstructionText = "SET 0,A",
                Param1 = Bit.b0,
                Param2 = Register.A,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 200] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xC8,
                InstructionText = "SET 1,B",
                Param1 = Bit.b1,
                Param2 = Register.B,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 201] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xC9,
                InstructionText = "SET 1,C",
                Param1 = Bit.b1,
                Param2 = Register.C,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 202] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xCA,
                InstructionText = "SET 1,D",
                Param1 = Bit.b1,
                Param2 = Register.D,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 203] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xCB,
                InstructionText = "SET 1,E",
                Param1 = Bit.b1,
                Param2 = Register.E,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 204] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xCC,
                InstructionText = "SET 1,H",
                Param1 = Bit.b1,
                Param2 = Register.H,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 205] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xCD,
                InstructionText = "SET 1,L",
                Param1 = Bit.b1,
                Param2 = Register.L,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 206] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xCE,
                InstructionText = "SET 1,(HL)",
                Param1 = Bit.b1,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 130,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 207] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xCF,
                InstructionText = "SET 1,A",
                Param1 = Bit.b1,
                Param2 = Register.A,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 208] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xD0,
                InstructionText = "SET 2,B",
                Param1 = Bit.b2,
                Param2 = Register.B,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 209] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xD1,
                InstructionText = "SET 2,C",
                Param1 = Bit.b2,
                Param2 = Register.C,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 210] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xD2,
                InstructionText = "SET 2,D",
                Param1 = Bit.b2,
                Param2 = Register.D,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 211] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xD3,
                InstructionText = "SET 2,E",
                Param1 = Bit.b2,
                Param2 = Register.E,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 212] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xD4,
                InstructionText = "SET 2,H",
                Param1 = Bit.b2,
                Param2 = Register.H,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 213] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xD5,
                InstructionText = "SET 2,L",
                Param1 = Bit.b2,
                Param2 = Register.L,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 214] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xD6,
                InstructionText = "SET 2,(HL)",
                Param1 = Bit.b2,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 130,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 215] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xD7,
                InstructionText = "SET 2,A",
                Param1 = Bit.b2,
                Param2 = Register.A,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 216] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xD8,
                InstructionText = "SET 3,B",
                Param1 = Bit.b3,
                Param2 = Register.B,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 217] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xD9,
                InstructionText = "SET 3,C",
                Param1 = Bit.b3,
                Param2 = Register.C,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 218] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xDA,
                InstructionText = "SET 3,D",
                Param1 = Bit.b3,
                Param2 = Register.D,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 219] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xDB,
                InstructionText = "SET 3,E",
                Param1 = Bit.b3,
                Param2 = Register.E,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 220] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xDC,
                InstructionText = "SET 3,H",
                Param1 = Bit.b3,
                Param2 = Register.H,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 221] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xDD,
                InstructionText = "SET 3,L",
                Param1 = Bit.b3,
                Param2 = Register.L,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 222] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xDE,
                InstructionText = "SET 3,(HL)",
                Param1 = Bit.b3,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 130,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 223] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xDF,
                InstructionText = "SET 3,A",
                Param1 = Bit.b3,
                Param2 = Register.A,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 224] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xE0,
                InstructionText = "SET 4,B",
                Param1 = Bit.b4,
                Param2 = Register.B,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 225] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xE1,
                InstructionText = "SET 4,C",
                Param1 = Bit.b4,
                Param2 = Register.C,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 226] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xE2,
                InstructionText = "SET 4,D",
                Param1 = Bit.b4,
                Param2 = Register.D,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 227] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xE3,
                InstructionText = "SET 4,E",
                Param1 = Bit.b4,
                Param2 = Register.E,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 228] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xE4,
                InstructionText = "SET 4,H",
                Param1 = Bit.b4,
                Param2 = Register.H,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 229] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xE5,
                InstructionText = "SET 4,L",
                Param1 = Bit.b4,
                Param2 = Register.L,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 230] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xE6,
                InstructionText = "SET 4,(HL)",
                Param1 = Bit.b4,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 130,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 231] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xE7,
                InstructionText = "SET 4,A",
                Param1 = Bit.b4,
                Param2 = Register.A,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 232] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xE8,
                InstructionText = "SET 5,B",
                Param1 = Bit.b5,
                Param2 = Register.B,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 233] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xE9,
                InstructionText = "SET 5,C",
                Param1 = Bit.b5,
                Param2 = Register.C,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 234] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xEA,
                InstructionText = "SET 5,D",
                Param1 = Bit.b5,
                Param2 = Register.D,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 235] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xEB,
                InstructionText = "SET 5,E",
                Param1 = Bit.b5,
                Param2 = Register.E,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 236] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xEC,
                InstructionText = "SET 5,H",
                Param1 = Bit.b5,
                Param2 = Register.H,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 237] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xED,
                InstructionText = "SET 5,L",
                Param1 = Bit.b5,
                Param2 = Register.L,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 238] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xEE,
                InstructionText = "SET 5,(HL)",
                Param1 = Bit.b5,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 130,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 239] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xEF,
                InstructionText = "SET 5,A",
                Param1 = Bit.b5,
                Param2 = Register.A,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 240] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xF0,
                InstructionText = "SET 6,B",
                Param1 = Bit.b6,
                Param2 = Register.B,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 241] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xF1,
                InstructionText = "SET 6,C",
                Param1 = Bit.b6,
                Param2 = Register.C,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 242] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xF2,
                InstructionText = "SET 6,D",
                Param1 = Bit.b6,
                Param2 = Register.D,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 243] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xF3,
                InstructionText = "SET 6,E",
                Param1 = Bit.b6,
                Param2 = Register.E,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 244] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xF4,
                InstructionText = "SET 6,H",
                Param1 = Bit.b6,
                Param2 = Register.H,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 245] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xF5,
                InstructionText = "SET 6,L",
                Param1 = Bit.b6,
                Param2 = Register.L,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 246] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xF6,
                InstructionText = "SET 6,(HL)",
                Param1 = Bit.b6,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 130,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 247] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xF7,
                InstructionText = "SET 6,A",
                Param1 = Bit.b6,
                Param2 = Register.A,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 248] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xF8,
                InstructionText = "SET 7,B",
                Param1 = Bit.b7,
                Param2 = Register.B,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 249] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xF9,
                InstructionText = "SET 7,C",
                Param1 = Bit.b7,
                Param2 = Register.C,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 250] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xFA,
                InstructionText = "SET 7,D",
                Param1 = Bit.b7,
                Param2 = Register.D,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 251] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xFB,
                InstructionText = "SET 7,E",
                Param1 = Bit.b7,
                Param2 = Register.E,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 252] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xFC,
                InstructionText = "SET 7,H",
                Param1 = Bit.b7,
                Param2 = Register.H,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 253] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xFD,
                InstructionText = "SET 7,L",
                Param1 = Bit.b7,
                Param2 = Register.L,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 254] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xFE,
                InstructionText = "SET 7,(HL)",
                Param1 = Bit.b7,
                Param2 = AddressRegisterIndirect.HL,
                InstructionTypeIndex = 130,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[1, 255] = new InstructionCode()
            {
                Prefix = new byte[] { 0xCB },
                OpCode = 0xFF,
                InstructionText = "SET 7,A",
                Param1 = Bit.b7,
                Param2 = Register.A,
                InstructionTypeIndex = 129,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 0] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x00,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 1] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x01,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 2] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x02,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 3] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x03,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 4] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x04,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 5] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x05,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 6] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x06,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 7] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x07,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 8] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x08,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 9] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x09,
                InstructionText = "ADD IX,BC",
                Param1 = Register16.IX,
                Param2 = Register16.BC,
                InstructionTypeIndex = 10,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 10] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x0A,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 11] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x0B,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 12] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x0C,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 13] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x0D,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 14] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x0E,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 15] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x0F,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 16] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x10,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 17] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x11,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 18] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x12,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 19] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x13,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 20] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x14,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 21] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x15,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 22] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x16,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 23] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x17,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 24] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x18,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 25] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x19,
                InstructionText = "ADD IX,DE",
                Param1 = Register16.IX,
                Param2 = Register16.DE,
                InstructionTypeIndex = 10,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 26] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x1A,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 27] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x1B,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 28] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x1C,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 29] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x1D,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 30] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x1E,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 31] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x1F,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 32] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x20,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 33] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x21,
                InstructionText = "LD IX,nn",
                Param1 = Register16.IX,
                Param2 = "nn",
                InstructionTypeIndex = 64,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 34] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x22,
                InstructionText = "LD (nn),IX",
                Param1 = "(nn)",
                Param2 = Register16.IX,
                InstructionTypeIndex = 68,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 35] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x23,
                InstructionText = "INC IX",
                Param1 = Register16.IX,
                InstructionTypeIndex = 49,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 36] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x24,
                InstructionText = "INC IXh",
                Param1 = Register.IXh,
                InstructionTypeIndex = 46,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 37] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x25,
                InstructionText = "DEC IXh",
                Param1 = Register.IXh,
                InstructionTypeIndex = 31,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 38] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x26,
                InstructionText = "LD IXh,n",
                Param1 = Register.IXh,
                Param2 = "n",
                InstructionTypeIndex = 59,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 39] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x27,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 40] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x28,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 41] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x29,
                InstructionText = "ADD IX,IX",
                Param1 = Register16.IX,
                Param2 = Register16.IX,
                InstructionTypeIndex = 10,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 42] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x2A,
                InstructionText = "LD IX,(nn)",
                Param1 = Register16.IX,
                Param2 = "(nn)",
                InstructionTypeIndex = 66,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 43] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x2B,
                InstructionText = "DEC IX",
                Param1 = Register16.IX,
                InstructionTypeIndex = 34,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 44] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x2C,
                InstructionText = "INC IXl",
                Param1 = Register.IXl,
                InstructionTypeIndex = 46,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 45] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x2D,
                InstructionText = "DEC IXl",
                Param1 = Register.IXl,
                InstructionTypeIndex = 31,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 46] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x2E,
                InstructionText = "LD IXl,n",
                Param1 = Register.IXl,
                Param2 = "n",
                InstructionTypeIndex = 59,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 47] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x2F,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 48] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x30,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 49] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x31,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 50] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x32,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 51] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x33,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 52] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x34,
                InstructionText = "INC (IX+d)",
                Param1 = AddressIndexBase.IX,
                InstructionTypeIndex = 48,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 53] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x35,
                InstructionText = "DEC (IX+d)",
                Param1 = AddressIndexBase.IX,
                InstructionTypeIndex = 33,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 54] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x36,
                InstructionText = "LD (IX+d),n",
                Param1 = AddressIndexBase.IX,
                Param2 = "n",
                InstructionTypeIndex = 71,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 55] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x37,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 56] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x38,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 57] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x39,
                InstructionText = "ADD IX,SP",
                Param1 = Register16.IX,
                Param2 = Register16.SP,
                InstructionTypeIndex = 10,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 58] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x3A,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 59] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x3B,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 60] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x3C,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 61] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x3D,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 62] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x3E,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 63] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x3F,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 64] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x40,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 65] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x41,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 66] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x42,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 67] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x43,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 68] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x44,
                InstructionText = "LD B,IXh",
                Param1 = Register.B,
                Param2 = Register.IXh,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 69] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x45,
                InstructionText = "LD B,IXl",
                Param1 = Register.B,
                Param2 = Register.IXl,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 70] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x46,
                InstructionText = "LD B,(IX+d)",
                Param1 = Register.B,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 63,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 71] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x47,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 72] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x48,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 73] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x49,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 74] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x4A,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 75] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x4B,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 76] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x4C,
                InstructionText = "LD C,IXh",
                Param1 = Register.C,
                Param2 = Register.IXh,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 77] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x4D,
                InstructionText = "LD C,IXl",
                Param1 = Register.C,
                Param2 = Register.IXl,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 78] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x4E,
                InstructionText = "LD C,(IX+d)",
                Param1 = Register.C,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 63,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 79] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x4F,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 80] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x50,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 81] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x51,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 82] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x52,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 83] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x53,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 84] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x54,
                InstructionText = "LD D,IXh",
                Param1 = Register.D,
                Param2 = Register.IXh,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 85] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x55,
                InstructionText = "LD D,IXl",
                Param1 = Register.D,
                Param2 = Register.IXl,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 86] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x56,
                InstructionText = "LD D,(IX+d)",
                Param1 = Register.D,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 63,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 87] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x57,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 88] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x58,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 89] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x59,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 90] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x5A,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 91] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x5B,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 92] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x5C,
                InstructionText = "LD E,IXh",
                Param1 = Register.E,
                Param2 = Register.IXh,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 93] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x5D,
                InstructionText = "LD E,IXl",
                Param1 = Register.E,
                Param2 = Register.IXl,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 94] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x5E,
                InstructionText = "LD E,(IX+d)",
                Param1 = Register.E,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 63,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 95] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x5F,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 96] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x60,
                InstructionText = "LD IXh,B",
                Param1 = Register.IXh,
                Param2 = Register.B,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 2,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 97] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x61,
                InstructionText = "LD IXh,C",
                Param1 = Register.IXh,
                Param2 = Register.C,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 2,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 98] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x62,
                InstructionText = "LD IXh,D",
                Param1 = Register.IXh,
                Param2 = Register.D,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 2,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 99] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x63,
                InstructionText = "LD IXh,E",
                Param1 = Register.IXh,
                Param2 = Register.E,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 2,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 100] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x64,
                InstructionText = "LD IXh,IXh",
                Param1 = Register.IXh,
                Param2 = Register.IXh,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 3,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 101] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x65,
                InstructionText = "LD IXh,IXl",
                Param1 = Register.IXh,
                Param2 = Register.IXl,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 3,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 102] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x66,
                InstructionText = "LD H,(IX+d)",
                Param1 = Register.H,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 63,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 103] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x67,
                InstructionText = "LD IXh,A",
                Param1 = Register.IXh,
                Param2 = Register.A,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 2,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 104] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x68,
                InstructionText = "LD IXl,B",
                Param1 = Register.IXl,
                Param2 = Register.B,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 2,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 105] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x69,
                InstructionText = "LD IXl,C",
                Param1 = Register.IXl,
                Param2 = Register.C,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 2,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 106] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x6A,
                InstructionText = "LD IXl,D",
                Param1 = Register.IXl,
                Param2 = Register.D,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 2,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 107] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x6B,
                InstructionText = "LD IXl,E",
                Param1 = Register.IXl,
                Param2 = Register.E,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 2,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 108] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x6C,
                InstructionText = "LD IXl,IXh",
                Param1 = Register.IXl,
                Param2 = Register.IXh,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 3,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 109] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x6D,
                InstructionText = "LD IXl,IXl",
                Param1 = Register.IXl,
                Param2 = Register.IXl,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 3,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 110] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x6E,
                InstructionText = "LD L,(IX+d)",
                Param1 = Register.L,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 63,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 111] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x6F,
                InstructionText = "LD IXl,A",
                Param1 = Register.IXl,
                Param2 = Register.A,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 2,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 112] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x70,
                InstructionText = "LD (IX+d),B",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.B,
                InstructionTypeIndex = 72,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 113] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x71,
                InstructionText = "LD (IX+d),C",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.C,
                InstructionTypeIndex = 72,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 114] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x72,
                InstructionText = "LD (IX+d),D",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.D,
                InstructionTypeIndex = 72,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 115] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x73,
                InstructionText = "LD (IX+d),E",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.E,
                InstructionTypeIndex = 72,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 116] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x74,
                InstructionText = "LD (IX+d),H",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.H,
                InstructionTypeIndex = 72,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 117] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x75,
                InstructionText = "LD (IX+d),L",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.L,
                InstructionTypeIndex = 72,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 118] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x76,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 119] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x77,
                InstructionText = "LD (IX+d),A",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.A,
                InstructionTypeIndex = 72,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 120] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x78,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 121] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x79,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 122] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x7A,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 123] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x7B,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 124] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x7C,
                InstructionText = "LD A,IXh",
                Param1 = Register.A,
                Param2 = Register.IXh,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 125] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x7D,
                InstructionText = "LD A,IXl",
                Param1 = Register.A,
                Param2 = Register.IXl,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 126] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x7E,
                InstructionText = "LD A,(IX+d)",
                Param1 = Register.A,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 63,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 127] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x7F,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 128] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x80,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 129] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x81,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 130] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x82,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 131] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x83,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 132] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x84,
                InstructionText = "ADD A,IXh",
                Param1 = Register.A,
                Param2 = Register.IXh,
                InstructionTypeIndex = 7,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 133] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x85,
                InstructionText = "ADD A,IXl",
                Param1 = Register.A,
                Param2 = Register.IXl,
                InstructionTypeIndex = 7,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 134] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x86,
                InstructionText = "ADD A,(IX+d)",
                Param1 = Register.A,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 9,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 135] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x87,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 136] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x88,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 137] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x89,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 138] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x8A,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 139] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x8B,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 140] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x8C,
                InstructionText = "ADC A,IXh",
                Param1 = Register.A,
                Param2 = Register.IXh,
                InstructionTypeIndex = 2,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 141] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x8D,
                InstructionText = "ADC A,IXl",
                Param1 = Register.A,
                Param2 = Register.IXl,
                InstructionTypeIndex = 2,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 142] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x8E,
                InstructionText = "ADC A,(IX+d)",
                Param1 = Register.A,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 4,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 143] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x8F,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 144] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x90,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 145] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x91,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 146] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x92,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 147] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x93,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 148] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x94,
                InstructionText = "SUB IXh",
                Param1 = Register.IXh,
                InstructionTypeIndex = 150,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 149] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x95,
                InstructionText = "SUB IXl",
                Param1 = Register.IXl,
                InstructionTypeIndex = 150,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 150] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x96,
                InstructionText = "SUB (IX+d)",
                Param1 = AddressIndexBase.IX,
                InstructionTypeIndex = 152,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 151] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x97,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 152] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x98,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 153] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x99,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 154] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x9A,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 155] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x9B,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 156] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x9C,
                InstructionText = "SBC A,IXh",
                Param1 = Register.A,
                Param2 = Register.IXh,
                InstructionTypeIndex = 124,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 157] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x9D,
                InstructionText = "SBC A,IXl",
                Param1 = Register.A,
                Param2 = Register.IXl,
                InstructionTypeIndex = 124,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 158] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x9E,
                InstructionText = "SBC A,(IX+d)",
                Param1 = Register.A,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 126,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 159] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0x9F,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 160] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xA0,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 161] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xA1,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 162] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xA2,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 163] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xA3,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 164] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xA4,
                InstructionText = "AND IXh",
                Param1 = Register.IXh,
                InstructionTypeIndex = 12,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 165] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xA5,
                InstructionText = "AND IXl",
                Param1 = Register.IXl,
                InstructionTypeIndex = 12,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 166] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xA6,
                InstructionText = "AND (IX+d)",
                Param1 = AddressIndexBase.IX,
                InstructionTypeIndex = 14,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 167] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xA7,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 168] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xA8,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 169] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xA9,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 170] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xAA,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 171] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xAB,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 172] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xAC,
                InstructionText = "XOR IXh",
                Param1 = Register.IXh,
                InstructionTypeIndex = 154,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 173] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xAD,
                InstructionText = "XOR IXl",
                Param1 = Register.IXl,
                InstructionTypeIndex = 154,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 174] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xAE,
                InstructionText = "XOR (IX+d)",
                Param1 = AddressIndexBase.IX,
                InstructionTypeIndex = 156,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 175] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xAF,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 176] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xB0,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 177] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xB1,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 178] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xB2,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 179] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xB3,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 180] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xB4,
                InstructionText = "OR IXh",
                Param1 = Register.IXh,
                InstructionTypeIndex = 80,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 181] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xB5,
                InstructionText = "OR IXl",
                Param1 = Register.IXl,
                InstructionTypeIndex = 80,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 182] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xB6,
                InstructionText = "OR (IX+d)",
                Param1 = AddressIndexBase.IX,
                InstructionTypeIndex = 82,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 183] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xB7,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 184] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xB8,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 185] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xB9,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 186] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xBA,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 187] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xBB,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 188] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xBC,
                InstructionText = "CP IXh",
                Param1 = Register.IXh,
                InstructionTypeIndex = 22,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 189] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xBD,
                InstructionText = "CP IXl",
                Param1 = Register.IXl,
                InstructionTypeIndex = 22,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 190] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xBE,
                InstructionText = "CP (IX+d)",
                Param1 = AddressIndexBase.IX,
                InstructionTypeIndex = 24,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 191] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xBF,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 192] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xC0,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 193] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xC1,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 194] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xC2,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 195] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xC3,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 196] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xC4,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 197] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xC5,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 198] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xC6,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 199] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xC7,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 200] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xC8,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 201] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xC9,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 202] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xCA,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 203] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xCB,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 2,
                SwitchToTableNumber = 5
            };

            Tables[2, 204] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xCC,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 205] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xCD,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 206] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xCE,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 207] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xCF,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 208] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xD0,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 209] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xD1,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 210] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xD2,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 211] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xD3,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 212] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xD4,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 213] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xD5,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 214] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xD6,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 215] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xD7,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 216] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xD8,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 217] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xD9,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 218] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xDA,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 219] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xDB,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 220] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xDC,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 221] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xDD,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 222] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xDE,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 223] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xDF,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 224] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xE0,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 225] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xE1,
                InstructionText = "POP IX",
                Param1 = Register16.IX,
                InstructionTypeIndex = 90,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 226] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xE2,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 227] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xE3,
                InstructionText = "EX (SP),IX",
                Param1 = AddressRegisterIndirect.SP,
                Param2 = Register16.IX,
                InstructionTypeIndex = 39,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 228] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xE4,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 229] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xE5,
                InstructionText = "PUSH IX",
                Param1 = Register16.IX,
                InstructionTypeIndex = 91,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 230] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xE6,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 231] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xE7,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 232] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xE8,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 233] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xE9,
                InstructionText = "JP (IX)",
                Param1 = AddressRegisterIndirect.IX,
                InstructionTypeIndex = 55,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 234] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xEA,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 235] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xEB,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 236] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xEC,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 237] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xED,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 238] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xEE,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 239] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xEF,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 240] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xF0,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 241] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xF1,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 242] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xF2,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 243] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xF3,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 244] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xF4,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 245] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xF5,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 246] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xF6,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 247] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xF7,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 248] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xF8,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 249] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xF9,
                InstructionText = "LD SP,IX",
                Param1 = Register16.SP,
                Param2 = Register16.IX,
                InstructionTypeIndex = 65,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[2, 250] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xFA,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 251] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xFB,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 252] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xFC,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 253] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xFD,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 254] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xFE,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[2, 255] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD },
                OpCode = 0xFF,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[3, 0] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x00,
                InstructionText = "NOP[EDH 00H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 1] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x01,
                InstructionText = "NOP[EDH 01H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 2] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x02,
                InstructionText = "NOP[EDH 02H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 3] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x03,
                InstructionText = "NOP[EDH 03H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 4] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x04,
                InstructionText = "NOP[EDH 04H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 5] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x05,
                InstructionText = "NOP[EDH 05H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 6] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x06,
                InstructionText = "NOP[EDH 06H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 7] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x07,
                InstructionText = "NOP[EDH 07H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 8] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x08,
                InstructionText = "NOP[EDH 08H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 9] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x09,
                InstructionText = "NOP[EDH 09H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 10] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x0A,
                InstructionText = "NOP[EDH 0AH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 11] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x0B,
                InstructionText = "NOP[EDH 0BH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 12] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x0C,
                InstructionText = "NOP[EDH 0CH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 13] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x0D,
                InstructionText = "NOP[EDH 0DH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 14] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x0E,
                InstructionText = "NOP[EDH 0EH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 15] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x0F,
                InstructionText = "NOP[EDH 0FH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 16] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x10,
                InstructionText = "NOP[EDH 10H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 17] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x11,
                InstructionText = "NOP[EDH 11H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 18] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x12,
                InstructionText = "NOP[EDH 12H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 19] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x13,
                InstructionText = "NOP[EDH 13H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 20] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x14,
                InstructionText = "NOP[EDH 14H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 21] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x15,
                InstructionText = "NOP[EDH 15H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 22] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x16,
                InstructionText = "NOP[EDH 16H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 23] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x17,
                InstructionText = "NOP[EDH 17H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 24] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x18,
                InstructionText = "NOP[EDH 18H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 25] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x19,
                InstructionText = "NOP[EDH 19H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 26] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x1A,
                InstructionText = "NOP[EDH 1AH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 27] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x1B,
                InstructionText = "NOP[EDH 1BH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 28] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x1C,
                InstructionText = "NOP[EDH 1CH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 29] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x1D,
                InstructionText = "NOP[EDH 1DH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 30] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x1E,
                InstructionText = "NOP[EDH 1EH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 31] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x1F,
                InstructionText = "NOP[EDH 1FH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 32] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x20,
                InstructionText = "NOP[EDH 20H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 33] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x21,
                InstructionText = "NOP[EDH 21H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 34] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x22,
                InstructionText = "NOP[EDH 22H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 35] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x23,
                InstructionText = "NOP[EDH 23H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 36] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x24,
                InstructionText = "NOP[EDH 24H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 37] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x25,
                InstructionText = "NOP[EDH 25H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 38] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x26,
                InstructionText = "NOP[EDH 26H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 39] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x27,
                InstructionText = "NOP[EDH 27H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 40] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x28,
                InstructionText = "NOP[EDH 28H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 41] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x29,
                InstructionText = "NOP[EDH 29H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 42] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x2A,
                InstructionText = "NOP[EDH 2AH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 43] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x2B,
                InstructionText = "NOP[EDH 2BH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 44] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x2C,
                InstructionText = "NOP[EDH 2CH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 45] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x2D,
                InstructionText = "NOP[EDH 2DH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 46] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x2E,
                InstructionText = "NOP[EDH 2EH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 47] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x2F,
                InstructionText = "NOP[EDH 2FH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 48] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x30,
                InstructionText = "NOP[EDH 30H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 49] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x31,
                InstructionText = "NOP[EDH 31H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 50] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x32,
                InstructionText = "NOP[EDH 32H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 51] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x33,
                InstructionText = "NOP[EDH 33H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 52] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x34,
                InstructionText = "NOP[EDH 34H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 53] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x35,
                InstructionText = "NOP[EDH 35H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 54] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x36,
                InstructionText = "NOP[EDH 36H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 55] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x37,
                InstructionText = "NOP[EDH 37H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 56] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x38,
                InstructionText = "NOP[EDH 38H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 57] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x39,
                InstructionText = "NOP[EDH 39H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 58] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x3A,
                InstructionText = "NOP[EDH 3AH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 59] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x3B,
                InstructionText = "NOP[EDH 3BH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 60] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x3C,
                InstructionText = "NOP[EDH 3CH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 61] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x3D,
                InstructionText = "NOP[EDH 3DH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 62] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x3E,
                InstructionText = "NOP[EDH 3EH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 63] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x3F,
                InstructionText = "NOP[EDH 3FH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 64] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x40,
                InstructionText = "IN B,(C)",
                Param1 = Register.B,
                Param2 = IOPortRegister.C,
                InstructionTypeIndex = 44,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 65] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x41,
                InstructionText = "OUT (C),B",
                Param1 = IOPortRegister.C,
                Param2 = Register.B,
                InstructionTypeIndex = 87,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 66] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x42,
                InstructionText = "SBC HL,BC",
                Param1 = Register16.HL,
                Param2 = Register16.BC,
                InstructionTypeIndex = 127,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 67] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x43,
                InstructionText = "LD (nn),BC",
                Param1 = "(nn)",
                Param2 = Register16.BC,
                InstructionTypeIndex = 68,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 68] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x44,
                InstructionText = "NEG",
                InstructionTypeIndex = 77,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 69] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x45,
                InstructionText = "RETN",
                InstructionTypeIndex = 99,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 70] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x46,
                InstructionText = "IM 0",
                Param1 = InterruptMode.IM0,
                InstructionTypeIndex = 42,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 71] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x47,
                InstructionText = "LD I,A",
                Param1 = Register.I,
                Param2 = Register.A,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 6,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 72] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x48,
                InstructionText = "IN C,(C)",
                Param1 = Register.C,
                Param2 = IOPortRegister.C,
                InstructionTypeIndex = 44,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 73] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x49,
                InstructionText = "OUT (C),C",
                Param1 = IOPortRegister.C,
                Param2 = Register.C,
                InstructionTypeIndex = 87,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 74] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x4A,
                InstructionText = "ADC HL,BC",
                Param1 = Register16.HL,
                Param2 = Register16.BC,
                InstructionTypeIndex = 5,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 75] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x4B,
                InstructionText = "LD BC,(nn)",
                Param1 = Register16.BC,
                Param2 = "(nn)",
                InstructionTypeIndex = 66,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 76] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x4C,
                InstructionText = "NEG[EDH 4CH]",
                InstructionTypeIndex = 77,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 77] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x4D,
                InstructionText = "RETI",
                InstructionTypeIndex = 98,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 78] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x4E,
                InstructionText = "IM[EDH 4EH] 0",
                Param1 = InterruptMode.IM0,
                InstructionTypeIndex = 42,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 79] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x4F,
                InstructionText = "LD R,A",
                Param1 = Register.R,
                Param2 = Register.A,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 6,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 80] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x50,
                InstructionText = "IN D,(C)",
                Param1 = Register.D,
                Param2 = IOPortRegister.C,
                InstructionTypeIndex = 44,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 81] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x51,
                InstructionText = "OUT (C),D",
                Param1 = IOPortRegister.C,
                Param2 = Register.D,
                InstructionTypeIndex = 87,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 82] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x52,
                InstructionText = "SBC HL,DE",
                Param1 = Register16.HL,
                Param2 = Register16.DE,
                InstructionTypeIndex = 127,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 83] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x53,
                InstructionText = "LD (nn),DE",
                Param1 = "(nn)",
                Param2 = Register16.DE,
                InstructionTypeIndex = 68,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 84] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x54,
                InstructionText = "NEG[EDH 54H]",
                InstructionTypeIndex = 77,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 85] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x55,
                InstructionText = "RETN[EDH 55H]",
                InstructionTypeIndex = 99,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 86] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x56,
                InstructionText = "IM 1",
                Param1 = InterruptMode.IM1,
                InstructionTypeIndex = 42,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 87] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x57,
                InstructionText = "LD A,I",
                Param1 = Register.A,
                Param2 = Register.I,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 5,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 88] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x58,
                InstructionText = "IN E,(C)",
                Param1 = Register.E,
                Param2 = IOPortRegister.C,
                InstructionTypeIndex = 44,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 89] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x59,
                InstructionText = "OUT (C),E",
                Param1 = IOPortRegister.C,
                Param2 = Register.E,
                InstructionTypeIndex = 87,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 90] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x5A,
                InstructionText = "ADC HL,DE",
                Param1 = Register16.HL,
                Param2 = Register16.DE,
                InstructionTypeIndex = 5,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 91] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x5B,
                InstructionText = "LD DE,(nn)",
                Param1 = Register16.DE,
                Param2 = "(nn)",
                InstructionTypeIndex = 66,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 92] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x5C,
                InstructionText = "NEG[EDH 5CH]",
                InstructionTypeIndex = 77,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 93] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x5D,
                InstructionText = "RETN[EDH 5DH]",
                InstructionTypeIndex = 99,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 94] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x5E,
                InstructionText = "IM 2",
                Param1 = InterruptMode.IM2,
                InstructionTypeIndex = 42,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 95] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x5F,
                InstructionText = "LD A,R",
                Param1 = Register.A,
                Param2 = Register.R,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 5,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 96] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x60,
                InstructionText = "IN H,(C)",
                Param1 = Register.H,
                Param2 = IOPortRegister.C,
                InstructionTypeIndex = 44,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 97] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x61,
                InstructionText = "OUT (C),H",
                Param1 = IOPortRegister.C,
                Param2 = Register.H,
                InstructionTypeIndex = 87,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 98] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x62,
                InstructionText = "SBC HL,HL",
                Param1 = Register16.HL,
                Param2 = Register16.HL,
                InstructionTypeIndex = 127,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 99] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x63,
                InstructionText = "LD[EDH 63H] (nn),HL",
                Param1 = "(nn)",
                Param2 = Register16.HL,
                InstructionTypeIndex = 68,
                InstructionTypeParamVariant = 2,
                IsUndocumented = false,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 100] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x64,
                InstructionText = "NEG[EDH 64H]",
                InstructionTypeIndex = 77,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 101] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x65,
                InstructionText = "RETN[EDH 65H]",
                InstructionTypeIndex = 99,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 102] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x66,
                InstructionText = "IM[EDH 66H] 0",
                Param1 = InterruptMode.IM0,
                InstructionTypeIndex = 42,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 103] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x67,
                InstructionText = "RRD",
                InstructionTypeIndex = 121,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 104] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x68,
                InstructionText = "IN L,(C)",
                Param1 = Register.L,
                Param2 = IOPortRegister.C,
                InstructionTypeIndex = 44,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 105] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x69,
                InstructionText = "OUT (C),L",
                Param1 = IOPortRegister.C,
                Param2 = Register.L,
                InstructionTypeIndex = 87,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 106] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x6A,
                InstructionText = "ADC HL,HL",
                Param1 = Register16.HL,
                Param2 = Register16.HL,
                InstructionTypeIndex = 5,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 107] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x6B,
                InstructionText = "LD[EDH 6BH] HL,(nn)",
                Param1 = Register16.HL,
                Param2 = "(nn)",
                InstructionTypeIndex = 66,
                InstructionTypeParamVariant = 2,
                IsUndocumented = false,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 108] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x6C,
                InstructionText = "NEG[EDH 6CH]",
                InstructionTypeIndex = 77,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 109] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x6D,
                InstructionText = "RETN[EDH 6DH]",
                InstructionTypeIndex = 99,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 110] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x6E,
                InstructionText = "IM[EDH 6EH] 0",
                Param1 = InterruptMode.IM0,
                InstructionTypeIndex = 42,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 111] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x6F,
                InstructionText = "RLD",
                InstructionTypeIndex = 110,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 112] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x70,
                InstructionText = "IN F,(C)",
                Param1 = Flags.F,
                Param2 = IOPortRegister.C,
                InstructionTypeIndex = 45,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 113] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x71,
                InstructionText = "OUT (C)",
                Param1 = IOPortRegister.C,
                InstructionTypeIndex = 86,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 114] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x72,
                InstructionText = "SBC HL,SP",
                Param1 = Register16.HL,
                Param2 = Register16.SP,
                InstructionTypeIndex = 127,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 115] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x73,
                InstructionText = "LD (nn),SP",
                Param1 = "(nn)",
                Param2 = Register16.SP,
                InstructionTypeIndex = 68,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 116] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x74,
                InstructionText = "NEG[EDH 74H]",
                InstructionTypeIndex = 77,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 117] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x75,
                InstructionText = "RETN[EDH 75H]",
                InstructionTypeIndex = 99,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 118] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x76,
                InstructionText = "IM[EDH 76H] 1",
                Param1 = InterruptMode.IM1,
                InstructionTypeIndex = 42,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 119] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x77,
                InstructionText = "NOP[EDH 77H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 120] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x78,
                InstructionText = "IN A,(C)",
                Param1 = Register.A,
                Param2 = IOPortRegister.C,
                InstructionTypeIndex = 44,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 121] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x79,
                InstructionText = "OUT (C),A",
                Param1 = IOPortRegister.C,
                Param2 = Register.A,
                InstructionTypeIndex = 87,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 122] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x7A,
                InstructionText = "ADC HL,SP",
                Param1 = Register16.HL,
                Param2 = Register16.SP,
                InstructionTypeIndex = 5,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 123] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x7B,
                InstructionText = "LD SP,(nn)",
                Param1 = Register16.SP,
                Param2 = "(nn)",
                InstructionTypeIndex = 66,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 124] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x7C,
                InstructionText = "NEG[EDH 7CH]",
                InstructionTypeIndex = 77,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 125] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x7D,
                InstructionText = "RETN[EDH 7DH]",
                InstructionTypeIndex = 99,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 126] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x7E,
                InstructionText = "IM[EDH 7EH] 2",
                Param1 = InterruptMode.IM2,
                InstructionTypeIndex = 42,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 127] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x7F,
                InstructionText = "NOP[EDH 7FH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 128] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x80,
                InstructionText = "NOP[EDH 80H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 129] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x81,
                InstructionText = "NOP[EDH 81H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 130] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x82,
                InstructionText = "NOP[EDH 82H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 131] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x83,
                InstructionText = "NOP[EDH 83H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 132] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x84,
                InstructionText = "NOP[EDH 84H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 133] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x85,
                InstructionText = "NOP[EDH 85H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 134] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x86,
                InstructionText = "NOP[EDH 86H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 135] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x87,
                InstructionText = "NOP[EDH 87H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 136] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x88,
                InstructionText = "NOP[EDH 88H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 137] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x89,
                InstructionText = "NOP[EDH 89H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 138] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x8A,
                InstructionText = "NOP[EDH 8AH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 139] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x8B,
                InstructionText = "NOP[EDH 8BH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 140] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x8C,
                InstructionText = "NOP[EDH 8CH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 141] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x8D,
                InstructionText = "NOP[EDH 8DH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 142] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x8E,
                InstructionText = "NOP[EDH 8EH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 143] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x8F,
                InstructionText = "NOP[EDH 8FH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 144] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x90,
                InstructionText = "NOP[EDH 90H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 145] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x91,
                InstructionText = "NOP[EDH 91H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 146] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x92,
                InstructionText = "NOP[EDH 92H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 147] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x93,
                InstructionText = "NOP[EDH 93H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 148] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x94,
                InstructionText = "NOP[EDH 94H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 149] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x95,
                InstructionText = "NOP[EDH 95H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 150] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x96,
                InstructionText = "NOP[EDH 96H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 151] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x97,
                InstructionText = "NOP[EDH 97H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 152] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x98,
                InstructionText = "NOP[EDH 98H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 153] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x99,
                InstructionText = "NOP[EDH 99H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 154] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x9A,
                InstructionText = "NOP[EDH 9AH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 155] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x9B,
                InstructionText = "NOP[EDH 9BH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 156] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x9C,
                InstructionText = "NOP[EDH 9CH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 157] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x9D,
                InstructionText = "NOP[EDH 9DH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 158] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x9E,
                InstructionText = "NOP[EDH 9EH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 159] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0x9F,
                InstructionText = "NOP[EDH 9FH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 160] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xA0,
                InstructionText = "LDI",
                InstructionTypeIndex = 75,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 161] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xA1,
                InstructionText = "CPI",
                InstructionTypeIndex = 27,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 162] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xA2,
                InstructionText = "INI",
                InstructionTypeIndex = 52,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 163] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xA3,
                InstructionText = "OUTI",
                InstructionTypeIndex = 89,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 164] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xA4,
                InstructionText = "NOP[EDH A4H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 165] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xA5,
                InstructionText = "NOP[EDH A5H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 166] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xA6,
                InstructionText = "NOP[EDH A6H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 167] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xA7,
                InstructionText = "NOP[EDH A7H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 168] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xA8,
                InstructionText = "LDD",
                InstructionTypeIndex = 73,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 169] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xA9,
                InstructionText = "CPD",
                InstructionTypeIndex = 25,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 170] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xAA,
                InstructionText = "IND",
                InstructionTypeIndex = 50,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 171] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xAB,
                InstructionText = "OUTD",
                InstructionTypeIndex = 88,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 172] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xAC,
                InstructionText = "NOP[EDH ACH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 173] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xAD,
                InstructionText = "NOP[EDH ADH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 174] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xAE,
                InstructionText = "NOP[EDH AEH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 175] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xAF,
                InstructionText = "NOP[EDH AFH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 176] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xB0,
                InstructionText = "LDIR",
                InstructionTypeIndex = 76,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 177] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xB1,
                InstructionText = "CPIR",
                InstructionTypeIndex = 28,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 178] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xB2,
                InstructionText = "INIR",
                InstructionTypeIndex = 53,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 179] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xB3,
                InstructionText = "OTIR",
                InstructionTypeIndex = 84,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 180] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xB4,
                InstructionText = "NOP[EDH B4H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 181] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xB5,
                InstructionText = "NOP[EDH B5H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 182] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xB6,
                InstructionText = "NOP[EDH B6H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 183] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xB7,
                InstructionText = "NOP[EDH B7H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 184] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xB8,
                InstructionText = "LDDR",
                InstructionTypeIndex = 74,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 185] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xB9,
                InstructionText = "CPDR",
                InstructionTypeIndex = 26,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 186] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xBA,
                InstructionText = "INDR",
                InstructionTypeIndex = 51,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 187] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xBB,
                InstructionText = "OTDR",
                InstructionTypeIndex = 83,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 188] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xBC,
                InstructionText = "NOP[EDH BCH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 189] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xBD,
                InstructionText = "NOP[EDH BDH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 190] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xBE,
                InstructionText = "NOP[EDH BEH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 191] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xBF,
                InstructionText = "NOP[EDH BFH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 192] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xC0,
                InstructionText = "NOP[EDH C0H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 193] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xC1,
                InstructionText = "NOP[EDH C1H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 194] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xC2,
                InstructionText = "NOP[EDH C2H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 195] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xC3,
                InstructionText = "NOP[EDH C3H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 196] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xC4,
                InstructionText = "NOP[EDH C4H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 197] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xC5,
                InstructionText = "NOP[EDH C5H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 198] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xC6,
                InstructionText = "NOP[EDH C6H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 199] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xC7,
                InstructionText = "NOP[EDH C7H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 200] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xC8,
                InstructionText = "NOP[EDH C8H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 201] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xC9,
                InstructionText = "NOP[EDH C9H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 202] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xCA,
                InstructionText = "NOP[EDH CAH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 203] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xCB,
                InstructionText = "NOP[EDH CBH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 204] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xCC,
                InstructionText = "NOP[EDH CCH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 205] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xCD,
                InstructionText = "NOP[EDH CDH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 206] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xCE,
                InstructionText = "NOP[EDH CEH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 207] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xCF,
                InstructionText = "NOP[EDH CFH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 208] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xD0,
                InstructionText = "NOP[EDH D0H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 209] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xD1,
                InstructionText = "NOP[EDH D1H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 210] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xD2,
                InstructionText = "NOP[EDH D2H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 211] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xD3,
                InstructionText = "NOP[EDH D3H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 212] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xD4,
                InstructionText = "NOP[EDH D4H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 213] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xD5,
                InstructionText = "NOP[EDH D5H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 214] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xD6,
                InstructionText = "NOP[EDH D6H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 215] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xD7,
                InstructionText = "NOP[EDH D7H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 216] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xD8,
                InstructionText = "NOP[EDH D8H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 217] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xD9,
                InstructionText = "NOP[EDH D9H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 218] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xDA,
                InstructionText = "NOP[EDH DAH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 219] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xDB,
                InstructionText = "NOP[EDH DBH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 220] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xDC,
                InstructionText = "NOP[EDH DCH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 221] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xDD,
                InstructionText = "NOP[EDH DDH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 222] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xDE,
                InstructionText = "NOP[EDH DEH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 223] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xDF,
                InstructionText = "NOP[EDH DFH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 224] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xE0,
                InstructionText = "NOP[EDH E0H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 225] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xE1,
                InstructionText = "NOP[EDH E1H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 226] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xE2,
                InstructionText = "NOP[EDH E2H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 227] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xE3,
                InstructionText = "NOP[EDH E3H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 228] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xE4,
                InstructionText = "NOP[EDH E4H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 229] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xE5,
                InstructionText = "NOP[EDH E5H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 230] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xE6,
                InstructionText = "NOP[EDH E6H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 231] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xE7,
                InstructionText = "NOP[EDH E7H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 232] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xE8,
                InstructionText = "NOP[EDH E8H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 233] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xE9,
                InstructionText = "NOP[EDH E9H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 234] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xEA,
                InstructionText = "NOP[EDH EAH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 235] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xEB,
                InstructionText = "NOP[EDH EBH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 236] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xEC,
                InstructionText = "NOP[EDH ECH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 237] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xED,
                InstructionText = "NOP[EDH EDH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 238] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xEE,
                InstructionText = "NOP[EDH EEH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 239] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xEF,
                InstructionText = "NOP[EDH EFH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 240] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xF0,
                InstructionText = "NOP[EDH F0H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 241] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xF1,
                InstructionText = "NOP[EDH F1H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 242] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xF2,
                InstructionText = "NOP[EDH F2H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 243] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xF3,
                InstructionText = "NOP[EDH F3H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 244] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xF4,
                InstructionText = "NOP[EDH F4H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 245] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xF5,
                InstructionText = "NOP[EDH F5H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 246] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xF6,
                InstructionText = "NOP[EDH F6H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 247] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xF7,
                InstructionText = "NOP[EDH F7H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 248] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xF8,
                InstructionText = "NOP[EDH F8H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 249] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xF9,
                InstructionText = "NOP[EDH F9H]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 250] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xFA,
                InstructionText = "NOP[EDH FAH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 251] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xFB,
                InstructionText = "NOP[EDH FBH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 252] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xFC,
                InstructionText = "NOP[EDH FCH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 253] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xFD,
                InstructionText = "NOP[EDH FDH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 254] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xFE,
                InstructionText = "NOP[EDH FEH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[3, 255] = new InstructionCode()
            {
                Prefix = new byte[] { 0xED },
                OpCode = 0xFF,
                InstructionText = "NOP[EDH FFH]",
                InstructionTypeIndex = 78,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 0] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x00,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 1] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x01,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 2] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x02,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 3] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x03,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 4] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x04,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 5] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x05,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 6] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x06,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 7] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x07,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 8] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x08,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 9] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x09,
                InstructionText = "ADD IY,BC",
                Param1 = Register16.IY,
                Param2 = Register16.BC,
                InstructionTypeIndex = 10,
                InstructionTypeParamVariant = 2,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 10] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x0A,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 11] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x0B,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 12] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x0C,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 13] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x0D,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 14] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x0E,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 15] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x0F,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 16] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x10,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 17] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x11,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 18] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x12,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 19] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x13,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 20] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x14,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 21] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x15,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 22] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x16,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 23] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x17,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 24] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x18,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 25] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x19,
                InstructionText = "ADD IY,DE",
                Param1 = Register16.IY,
                Param2 = Register16.DE,
                InstructionTypeIndex = 10,
                InstructionTypeParamVariant = 2,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 26] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x1A,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 27] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x1B,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 28] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x1C,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 29] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x1D,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 30] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x1E,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 31] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x1F,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 32] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x20,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 33] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x21,
                InstructionText = "LD IY,nn",
                Param1 = Register16.IY,
                Param2 = "nn",
                InstructionTypeIndex = 64,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 34] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x22,
                InstructionText = "LD (nn),IY",
                Param1 = "(nn)",
                Param2 = Register16.IY,
                InstructionTypeIndex = 68,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 35] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x23,
                InstructionText = "INC IY",
                Param1 = Register16.IY,
                InstructionTypeIndex = 49,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 36] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x24,
                InstructionText = "INC IYh",
                Param1 = Register.IYh,
                InstructionTypeIndex = 46,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 37] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x25,
                InstructionText = "DEC IYh",
                Param1 = Register.IYh,
                InstructionTypeIndex = 31,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 38] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x26,
                InstructionText = "LD IYh,n",
                Param1 = Register.IYh,
                Param2 = "n",
                InstructionTypeIndex = 59,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 39] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x27,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 40] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x28,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 41] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x29,
                InstructionText = "ADD IY,IY",
                Param1 = Register16.IY,
                Param2 = Register16.IY,
                InstructionTypeIndex = 10,
                InstructionTypeParamVariant = 2,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 42] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x2A,
                InstructionText = "LD IY,(nn)",
                Param1 = Register16.IY,
                Param2 = "(nn)",
                InstructionTypeIndex = 66,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 43] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x2B,
                InstructionText = "DEC IY",
                Param1 = Register16.IY,
                InstructionTypeIndex = 34,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 44] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x2C,
                InstructionText = "INC IYl",
                Param1 = Register.IYl,
                InstructionTypeIndex = 46,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 45] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x2D,
                InstructionText = "DEC IYl",
                Param1 = Register.IYl,
                InstructionTypeIndex = 31,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 46] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x2E,
                InstructionText = "LD IYl,n",
                Param1 = Register.IYl,
                Param2 = "n",
                InstructionTypeIndex = 59,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 47] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x2F,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 48] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x30,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 49] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x31,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 50] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x32,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 51] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x33,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 52] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x34,
                InstructionText = "INC (IY+d)",
                Param1 = AddressIndexBase.IY,
                InstructionTypeIndex = 48,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 53] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x35,
                InstructionText = "DEC (IY+d)",
                Param1 = AddressIndexBase.IY,
                InstructionTypeIndex = 33,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 54] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x36,
                InstructionText = "LD (IY+d),n",
                Param1 = AddressIndexBase.IY,
                Param2 = "n",
                InstructionTypeIndex = 71,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 2,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 55] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x37,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 56] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x38,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 57] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x39,
                InstructionText = "ADD IY,SP",
                Param1 = Register16.IY,
                Param2 = Register16.SP,
                InstructionTypeIndex = 10,
                InstructionTypeParamVariant = 2,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 58] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x3A,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 59] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x3B,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 60] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x3C,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 61] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x3D,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 62] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x3E,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 63] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x3F,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 64] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x40,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 65] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x41,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 66] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x42,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 67] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x43,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 68] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x44,
                InstructionText = "LD B,IYh",
                Param1 = Register.B,
                Param2 = Register.IYh,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 69] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x45,
                InstructionText = "LD B,IYl",
                Param1 = Register.B,
                Param2 = Register.IYl,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 70] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x46,
                InstructionText = "LD B,(IY+d)",
                Param1 = Register.B,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 63,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 71] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x47,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 72] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x48,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 73] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x49,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 74] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x4A,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 75] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x4B,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 76] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x4C,
                InstructionText = "LD C,IYh",
                Param1 = Register.C,
                Param2 = Register.IYh,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 77] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x4D,
                InstructionText = "LD C,IYl",
                Param1 = Register.C,
                Param2 = Register.IYl,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 78] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x4E,
                InstructionText = "LD C,(IY+d)",
                Param1 = Register.C,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 63,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 79] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x4F,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 80] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x50,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 81] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x51,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 82] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x52,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 83] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x53,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 84] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x54,
                InstructionText = "LD D,IYh",
                Param1 = Register.D,
                Param2 = Register.IYh,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 85] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x55,
                InstructionText = "LD D,IYl",
                Param1 = Register.D,
                Param2 = Register.IYl,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 86] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x56,
                InstructionText = "LD D,(IY+d)",
                Param1 = Register.D,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 63,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 87] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x57,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 88] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x58,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 89] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x59,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 90] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x5A,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 91] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x5B,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 92] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x5C,
                InstructionText = "LD E,IYh",
                Param1 = Register.E,
                Param2 = Register.IYh,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 93] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x5D,
                InstructionText = "LD E,IYl",
                Param1 = Register.E,
                Param2 = Register.IYl,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 94] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x5E,
                InstructionText = "LD E,(IY+d)",
                Param1 = Register.E,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 63,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 95] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x5F,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 96] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x60,
                InstructionText = "LD IYh,B",
                Param1 = Register.IYh,
                Param2 = Register.B,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 2,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 97] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x61,
                InstructionText = "LD IYh,C",
                Param1 = Register.IYh,
                Param2 = Register.C,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 2,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 98] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x62,
                InstructionText = "LD IYh,D",
                Param1 = Register.IYh,
                Param2 = Register.D,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 2,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 99] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x63,
                InstructionText = "LD IYh,E",
                Param1 = Register.IYh,
                Param2 = Register.E,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 2,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 100] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x64,
                InstructionText = "LD IYh,IYh",
                Param1 = Register.IYh,
                Param2 = Register.IYh,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 4,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 101] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x65,
                InstructionText = "LD IYh,IYl",
                Param1 = Register.IYh,
                Param2 = Register.IYl,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 4,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 102] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x66,
                InstructionText = "LD H,(IY+d)",
                Param1 = Register.H,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 63,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 103] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x67,
                InstructionText = "LD IYh,A",
                Param1 = Register.IYh,
                Param2 = Register.A,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 2,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 104] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x68,
                InstructionText = "LD IYl,B",
                Param1 = Register.IYl,
                Param2 = Register.B,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 2,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 105] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x69,
                InstructionText = "LD IYl,C",
                Param1 = Register.IYl,
                Param2 = Register.C,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 2,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 106] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x6A,
                InstructionText = "LD IYl,D",
                Param1 = Register.IYl,
                Param2 = Register.D,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 2,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 107] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x6B,
                InstructionText = "LD IYl,E",
                Param1 = Register.IYl,
                Param2 = Register.E,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 2,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 108] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x6C,
                InstructionText = "LD IYl,IYh",
                Param1 = Register.IYl,
                Param2 = Register.IYh,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 4,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 109] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x6D,
                InstructionText = "LD IYl,IYl",
                Param1 = Register.IYl,
                Param2 = Register.IYl,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 4,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 110] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x6E,
                InstructionText = "LD L,(IY+d)",
                Param1 = Register.L,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 63,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 111] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x6F,
                InstructionText = "LD IYl,A",
                Param1 = Register.IYl,
                Param2 = Register.A,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 2,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 112] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x70,
                InstructionText = "LD (IY+d),B",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.B,
                InstructionTypeIndex = 72,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 113] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x71,
                InstructionText = "LD (IY+d),C",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.C,
                InstructionTypeIndex = 72,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 114] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x72,
                InstructionText = "LD (IY+d),D",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.D,
                InstructionTypeIndex = 72,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 115] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x73,
                InstructionText = "LD (IY+d),E",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.E,
                InstructionTypeIndex = 72,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 116] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x74,
                InstructionText = "LD (IY+d),H",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.H,
                InstructionTypeIndex = 72,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 117] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x75,
                InstructionText = "LD (IY+d),L",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.L,
                InstructionTypeIndex = 72,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 118] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x76,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 119] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x77,
                InstructionText = "LD (IY+d),A",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.A,
                InstructionTypeIndex = 72,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 120] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x78,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 121] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x79,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 122] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x7A,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 123] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x7B,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 124] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x7C,
                InstructionText = "LD A,IYh",
                Param1 = Register.A,
                Param2 = Register.IYh,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 125] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x7D,
                InstructionText = "LD A,IYl",
                Param1 = Register.A,
                Param2 = Register.IYl,
                InstructionTypeIndex = 60,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 126] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x7E,
                InstructionText = "LD A,(IY+d)",
                Param1 = Register.A,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 63,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 127] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x7F,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 128] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x80,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 129] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x81,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 130] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x82,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 131] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x83,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 132] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x84,
                InstructionText = "ADD A,IYh",
                Param1 = Register.A,
                Param2 = Register.IYh,
                InstructionTypeIndex = 7,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 133] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x85,
                InstructionText = "ADD A,IYl",
                Param1 = Register.A,
                Param2 = Register.IYl,
                InstructionTypeIndex = 7,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 134] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x86,
                InstructionText = "ADD A,(IY+d)",
                Param1 = Register.A,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 9,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 135] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x87,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 136] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x88,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 137] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x89,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 138] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x8A,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 139] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x8B,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 140] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x8C,
                InstructionText = "ADC A,IYh",
                Param1 = Register.A,
                Param2 = Register.IYh,
                InstructionTypeIndex = 2,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 141] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x8D,
                InstructionText = "ADC A,IYl",
                Param1 = Register.A,
                Param2 = Register.IYl,
                InstructionTypeIndex = 2,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 142] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x8E,
                InstructionText = "ADC A,(IY+d)",
                Param1 = Register.A,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 4,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 143] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x8F,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 144] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x90,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 145] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x91,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 146] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x92,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 147] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x93,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 148] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x94,
                InstructionText = "SUB IYh",
                Param1 = Register.IYh,
                InstructionTypeIndex = 150,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 149] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x95,
                InstructionText = "SUB IYl",
                Param1 = Register.IYl,
                InstructionTypeIndex = 150,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 150] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x96,
                InstructionText = "SUB (IY+d)",
                Param1 = AddressIndexBase.IY,
                InstructionTypeIndex = 152,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 151] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x97,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 152] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x98,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 153] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x99,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 154] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x9A,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 155] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x9B,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 156] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x9C,
                InstructionText = "SBC A,IYh",
                Param1 = Register.A,
                Param2 = Register.IYh,
                InstructionTypeIndex = 124,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 157] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x9D,
                InstructionText = "SBC A,IYl",
                Param1 = Register.A,
                Param2 = Register.IYl,
                InstructionTypeIndex = 124,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 158] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x9E,
                InstructionText = "SBC A,(IY+d)",
                Param1 = Register.A,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 126,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 159] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0x9F,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 160] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xA0,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 161] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xA1,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 162] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xA2,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 163] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xA3,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 164] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xA4,
                InstructionText = "AND IYh",
                Param1 = Register.IYh,
                InstructionTypeIndex = 12,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 165] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xA5,
                InstructionText = "AND IYl",
                Param1 = Register.IYl,
                InstructionTypeIndex = 12,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 166] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xA6,
                InstructionText = "AND (IY+d)",
                Param1 = AddressIndexBase.IY,
                InstructionTypeIndex = 14,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 167] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xA7,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 168] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xA8,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 169] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xA9,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 170] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xAA,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 171] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xAB,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 172] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xAC,
                InstructionText = "XOR IYh",
                Param1 = Register.IYh,
                InstructionTypeIndex = 154,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 173] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xAD,
                InstructionText = "XOR IYl",
                Param1 = Register.IYl,
                InstructionTypeIndex = 154,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 174] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xAE,
                InstructionText = "XOR (IY+d)",
                Param1 = AddressIndexBase.IY,
                InstructionTypeIndex = 156,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 175] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xAF,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 176] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xB0,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 177] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xB1,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 178] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xB2,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 179] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xB3,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 180] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xB4,
                InstructionText = "OR IYh",
                Param1 = Register.IYh,
                InstructionTypeIndex = 80,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 181] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xB5,
                InstructionText = "OR IYl",
                Param1 = Register.IYl,
                InstructionTypeIndex = 80,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 182] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xB6,
                InstructionText = "OR (IY+d)",
                Param1 = AddressIndexBase.IY,
                InstructionTypeIndex = 82,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 183] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xB7,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 184] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xB8,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 185] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xB9,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 186] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xBA,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 187] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xBB,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 188] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xBC,
                InstructionText = "CP IYh",
                Param1 = Register.IYh,
                InstructionTypeIndex = 22,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 189] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xBD,
                InstructionText = "CP IYl",
                Param1 = Register.IYl,
                InstructionTypeIndex = 22,
                InstructionTypeParamVariant = 1,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 190] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xBE,
                InstructionText = "CP (IY+d)",
                Param1 = AddressIndexBase.IY,
                InstructionTypeIndex = 24,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 191] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xBF,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 192] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xC0,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 193] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xC1,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 194] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xC2,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 195] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xC3,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 196] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xC4,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 197] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xC5,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 198] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xC6,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 199] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xC7,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 200] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xC8,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 201] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xC9,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 202] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xCA,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 203] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xCB,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 2,
                SwitchToTableNumber = 6
            };

            Tables[4, 204] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xCC,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 205] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xCD,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 206] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xCE,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 207] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xCF,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 208] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xD0,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 209] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xD1,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 210] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xD2,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 211] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xD3,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 212] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xD4,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 213] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xD5,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 214] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xD6,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 215] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xD7,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 216] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xD8,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 217] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xD9,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 218] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xDA,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 219] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xDB,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 220] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xDC,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 221] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xFD,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 222] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xDE,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 223] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xDF,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 224] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xE0,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 225] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xE1,
                InstructionText = "POP IY",
                Param1 = Register16.IY,
                InstructionTypeIndex = 90,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 226] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xE2,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 227] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xE3,
                InstructionText = "EX (SP),IY",
                Param1 = AddressRegisterIndirect.SP,
                Param2 = Register16.IY,
                InstructionTypeIndex = 39,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 228] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xE4,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 229] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xE5,
                InstructionText = "PUSH IY",
                Param1 = Register16.IY,
                InstructionTypeIndex = 91,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 230] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xE6,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 231] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xE7,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 232] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xE8,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 233] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xE9,
                InstructionText = "JP (IY)",
                Param1 = AddressRegisterIndirect.IY,
                InstructionTypeIndex = 55,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 234] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xEA,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 235] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xEB,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 236] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xEC,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 237] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xED,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 238] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xEE,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 239] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xEF,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 240] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xF0,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 241] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xF1,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 242] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xF2,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 243] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xF3,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 244] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xF4,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 245] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xF5,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 246] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xF6,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 247] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xF7,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 248] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xF8,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 249] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xF9,
                InstructionText = "LD SP,IY",
                Param1 = Register16.SP,
                Param2 = Register16.IY,
                InstructionTypeIndex = 65,
                InstructionTypeParamVariant = 1,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 2,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[4, 250] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xFA,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 251] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xFB,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 252] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xFC,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 253] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xFD,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 254] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xFE,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[4, 255] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD },
                OpCode = 0xFF,
                InstructionText = "",
                InstructionTypeIndex = 0,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 0,
                OperandsByteCount = 0,
                FetchMoreBytes = 0,
                SwitchToTableNumber = 0
            };

            Tables[5, 0] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x00,
                InstructionText = "RLC (IX+d),B",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.B,
                InstructionTypeIndex = 108,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 1] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x01,
                InstructionText = "RLC (IX+d),C",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.C,
                InstructionTypeIndex = 108,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 2] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x02,
                InstructionText = "RLC (IX+d),D",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.D,
                InstructionTypeIndex = 108,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 3] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x03,
                InstructionText = "RLC (IX+d),E",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.E,
                InstructionTypeIndex = 108,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 4] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x04,
                InstructionText = "RLC (IX+d),H",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.H,
                InstructionTypeIndex = 108,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 5] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x05,
                InstructionText = "RLC (IX+d),L",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.L,
                InstructionTypeIndex = 108,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 6] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x06,
                InstructionText = "RLC (IX+d)",
                Param1 = AddressIndexBase.IX,
                InstructionTypeIndex = 107,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 7] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x07,
                InstructionText = "RLC (IX+d),A",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.A,
                InstructionTypeIndex = 108,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 8] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x08,
                InstructionText = "RRC (IX+d),B",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.B,
                InstructionTypeIndex = 119,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 9] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x09,
                InstructionText = "RRC (IX+d),C",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.C,
                InstructionTypeIndex = 119,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 10] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x0A,
                InstructionText = "RRC (IX+d),D",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.D,
                InstructionTypeIndex = 119,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 11] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x0B,
                InstructionText = "RRC (IX+d),E",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.E,
                InstructionTypeIndex = 119,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 12] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x0C,
                InstructionText = "RRC (IX+d),H",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.H,
                InstructionTypeIndex = 119,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 13] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x0D,
                InstructionText = "RRC (IX+d),L",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.L,
                InstructionTypeIndex = 119,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 14] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x0E,
                InstructionText = "RRC (IX+d)",
                Param1 = AddressIndexBase.IX,
                InstructionTypeIndex = 118,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 15] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x0F,
                InstructionText = "RRC (IX+d),A",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.A,
                InstructionTypeIndex = 119,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 16] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x10,
                InstructionText = "RL (IX+d),B",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.B,
                InstructionTypeIndex = 103,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 17] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x11,
                InstructionText = "RL (IX+d),C",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.C,
                InstructionTypeIndex = 103,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 18] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x12,
                InstructionText = "RL (IX+d),D",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.D,
                InstructionTypeIndex = 103,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 19] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x13,
                InstructionText = "RL (IX+d),E",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.E,
                InstructionTypeIndex = 103,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 20] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x14,
                InstructionText = "RL (IX+d),H",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.H,
                InstructionTypeIndex = 103,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 21] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x15,
                InstructionText = "RL (IX+d),L",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.L,
                InstructionTypeIndex = 103,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 22] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x16,
                InstructionText = "RL (IX+d)",
                Param1 = AddressIndexBase.IX,
                InstructionTypeIndex = 102,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 23] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x17,
                InstructionText = "RL (IX+d),A",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.A,
                InstructionTypeIndex = 103,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 24] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x18,
                InstructionText = "RR (IX+d),B",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.B,
                InstructionTypeIndex = 114,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 25] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x19,
                InstructionText = "RR (IX+d),C",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.C,
                InstructionTypeIndex = 114,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 26] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x1A,
                InstructionText = "RR (IX+d),D",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.D,
                InstructionTypeIndex = 114,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 27] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x1B,
                InstructionText = "RR (IX+d),E",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.E,
                InstructionTypeIndex = 114,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 28] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x1C,
                InstructionText = "RR (IX+d),H",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.H,
                InstructionTypeIndex = 114,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 29] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x1D,
                InstructionText = "RR (IX+d),L",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.L,
                InstructionTypeIndex = 114,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 30] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x1E,
                InstructionText = "RR (IX+d)",
                Param1 = AddressIndexBase.IX,
                InstructionTypeIndex = 113,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 31] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x1F,
                InstructionText = "RR (IX+d),A",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.A,
                InstructionTypeIndex = 114,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 32] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x20,
                InstructionText = "SLA (IX+d),B",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.B,
                InstructionTypeIndex = 136,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 33] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x21,
                InstructionText = "SLA (IX+d),C",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.C,
                InstructionTypeIndex = 136,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 34] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x22,
                InstructionText = "SLA (IX+d),D",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.D,
                InstructionTypeIndex = 136,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 35] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x23,
                InstructionText = "SLA (IX+d),E",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.E,
                InstructionTypeIndex = 136,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 36] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x24,
                InstructionText = "SLA (IX+d),H",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.H,
                InstructionTypeIndex = 136,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 37] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x25,
                InstructionText = "SLA (IX+d),L",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.L,
                InstructionTypeIndex = 136,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 38] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x26,
                InstructionText = "SLA (IX+d)",
                Param1 = AddressIndexBase.IX,
                InstructionTypeIndex = 135,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 39] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x27,
                InstructionText = "SLA (IX+d),A",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.A,
                InstructionTypeIndex = 136,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 40] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x28,
                InstructionText = "SRA (IX+d),B",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.B,
                InstructionTypeIndex = 144,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 41] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x29,
                InstructionText = "SRA (IX+d),C",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.C,
                InstructionTypeIndex = 144,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 42] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x2A,
                InstructionText = "SRA (IX+d),D",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.D,
                InstructionTypeIndex = 144,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 43] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x2B,
                InstructionText = "SRA (IX+d),E",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.E,
                InstructionTypeIndex = 144,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 44] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x2C,
                InstructionText = "SRA (IX+d),H",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.H,
                InstructionTypeIndex = 144,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 45] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x2D,
                InstructionText = "SRA (IX+d),L",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.L,
                InstructionTypeIndex = 144,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 46] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x2E,
                InstructionText = "SRA (IX+d)",
                Param1 = AddressIndexBase.IX,
                InstructionTypeIndex = 143,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 47] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x2F,
                InstructionText = "SRA (IX+d),A",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.A,
                InstructionTypeIndex = 144,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 48] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x30,
                InstructionText = "SLL (IX+d),B",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.B,
                InstructionTypeIndex = 140,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 49] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x31,
                InstructionText = "SLL (IX+d),C",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.C,
                InstructionTypeIndex = 140,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 50] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x32,
                InstructionText = "SLL (IX+d),D",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.D,
                InstructionTypeIndex = 140,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 51] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x33,
                InstructionText = "SLL (IX+d),E",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.E,
                InstructionTypeIndex = 140,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 52] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x34,
                InstructionText = "SLL (IX+d),H",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.H,
                InstructionTypeIndex = 140,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 53] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x35,
                InstructionText = "SLL (IX+d),L",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.L,
                InstructionTypeIndex = 140,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 54] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x36,
                InstructionText = "SLL (IX+d)",
                Param1 = AddressIndexBase.IX,
                InstructionTypeIndex = 139,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 55] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x37,
                InstructionText = "SLL (IX+d),A",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.A,
                InstructionTypeIndex = 140,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 56] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x38,
                InstructionText = "SRL (IX+d),B",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.B,
                InstructionTypeIndex = 148,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 57] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x39,
                InstructionText = "SRL (IX+d),C",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.C,
                InstructionTypeIndex = 148,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 58] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x3A,
                InstructionText = "SRL (IX+d),D",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.D,
                InstructionTypeIndex = 148,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 59] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x3B,
                InstructionText = "SRL (IX+d),E",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.E,
                InstructionTypeIndex = 148,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 60] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x3C,
                InstructionText = "SRL (IX+d),H",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.H,
                InstructionTypeIndex = 148,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 61] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x3D,
                InstructionText = "SRL (IX+d),L",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.L,
                InstructionTypeIndex = 148,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 62] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x3E,
                InstructionText = "SRL (IX+d)",
                Param1 = AddressIndexBase.IX,
                InstructionTypeIndex = 147,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 63] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x3F,
                InstructionText = "SRL (IX+d),A",
                Param1 = AddressIndexBase.IX,
                Param2 = Register.A,
                InstructionTypeIndex = 148,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 64] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x40,
                InstructionText = "BIT[DDH CBH 40H] 0,(IX+d)",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 65] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x41,
                InstructionText = "BIT[DDH CBH 41H] 0,(IX+d)",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 66] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x42,
                InstructionText = "BIT[DDH CBH 42H] 0,(IX+d)",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 67] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x43,
                InstructionText = "BIT[DDH CBH 43H] 0,(IX+d)",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 68] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x44,
                InstructionText = "BIT[DDH CBH 44H] 0,(IX+d)",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 69] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x45,
                InstructionText = "BIT[DDH CBH 45H] 0,(IX+d)",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 70] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x46,
                InstructionText = "BIT 0,(IX+d)",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 71] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x47,
                InstructionText = "BIT[DDH CBH 47H] 0,(IX+d)",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 72] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x48,
                InstructionText = "BIT[DDH CBH 48H] 1,(IX+d)",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 73] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x49,
                InstructionText = "BIT[DDH CBH 49H] 1,(IX+d)",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 74] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x4A,
                InstructionText = "BIT[DDH CBH 4AH] 1,(IX+d)",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 75] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x4B,
                InstructionText = "BIT[DDH CBH 4BH] 1,(IX+d)",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 76] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x4C,
                InstructionText = "BIT[DDH CBH 4CH] 1,(IX+d)",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 77] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x4D,
                InstructionText = "BIT[DDH CBH 4DH] 1,(IX+d)",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 78] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x4E,
                InstructionText = "BIT 1,(IX+d)",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 79] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x4F,
                InstructionText = "BIT[DDH CBH 4FH] 1,(IX+d)",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 80] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x50,
                InstructionText = "BIT[DDH CBH 50H] 2,(IX+d)",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 81] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x51,
                InstructionText = "BIT[DDH CBH 51H] 2,(IX+d)",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 82] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x52,
                InstructionText = "BIT[DDH CBH 52H] 2,(IX+d)",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 83] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x53,
                InstructionText = "BIT[DDH CBH 53H] 2,(IX+d)",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 84] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x54,
                InstructionText = "BIT[DDH CBH 54H] 2,(IX+d)",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 85] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x55,
                InstructionText = "BIT[DDH CBH 55H] 2,(IX+d)",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 86] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x56,
                InstructionText = "BIT 2,(IX+d)",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 87] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x57,
                InstructionText = "BIT[DDH CBH 57H] 2,(IX+d)",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 88] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x58,
                InstructionText = "BIT[DDH CBH 58H] 3,(IX+d)",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 89] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x59,
                InstructionText = "BIT[DDH CBH 59H] 3,(IX+d)",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 90] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x5A,
                InstructionText = "BIT[DDH CBH 5AH] 3,(IX+d)",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 91] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x5B,
                InstructionText = "BIT[DDH CBH 5BH] 3,(IX+d)",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 92] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x5C,
                InstructionText = "BIT[DDH CBH 5CH] 3,(IX+d)",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 93] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x5D,
                InstructionText = "BIT[DDH CBH 5DH] 3,(IX+d)",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 94] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x5E,
                InstructionText = "BIT 3,(IX+d)",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 95] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x5F,
                InstructionText = "BIT[DDH CBH 5FH] 3,(IX+d)",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 96] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x60,
                InstructionText = "BIT[DDH CBH 60H] 4,(IX+d)",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 97] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x61,
                InstructionText = "BIT[DDH CBH 61H] 4,(IX+d)",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 98] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x62,
                InstructionText = "BIT[DDH CBH 62H] 4,(IX+d)",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 99] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x63,
                InstructionText = "BIT[DDH CBH 63H] 4,(IX+d)",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 100] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x64,
                InstructionText = "BIT[DDH CBH 64H] 4,(IX+d)",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 101] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x65,
                InstructionText = "BIT[DDH CBH 65H] 4,(IX+d)",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 102] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x66,
                InstructionText = "BIT 4,(IX+d)",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 103] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x67,
                InstructionText = "BIT[DDH CBH 67H] 4,(IX+d)",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 104] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x68,
                InstructionText = "BIT[DDH CBH 68H] 5,(IX+d)",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 105] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x69,
                InstructionText = "BIT[DDH CBH 69H] 5,(IX+d)",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 106] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x6A,
                InstructionText = "BIT[DDH CBH 6AH] 5,(IX+d)",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 107] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x6B,
                InstructionText = "BIT[DDH CBH 6BH] 5,(IX+d)",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 108] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x6C,
                InstructionText = "BIT[DDH CBH 6CH] 5,(IX+d)",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 109] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x6D,
                InstructionText = "BIT[DDH CBH 6DH] 5,(IX+d)",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 110] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x6E,
                InstructionText = "BIT 5,(IX+d)",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 111] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x6F,
                InstructionText = "BIT[DDH CBH 6FH] 5,(IX+d)",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 112] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x70,
                InstructionText = "BIT[DDH CBH 70H] 6,(IX+d)",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 113] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x71,
                InstructionText = "BIT[DDH CBH 71H] 6,(IX+d)",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 114] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x72,
                InstructionText = "BIT[DDH CBH 72H] 6,(IX+d)",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 115] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x73,
                InstructionText = "BIT[DDH CBH 73H] 6,(IX+d)",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 116] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x74,
                InstructionText = "BIT[DDH CBH 74H] 6,(IX+d)",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 117] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x75,
                InstructionText = "BIT[DDH CBH 75H] 6,(IX+d)",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 118] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x76,
                InstructionText = "BIT 6,(IX+d)",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 119] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x77,
                InstructionText = "BIT[DDH CBH 77H] 6,(IX+d)",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 120] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x78,
                InstructionText = "BIT[DDH CBH 78H] 7,(IX+d)",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 121] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x79,
                InstructionText = "BIT[DDH CBH 79H] 7,(IX+d)",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 122] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x7A,
                InstructionText = "BIT[DDH CBH 7AH] 7,(IX+d)",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 123] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x7B,
                InstructionText = "BIT[DDH CBH 7BH] 7,(IX+d)",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 124] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x7C,
                InstructionText = "BIT[DDH CBH 7CH] 7,(IX+d)",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 125] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x7D,
                InstructionText = "BIT[DDH CBH 7DH] 7,(IX+d)",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 126] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x7E,
                InstructionText = "BIT 7,(IX+d)",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 127] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x7F,
                InstructionText = "BIT[DDH CBH 7FH] 7,(IX+d)",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 128] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x80,
                InstructionText = "RES 0,(IX+d),B",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.B,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 129] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x81,
                InstructionText = "RES 0,(IX+d),C",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.C,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 130] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x82,
                InstructionText = "RES 0,(IX+d),D",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.D,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 131] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x83,
                InstructionText = "RES 0,(IX+d),E",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.E,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 132] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x84,
                InstructionText = "RES 0,(IX+d),H",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.H,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 133] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x85,
                InstructionText = "RES 0,(IX+d),L",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.L,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 134] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x86,
                InstructionText = "RES 0,(IX+d)",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 94,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 135] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x87,
                InstructionText = "RES 0,(IX+d),A",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.A,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 136] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x88,
                InstructionText = "RES 1,(IX+d),B",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.B,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 137] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x89,
                InstructionText = "RES 1,(IX+d),C",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.C,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 138] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x8A,
                InstructionText = "RES 1,(IX+d),D",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.D,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 139] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x8B,
                InstructionText = "RES 1,(IX+d),E",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.E,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 140] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x8C,
                InstructionText = "RES 1,(IX+d),H",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.H,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 141] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x8D,
                InstructionText = "RES 1,(IX+d),L",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.L,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 142] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x8E,
                InstructionText = "RES 1,(IX+d)",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 94,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 143] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x8F,
                InstructionText = "RES 1,(IX+d),A",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.A,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 144] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x90,
                InstructionText = "RES 2,(IX+d),B",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.B,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 145] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x91,
                InstructionText = "RES 2,(IX+d),C",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.C,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 146] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x92,
                InstructionText = "RES 2,(IX+d),D",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.D,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 147] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x93,
                InstructionText = "RES 2,(IX+d),E",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.E,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 148] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x94,
                InstructionText = "RES 2,(IX+d),H",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.H,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 149] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x95,
                InstructionText = "RES 2,(IX+d),L",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.L,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 150] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x96,
                InstructionText = "RES 2,(IX+d)",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 94,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 151] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x97,
                InstructionText = "RES 2,(IX+d),A",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.A,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 152] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x98,
                InstructionText = "RES 3,(IX+d),B",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.B,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 153] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x99,
                InstructionText = "RES 3,(IX+d),C",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.C,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 154] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x9A,
                InstructionText = "RES 3,(IX+d),D",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.D,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 155] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x9B,
                InstructionText = "RES 3,(IX+d),E",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.E,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 156] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x9C,
                InstructionText = "RES 3,(IX+d),H",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.H,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 157] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x9D,
                InstructionText = "RES 3,(IX+d),L",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.L,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 158] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x9E,
                InstructionText = "RES 3,(IX+d)",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 94,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 159] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0x9F,
                InstructionText = "RES 3,(IX+d),A",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.A,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 160] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xA0,
                InstructionText = "RES 4,(IX+d),B",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.B,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 161] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xA1,
                InstructionText = "RES 4,(IX+d),C",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.C,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 162] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xA2,
                InstructionText = "RES 4,(IX+d),D",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.D,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 163] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xA3,
                InstructionText = "RES 4,(IX+d),E",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.E,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 164] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xA4,
                InstructionText = "RES 4,(IX+d),H",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.H,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 165] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xA5,
                InstructionText = "RES 4,(IX+d),L",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.L,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 166] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xA6,
                InstructionText = "RES 4,(IX+d)",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 94,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 167] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xA7,
                InstructionText = "RES 4,(IX+d),A",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.A,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 168] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xA8,
                InstructionText = "RES 5,(IX+d),B",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.B,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 169] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xA9,
                InstructionText = "RES 5,(IX+d),C",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.C,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 170] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xAA,
                InstructionText = "RES 5,(IX+d),D",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.D,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 171] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xAB,
                InstructionText = "RES 5,(IX+d),E",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.E,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 172] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xAC,
                InstructionText = "RES 5,(IX+d),H",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.H,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 173] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xAD,
                InstructionText = "RES 5,(IX+d),L",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.L,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 174] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xAE,
                InstructionText = "RES 5,(IX+d)",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 94,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 175] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xAF,
                InstructionText = "RES 5,(IX+d),A",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.A,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 176] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xB0,
                InstructionText = "RES 6,(IX+d),B",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.B,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 177] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xB1,
                InstructionText = "RES 6,(IX+d),C",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.C,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 178] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xB2,
                InstructionText = "RES 6,(IX+d),D",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.D,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 179] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xB3,
                InstructionText = "RES 6,(IX+d),E",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.E,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 180] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xB4,
                InstructionText = "RES 6,(IX+d),H",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.H,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 181] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xB5,
                InstructionText = "RES 6,(IX+d),L",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.L,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 182] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xB6,
                InstructionText = "RES 6,(IX+d)",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 94,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 183] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xB7,
                InstructionText = "RES 6,(IX+d),A",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.A,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 184] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xB8,
                InstructionText = "RES 7,(IX+d),B",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.B,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 185] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xB9,
                InstructionText = "RES 7,(IX+d),C",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.C,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 186] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xBA,
                InstructionText = "RES 7,(IX+d),D",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.D,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 187] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xBB,
                InstructionText = "RES 7,(IX+d),E",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.E,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 188] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xBC,
                InstructionText = "RES 7,(IX+d),H",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.H,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 189] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xBD,
                InstructionText = "RES 7,(IX+d),L",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.L,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 190] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xBE,
                InstructionText = "RES 7,(IX+d)",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 94,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 191] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xBF,
                InstructionText = "RES 7,(IX+d),A",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.A,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 192] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xC0,
                InstructionText = "SET 0,(IX+d),B",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.B,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 193] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xC1,
                InstructionText = "SET 0,(IX+d),C",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.C,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 194] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xC2,
                InstructionText = "SET 0,(IX+d),D",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.D,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 195] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xC3,
                InstructionText = "SET 0,(IX+d),E",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.E,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 196] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xC4,
                InstructionText = "SET 0,(IX+d),H",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.H,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 197] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xC5,
                InstructionText = "SET 0,(IX+d),L",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.L,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 198] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xC6,
                InstructionText = "SET 0,(IX+d)",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 131,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 199] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xC7,
                InstructionText = "SET 0,(IX+d),A",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.A,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 200] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xC8,
                InstructionText = "SET 1,(IX+d),B",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.B,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 201] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xC9,
                InstructionText = "SET 1,(IX+d),C",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.C,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 202] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xCA,
                InstructionText = "SET 1,(IX+d),D",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.D,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 203] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xCB,
                InstructionText = "SET 1,(IX+d),E",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.E,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 204] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xCC,
                InstructionText = "SET 1,(IX+d),H",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.H,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 205] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xCD,
                InstructionText = "SET 1,(IX+d),L",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.L,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 206] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xCE,
                InstructionText = "SET 1,(IX+d)",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 131,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 207] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xCF,
                InstructionText = "SET 1,(IX+d),A",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.A,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 208] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xD0,
                InstructionText = "SET 2,(IX+d),B",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.B,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 209] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xD1,
                InstructionText = "SET 2,(IX+d),C",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.C,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 210] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xD2,
                InstructionText = "SET 2,(IX+d),D",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.D,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 211] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xD3,
                InstructionText = "SET 2,(IX+d),E",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.E,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 212] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xD4,
                InstructionText = "SET 2,(IX+d),H",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.H,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 213] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xD5,
                InstructionText = "SET 2,(IX+d),L",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.L,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 214] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xD6,
                InstructionText = "SET 2,(IX+d)",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 131,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 215] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xD7,
                InstructionText = "SET 2,(IX+d),A",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.A,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 216] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xD8,
                InstructionText = "SET 3,(IX+d),B",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.B,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 217] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xD9,
                InstructionText = "SET 3,(IX+d),C",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.C,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 218] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xDA,
                InstructionText = "SET 3,(IX+d),D",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.D,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 219] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xDB,
                InstructionText = "SET 3,(IX+d),E",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.E,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 220] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xDC,
                InstructionText = "SET 3,(IX+d),H",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.H,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 221] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xDD,
                InstructionText = "SET 3,(IX+d),L",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.L,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 222] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xDE,
                InstructionText = "SET 3,(IX+d)",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 131,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 223] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xDF,
                InstructionText = "SET 3,(IX+d),A",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.A,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 224] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xE0,
                InstructionText = "SET 4,(IX+d),B",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.B,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 225] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xE1,
                InstructionText = "SET 4,(IX+d),C",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.C,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 226] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xE2,
                InstructionText = "SET 4,(IX+d),D",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.D,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 227] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xE3,
                InstructionText = "SET 4,(IX+d),E",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.E,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 228] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xE4,
                InstructionText = "SET 4,(IX+d),H",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.H,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 229] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xE5,
                InstructionText = "SET 4,(IX+d),L",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.L,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 230] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xE6,
                InstructionText = "SET 4,(IX+d)",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 131,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 231] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xE7,
                InstructionText = "SET 4,(IX+d),A",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.A,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 232] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xE8,
                InstructionText = "SET 5,(IX+d),B",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.B,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 233] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xE9,
                InstructionText = "SET 5,(IX+d),C",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.C,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 234] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xEA,
                InstructionText = "SET 5,(IX+d),D",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.D,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 235] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xEB,
                InstructionText = "SET 5,(IX+d),E",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.E,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 236] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xEC,
                InstructionText = "SET 5,(IX+d),H",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.H,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 237] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xED,
                InstructionText = "SET 5,(IX+d),L",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.L,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 238] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xEE,
                InstructionText = "SET 5,(IX+d)",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 131,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 239] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xEF,
                InstructionText = "SET 5,(IX+d),A",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.A,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 240] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xF0,
                InstructionText = "SET 6,(IX+d),B",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.B,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 241] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xF1,
                InstructionText = "SET 6,(IX+d),C",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.C,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 242] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xF2,
                InstructionText = "SET 6,(IX+d),D",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.D,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 243] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xF3,
                InstructionText = "SET 6,(IX+d),E",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.E,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 244] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xF4,
                InstructionText = "SET 6,(IX+d),H",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.H,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 245] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xF5,
                InstructionText = "SET 6,(IX+d),L",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.L,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 246] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xF6,
                InstructionText = "SET 6,(IX+d)",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 131,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 247] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xF7,
                InstructionText = "SET 6,(IX+d),A",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.A,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 248] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xF8,
                InstructionText = "SET 7,(IX+d),B",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.B,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 249] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xF9,
                InstructionText = "SET 7,(IX+d),C",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.C,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 250] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xFA,
                InstructionText = "SET 7,(IX+d),D",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.D,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 251] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xFB,
                InstructionText = "SET 7,(IX+d),E",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.E,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 252] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xFC,
                InstructionText = "SET 7,(IX+d),H",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.H,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 253] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xFD,
                InstructionText = "SET 7,(IX+d),L",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.L,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 254] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xFE,
                InstructionText = "SET 7,(IX+d)",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                InstructionTypeIndex = 131,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[5, 255] = new InstructionCode()
            {
                Prefix = new byte[] { 0xDD, 0xCB },
                OpCode = 0xFF,
                InstructionText = "SET 7,(IX+d),A",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IX,
                Param3 = Register.A,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 0] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x00,
                InstructionText = "RLC (IY+d),B",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.B,
                InstructionTypeIndex = 108,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 1] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x01,
                InstructionText = "RLC (IY+d),C",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.C,
                InstructionTypeIndex = 108,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 2] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x02,
                InstructionText = "RLC (IY+d),D",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.D,
                InstructionTypeIndex = 108,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 3] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x03,
                InstructionText = "RLC (IY+d),E",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.E,
                InstructionTypeIndex = 108,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 4] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x04,
                InstructionText = "RLC (IY+d),H",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.H,
                InstructionTypeIndex = 108,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 5] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x05,
                InstructionText = "RLC (IY+d),L",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.L,
                InstructionTypeIndex = 108,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 6] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x06,
                InstructionText = "RLC (IY+d)",
                Param1 = AddressIndexBase.IY,
                InstructionTypeIndex = 107,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 7] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x07,
                InstructionText = "RLC (IY+d),A",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.A,
                InstructionTypeIndex = 108,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 8] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x08,
                InstructionText = "RRC (IY+d),B",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.B,
                InstructionTypeIndex = 119,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 9] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x09,
                InstructionText = "RRC (IY+d),C",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.C,
                InstructionTypeIndex = 119,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 10] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x0A,
                InstructionText = "RRC (IY+d),D",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.D,
                InstructionTypeIndex = 119,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 11] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x0B,
                InstructionText = "RRC (IY+d),E",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.E,
                InstructionTypeIndex = 119,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 12] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x0C,
                InstructionText = "RRC (IY+d),H",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.H,
                InstructionTypeIndex = 119,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 13] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x0D,
                InstructionText = "RRC (IY+d),L",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.L,
                InstructionTypeIndex = 119,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 14] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x0E,
                InstructionText = "RRC (IY+d)",
                Param1 = AddressIndexBase.IY,
                InstructionTypeIndex = 118,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 15] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x0F,
                InstructionText = "RRC (IY+d),A",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.A,
                InstructionTypeIndex = 119,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 16] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x10,
                InstructionText = "RL (IY+d),B",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.B,
                InstructionTypeIndex = 103,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 17] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x11,
                InstructionText = "RL (IY+d),C",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.C,
                InstructionTypeIndex = 103,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 18] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x12,
                InstructionText = "RL (IY+d),D",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.D,
                InstructionTypeIndex = 103,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 19] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x13,
                InstructionText = "RL (IY+d),E",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.E,
                InstructionTypeIndex = 103,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 20] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x14,
                InstructionText = "RL (IY+d),H",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.H,
                InstructionTypeIndex = 103,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 21] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x15,
                InstructionText = "RL (IY+d),L",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.L,
                InstructionTypeIndex = 103,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 22] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x16,
                InstructionText = "RL (IY+d)",
                Param1 = AddressIndexBase.IY,
                InstructionTypeIndex = 102,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 23] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x17,
                InstructionText = "RL (IY+d),A",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.A,
                InstructionTypeIndex = 103,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 24] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x18,
                InstructionText = "RR (IY+d),B",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.B,
                InstructionTypeIndex = 114,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 25] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x19,
                InstructionText = "RR (IY+d),C",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.C,
                InstructionTypeIndex = 114,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 26] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x1A,
                InstructionText = "RR (IY+d),D",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.D,
                InstructionTypeIndex = 114,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 27] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x1B,
                InstructionText = "RR (IY+d),E",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.E,
                InstructionTypeIndex = 114,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 28] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x1C,
                InstructionText = "RR (IY+d),H",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.H,
                InstructionTypeIndex = 114,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 29] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x1D,
                InstructionText = "RR (IY+d),L",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.L,
                InstructionTypeIndex = 114,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 30] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x1E,
                InstructionText = "RR (IY+d)",
                Param1 = AddressIndexBase.IY,
                InstructionTypeIndex = 113,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 31] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x1F,
                InstructionText = "RR (IY+d),A",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.A,
                InstructionTypeIndex = 114,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 32] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x20,
                InstructionText = "SLA (IY+d),B",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.B,
                InstructionTypeIndex = 136,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 33] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x21,
                InstructionText = "SLA (IY+d),C",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.C,
                InstructionTypeIndex = 136,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 34] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x22,
                InstructionText = "SLA (IY+d),D",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.D,
                InstructionTypeIndex = 136,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 35] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x23,
                InstructionText = "SLA (IY+d),E",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.E,
                InstructionTypeIndex = 136,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 36] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x24,
                InstructionText = "SLA (IY+d),H",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.H,
                InstructionTypeIndex = 136,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 37] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x25,
                InstructionText = "SLA (IY+d),L",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.L,
                InstructionTypeIndex = 136,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 38] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x26,
                InstructionText = "SLA (IY+d)",
                Param1 = AddressIndexBase.IY,
                InstructionTypeIndex = 135,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 39] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x27,
                InstructionText = "SLA (IY+d),A",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.A,
                InstructionTypeIndex = 136,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 40] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x28,
                InstructionText = "SRA (IY+d),B",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.B,
                InstructionTypeIndex = 144,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 41] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x29,
                InstructionText = "SRA (IY+d),C",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.C,
                InstructionTypeIndex = 144,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 42] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x2A,
                InstructionText = "SRA (IY+d),D",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.D,
                InstructionTypeIndex = 144,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 43] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x2B,
                InstructionText = "SRA (IY+d),E",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.E,
                InstructionTypeIndex = 144,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 44] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x2C,
                InstructionText = "SRA (IY+d),H",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.H,
                InstructionTypeIndex = 144,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 45] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x2D,
                InstructionText = "SRA (IY+d),L",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.L,
                InstructionTypeIndex = 144,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 46] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x2E,
                InstructionText = "SRA (IY+d)",
                Param1 = AddressIndexBase.IY,
                InstructionTypeIndex = 143,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 47] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x2F,
                InstructionText = "SRA (IY+d),A",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.A,
                InstructionTypeIndex = 144,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 48] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x30,
                InstructionText = "SLL (IY+d),B",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.B,
                InstructionTypeIndex = 140,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 49] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x31,
                InstructionText = "SLL (IY+d),C",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.C,
                InstructionTypeIndex = 140,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 50] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x32,
                InstructionText = "SLL (IY+d),D",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.D,
                InstructionTypeIndex = 140,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 51] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x33,
                InstructionText = "SLL (IY+d),E",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.E,
                InstructionTypeIndex = 140,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 52] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x34,
                InstructionText = "SLL (IY+d),H",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.H,
                InstructionTypeIndex = 140,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 53] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x35,
                InstructionText = "SLL (IY+d),L",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.L,
                InstructionTypeIndex = 140,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 54] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x36,
                InstructionText = "SLL (IY+d)",
                Param1 = AddressIndexBase.IY,
                InstructionTypeIndex = 139,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 55] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x37,
                InstructionText = "SLL (IY+d),A",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.A,
                InstructionTypeIndex = 140,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 56] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x38,
                InstructionText = "SRL (IY+d),B",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.B,
                InstructionTypeIndex = 148,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 57] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x39,
                InstructionText = "SRL (IY+d),C",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.C,
                InstructionTypeIndex = 148,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 58] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x3A,
                InstructionText = "SRL (IY+d),D",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.D,
                InstructionTypeIndex = 148,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 59] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x3B,
                InstructionText = "SRL (IY+d),E",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.E,
                InstructionTypeIndex = 148,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 60] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x3C,
                InstructionText = "SRL (IY+d),H",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.H,
                InstructionTypeIndex = 148,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 61] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x3D,
                InstructionText = "SRL (IY+d),L",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.L,
                InstructionTypeIndex = 148,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 62] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x3E,
                InstructionText = "SRL (IY+d)",
                Param1 = AddressIndexBase.IY,
                InstructionTypeIndex = 147,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 63] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x3F,
                InstructionText = "SRL (IY+d),A",
                Param1 = AddressIndexBase.IY,
                Param2 = Register.A,
                InstructionTypeIndex = 148,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 64] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x40,
                InstructionText = "BIT[FDH CBH 40H] 0,(IY+d)",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 65] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x41,
                InstructionText = "BIT[FDH CBH 41H] 0,(IY+d)",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 66] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x42,
                InstructionText = "BIT[FDH CBH 42H] 0,(IY+d)",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 67] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x43,
                InstructionText = "BIT[FDH CBH 43H] 0,(IY+d)",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 68] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x44,
                InstructionText = "BIT[FDH CBH 44H] 0,(IY+d)",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 69] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x45,
                InstructionText = "BIT[FDH CBH 45H] 0,(IY+d)",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 70] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x46,
                InstructionText = "BIT 0,(IY+d)",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 71] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x47,
                InstructionText = "BIT[FDH CBH 47H] 0,(IY+d)",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 72] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x48,
                InstructionText = "BIT[FDH CBH 48H] 1,(IY+d)",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 73] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x49,
                InstructionText = "BIT[FDH CBH 49H] 1,(IY+d)",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 74] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x4A,
                InstructionText = "BIT[FDH CBH 4AH] 1,(IY+d)",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 75] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x4B,
                InstructionText = "BIT[FDH CBH 4BH] 1,(IY+d)",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 76] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x4C,
                InstructionText = "BIT[FDH CBH 4CH] 1,(IY+d)",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 77] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x4D,
                InstructionText = "BIT[FDH CBH 4DH] 1,(IY+d)",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 78] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x4E,
                InstructionText = "BIT 1,(IY+d)",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 79] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x4F,
                InstructionText = "BIT[FDH CBH 4FH] 1,(IY+d)",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 80] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x50,
                InstructionText = "BIT[FDH CBH 50H] 2,(IY+d)",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 81] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x51,
                InstructionText = "BIT[FDH CBH 51H] 2,(IY+d)",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 82] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x52,
                InstructionText = "BIT[FDH CBH 52H] 2,(IY+d)",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 83] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x53,
                InstructionText = "BIT[FDH CBH 53H] 2,(IY+d)",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 84] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x54,
                InstructionText = "BIT[FDH CBH 54H] 2,(IY+d)",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 85] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x55,
                InstructionText = "BIT[FDH CBH 55H] 2,(IY+d)",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 86] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x56,
                InstructionText = "BIT 2,(IY+d)",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 87] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x57,
                InstructionText = "BIT[FDH CBH 57H] 2,(IY+d)",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 88] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x58,
                InstructionText = "BIT[FDH CBH 58H] 3,(IY+d)",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 89] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x59,
                InstructionText = "BIT[FDH CBH 59H] 3,(IY+d)",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 90] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x5A,
                InstructionText = "BIT[FDH CBH 5AH] 3,(IY+d)",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 91] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x5B,
                InstructionText = "BIT[FDH CBH 5BH] 3,(IY+d)",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 92] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x5C,
                InstructionText = "BIT[FDH CBH 5CH] 3,(IY+d)",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 93] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x5D,
                InstructionText = "BIT[FDH CBH 5DH] 3,(IY+d)",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 94] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x5E,
                InstructionText = "BIT 3,(IY+d)",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 95] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x5F,
                InstructionText = "BIT[FDH CBH 5FH] 3,(IY+d)",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 96] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x60,
                InstructionText = "BIT[FDH CBH 60H] 4,(IY+d)",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 97] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x61,
                InstructionText = "BIT[FDH CBH 61H] 4,(IY+d)",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 98] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x62,
                InstructionText = "BIT[FDH CBH 62H] 4,(IY+d)",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 99] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x63,
                InstructionText = "BIT[FDH CBH 63H] 4,(IY+d)",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 100] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x64,
                InstructionText = "BIT[FDH CBH 64H] 4,(IY+d)",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 101] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x65,
                InstructionText = "BIT[FDH CBH 65H] 4,(IY+d)",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 102] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x66,
                InstructionText = "BIT 4,(IY+d)",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 103] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x67,
                InstructionText = "BIT[FDH CBH 67H] 4,(IY+d)",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 104] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x68,
                InstructionText = "BIT[FDH CBH 68H] 5,(IY+d)",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 105] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x69,
                InstructionText = "BIT[FDH CBH 69H] 5,(IY+d)",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 106] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x6A,
                InstructionText = "BIT[FDH CBH 6AH] 5,(IY+d)",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 107] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x6B,
                InstructionText = "BIT[FDH CBH 6BH] 5,(IY+d)",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 108] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x6C,
                InstructionText = "BIT[FDH CBH 6CH] 5,(IY+d)",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 109] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x6D,
                InstructionText = "BIT[FDH CBH 6DH] 5,(IY+d)",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 110] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x6E,
                InstructionText = "BIT 5,(IY+d)",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 111] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x6F,
                InstructionText = "BIT[FDH CBH 6FH] 5,(IY+d)",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 112] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x70,
                InstructionText = "BIT[FDH CBH 70H] 6,(IY+d)",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 113] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x71,
                InstructionText = "BIT[FDH CBH 71H] 6,(IY+d)",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 114] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x72,
                InstructionText = "BIT[FDH CBH 72H] 6,(IY+d)",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 115] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x73,
                InstructionText = "BIT[FDH CBH 73H] 6,(IY+d)",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 116] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x74,
                InstructionText = "BIT[FDH CBH 74H] 6,(IY+d)",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 117] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x75,
                InstructionText = "BIT[FDH CBH 75H] 6,(IY+d)",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 118] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x76,
                InstructionText = "BIT 6,(IY+d)",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 119] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x77,
                InstructionText = "BIT[FDH CBH 77H] 6,(IY+d)",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 120] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x78,
                InstructionText = "BIT[FDH CBH 78H] 7,(IY+d)",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 121] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x79,
                InstructionText = "BIT[FDH CBH 79H] 7,(IY+d)",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 122] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x7A,
                InstructionText = "BIT[FDH CBH 7AH] 7,(IY+d)",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 123] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x7B,
                InstructionText = "BIT[FDH CBH 7BH] 7,(IY+d)",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 124] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x7C,
                InstructionText = "BIT[FDH CBH 7CH] 7,(IY+d)",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 125] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x7D,
                InstructionText = "BIT[FDH CBH 7DH] 7,(IY+d)",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 126] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x7E,
                InstructionText = "BIT 7,(IY+d)",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 127] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x7F,
                InstructionText = "BIT[FDH CBH 7FH] 7,(IY+d)",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 17,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = true,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 128] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x80,
                InstructionText = "RES 0,(IY+d),B",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.B,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 129] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x81,
                InstructionText = "RES 0,(IY+d),C",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.C,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 130] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x82,
                InstructionText = "RES 0,(IY+d),D",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.D,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 131] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x83,
                InstructionText = "RES 0,(IY+d),E",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.E,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 132] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x84,
                InstructionText = "RES 0,(IY+d),H",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.H,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 133] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x85,
                InstructionText = "RES 0,(IY+d),L",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.L,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 134] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x86,
                InstructionText = "RES 0,(IY+d)",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 94,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 135] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x87,
                InstructionText = "RES 0,(IY+d),A",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.A,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 136] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x88,
                InstructionText = "RES 1,(IY+d),B",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.B,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 137] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x89,
                InstructionText = "RES 1,(IY+d),C",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.C,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 138] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x8A,
                InstructionText = "RES 1,(IY+d),D",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.D,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 139] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x8B,
                InstructionText = "RES 1,(IY+d),E",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.E,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 140] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x8C,
                InstructionText = "RES 1,(IY+d),H",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.H,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 141] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x8D,
                InstructionText = "RES 1,(IY+d),L",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.L,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 142] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x8E,
                InstructionText = "RES 1,(IY+d)",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 94,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 143] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x8F,
                InstructionText = "RES 1,(IY+d),A",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.A,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 144] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x90,
                InstructionText = "RES 2,(IY+d),B",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.B,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 145] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x91,
                InstructionText = "RES 2,(IY+d),C",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.C,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 146] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x92,
                InstructionText = "RES 2,(IY+d),D",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.D,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 147] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x93,
                InstructionText = "RES 2,(IY+d),E",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.E,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 148] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x94,
                InstructionText = "RES 2,(IY+d),H",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.H,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 149] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x95,
                InstructionText = "RES 2,(IY+d),L",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.L,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 150] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x96,
                InstructionText = "RES 2,(IY+d)",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 94,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 151] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x97,
                InstructionText = "RES 2,(IY+d),A",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.A,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 152] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x98,
                InstructionText = "RES 3,(IY+d),B",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.B,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 153] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x99,
                InstructionText = "RES 3,(IY+d),C",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.C,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 154] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x9A,
                InstructionText = "RES 3,(IY+d),D",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.D,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 155] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x9B,
                InstructionText = "RES 3,(IY+d),E",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.E,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 156] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x9C,
                InstructionText = "RES 3,(IY+d),H",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.H,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 157] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x9D,
                InstructionText = "RES 3,(IY+d),L",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.L,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 158] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x9E,
                InstructionText = "RES 3,(IY+d)",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 94,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 159] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0x9F,
                InstructionText = "RES 3,(IY+d),A",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.A,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 160] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xA0,
                InstructionText = "RES 4,(IY+d),B",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.B,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 161] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xA1,
                InstructionText = "RES 4,(IY+d),C",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.C,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 162] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xA2,
                InstructionText = "RES 4,(IY+d),D",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.D,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 163] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xA3,
                InstructionText = "RES 4,(IY+d),E",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.E,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 164] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xA4,
                InstructionText = "RES 4,(IY+d),H",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.H,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 165] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xA5,
                InstructionText = "RES 4,(IY+d),L",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.L,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 166] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xA6,
                InstructionText = "RES 4,(IY+d)",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 94,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 167] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xA7,
                InstructionText = "RES 4,(IY+d),A",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.A,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 168] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xA8,
                InstructionText = "RES 5,(IY+d),B",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.B,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 169] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xA9,
                InstructionText = "RES 5,(IY+d),C",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.C,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 170] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xAA,
                InstructionText = "RES 5,(IY+d),D",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.D,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 171] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xAB,
                InstructionText = "RES 5,(IY+d),E",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.E,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 172] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xAC,
                InstructionText = "RES 5,(IY+d),H",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.H,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 173] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xAD,
                InstructionText = "RES 5,(IY+d),L",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.L,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 174] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xAE,
                InstructionText = "RES 5,(IY+d)",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 94,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 175] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xAF,
                InstructionText = "RES 5,(IY+d),A",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.A,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 176] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xB0,
                InstructionText = "RES 6,(IY+d),B",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.B,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 177] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xB1,
                InstructionText = "RES 6,(IY+d),C",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.C,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 178] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xB2,
                InstructionText = "RES 6,(IY+d),D",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.D,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 179] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xB3,
                InstructionText = "RES 6,(IY+d),E",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.E,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 180] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xB4,
                InstructionText = "RES 6,(IY+d),H",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.H,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 181] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xB5,
                InstructionText = "RES 6,(IY+d),L",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.L,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 182] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xB6,
                InstructionText = "RES 6,(IY+d)",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 94,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 183] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xB7,
                InstructionText = "RES 6,(IY+d),A",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.A,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 184] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xB8,
                InstructionText = "RES 7,(IY+d),B",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.B,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 185] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xB9,
                InstructionText = "RES 7,(IY+d),C",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.C,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 186] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xBA,
                InstructionText = "RES 7,(IY+d),D",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.D,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 187] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xBB,
                InstructionText = "RES 7,(IY+d),E",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.E,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 188] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xBC,
                InstructionText = "RES 7,(IY+d),H",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.H,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 189] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xBD,
                InstructionText = "RES 7,(IY+d),L",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.L,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 190] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xBE,
                InstructionText = "RES 7,(IY+d)",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 94,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 191] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xBF,
                InstructionText = "RES 7,(IY+d),A",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.A,
                InstructionTypeIndex = 95,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 192] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xC0,
                InstructionText = "SET 0,(IY+d),B",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.B,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 193] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xC1,
                InstructionText = "SET 0,(IY+d),C",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.C,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 194] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xC2,
                InstructionText = "SET 0,(IY+d),D",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.D,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 195] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xC3,
                InstructionText = "SET 0,(IY+d),E",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.E,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 196] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xC4,
                InstructionText = "SET 0,(IY+d),H",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.H,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 197] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xC5,
                InstructionText = "SET 0,(IY+d),L",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.L,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 198] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xC6,
                InstructionText = "SET 0,(IY+d)",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 131,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 199] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xC7,
                InstructionText = "SET 0,(IY+d),A",
                Param1 = Bit.b0,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.A,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 200] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xC8,
                InstructionText = "SET 1,(IY+d),B",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.B,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 201] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xC9,
                InstructionText = "SET 1,(IY+d),C",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.C,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 202] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xCA,
                InstructionText = "SET 1,(IY+d),D",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.D,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 203] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xCB,
                InstructionText = "SET 1,(IY+d),E",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.E,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 204] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xCC,
                InstructionText = "SET 1,(IY+d),H",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.H,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 205] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xCD,
                InstructionText = "SET 1,(IY+d),L",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.L,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 206] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xCE,
                InstructionText = "SET 1,(IY+d)",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 131,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 207] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xCF,
                InstructionText = "SET 1,(IY+d),A",
                Param1 = Bit.b1,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.A,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 208] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xD0,
                InstructionText = "SET 2,(IY+d),B",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.B,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 209] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xD1,
                InstructionText = "SET 2,(IY+d),C",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.C,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 210] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xD2,
                InstructionText = "SET 2,(IY+d),D",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.D,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 211] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xD3,
                InstructionText = "SET 2,(IY+d),E",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.E,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 212] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xD4,
                InstructionText = "SET 2,(IY+d),H",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.H,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 213] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xD5,
                InstructionText = "SET 2,(IY+d),L",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.L,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 214] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xD6,
                InstructionText = "SET 2,(IY+d)",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 131,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 215] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xD7,
                InstructionText = "SET 2,(IY+d),A",
                Param1 = Bit.b2,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.A,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 216] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xD8,
                InstructionText = "SET 3,(IY+d),B",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.B,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 217] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xD9,
                InstructionText = "SET 3,(IY+d),C",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.C,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 218] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xDA,
                InstructionText = "SET 3,(IY+d),D",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.D,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 219] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xDB,
                InstructionText = "SET 3,(IY+d),E",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.E,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 220] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xDC,
                InstructionText = "SET 3,(IY+d),H",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.H,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 221] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xDD,
                InstructionText = "SET 3,(IY+d),L",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.L,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 222] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xDE,
                InstructionText = "SET 3,(IY+d)",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 131,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 223] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xDF,
                InstructionText = "SET 3,(IY+d),A",
                Param1 = Bit.b3,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.A,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 224] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xE0,
                InstructionText = "SET 4,(IY+d),B",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.B,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 225] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xE1,
                InstructionText = "SET 4,(IY+d),C",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.C,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 226] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xE2,
                InstructionText = "SET 4,(IY+d),D",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.D,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 227] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xE3,
                InstructionText = "SET 4,(IY+d),E",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.E,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 228] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xE4,
                InstructionText = "SET 4,(IY+d),H",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.H,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 229] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xE5,
                InstructionText = "SET 4,(IY+d),L",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.L,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 230] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xE6,
                InstructionText = "SET 4,(IY+d)",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 131,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 231] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xE7,
                InstructionText = "SET 4,(IY+d),A",
                Param1 = Bit.b4,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.A,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 232] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xE8,
                InstructionText = "SET 5,(IY+d),B",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.B,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 233] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xE9,
                InstructionText = "SET 5,(IY+d),C",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.C,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 234] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xEA,
                InstructionText = "SET 5,(IY+d),D",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.D,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 235] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xEB,
                InstructionText = "SET 5,(IY+d),E",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.E,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 236] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xEC,
                InstructionText = "SET 5,(IY+d),H",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.H,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 237] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xED,
                InstructionText = "SET 5,(IY+d),L",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.L,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 238] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xEE,
                InstructionText = "SET 5,(IY+d)",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 131,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 239] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xEF,
                InstructionText = "SET 5,(IY+d),A",
                Param1 = Bit.b5,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.A,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 240] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xF0,
                InstructionText = "SET 6,(IY+d),B",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.B,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 241] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xF1,
                InstructionText = "SET 6,(IY+d),C",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.C,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 242] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xF2,
                InstructionText = "SET 6,(IY+d),D",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.D,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 243] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xF3,
                InstructionText = "SET 6,(IY+d),E",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.E,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 244] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xF4,
                InstructionText = "SET 6,(IY+d),H",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.H,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 245] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xF5,
                InstructionText = "SET 6,(IY+d),L",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.L,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 246] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xF6,
                InstructionText = "SET 6,(IY+d)",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 131,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 247] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xF7,
                InstructionText = "SET 6,(IY+d),A",
                Param1 = Bit.b6,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.A,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 248] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xF8,
                InstructionText = "SET 7,(IY+d),B",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.B,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 249] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xF9,
                InstructionText = "SET 7,(IY+d),C",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.C,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 250] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xFA,
                InstructionText = "SET 7,(IY+d),D",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.D,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 251] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xFB,
                InstructionText = "SET 7,(IY+d),E",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.E,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 252] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xFC,
                InstructionText = "SET 7,(IY+d),H",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.H,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 253] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xFD,
                InstructionText = "SET 7,(IY+d),L",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.L,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 254] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xFE,
                InstructionText = "SET 7,(IY+d)",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                InstructionTypeIndex = 131,
                InstructionTypeParamVariant = 0,
                IsUndocumented = false,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            Tables[6, 255] = new InstructionCode()
            {
                Prefix = new byte[] { 0xFD, 0xCB },
                OpCode = 0xFF,
                InstructionText = "SET 7,(IY+d),A",
                Param1 = Bit.b7,
                Param2 = AddressIndexBase.IY,
                Param3 = Register.A,
                InstructionTypeIndex = 132,
                InstructionTypeParamVariant = 0,
                IsUndocumented = true,
                IsDuplicate = false,
                OpCodeByteCount = 3,
                OperandsByteCount = 1,
                FetchMoreBytes = 0,
                SwitchToTableNumber = null
            };

            for (int i = 0; i < 7; i++)
            {
                for (int j = 0; j < 256; j++)
                {
                    InstructionCode opcode = Tables[i, j];
                    if (opcode.FetchMoreBytes == 0 && opcode.SwitchToTableNumber == null)
                    {
                        string text = opcode.InstructionText.Replace("nn", "n").Replace("e", "n");
                        Dictionary.Add(text, opcode);
                    }
                }
            }
        }