public void Initialize() { InterruptDescriptorTablePointer = new Pointer <Address>(Context.Memory, Address.Null); programMemoryReader = new ProgramMemoryReader <T>(this, Context.Memory); InitializeComponents(); Registers = RegistersContainer.Where(p => p.Value is Register <T>).ToDictionary(p => p.Key, p => (Register <T>)p.Value); }
public VCM86Processor() : base(InstructionSets.VCM86) { Coprocessor = new Coprocessor(); for (byte i = RegistersCount; i < RegistersCount + 8; i++) { RegistersContainer.Add(i, Coprocessor.GetRegister(i - 10)); } }
protected override void InitializeComponents() { base.InitializeComponents(); FPURegisters = RegistersContainer.Where(p => p.Value is Register <double>).ToDictionary(p => p.Key, p => (Register <double>)p.Value); }