public CPU() { PMode = false; segments = new Segment[6]; registers = new Register[9]; controlRegisters = new uint[5]; idtRegister = new TableRegister(); gdtRegister = new TableRegister(); disasm = new Disassembler(DisassemblerRead); disasm.CodeSize = codeSize; ProcessOperations(); realModeEntry = new GDTEntry { BaseAddress = 0, Is32Bit = false, IsAccessed = true, IsCode = false, Limit = 0xffff, IsWritable = true }; Halted = false; interruptOperand = new Operand(); interruptOperand.Size = 8; interruptOperand.Type = OperandType.Immediate; Reset(); }