public MipsSnapshot(String name) { m_GPR = new GPRRegisters(); m_CP0 = new CP0Registers(); m_CP1 = new FpuRegisters(); m_Name = name + " Snapshot"; }
public ExecutionState() { FCR31 = new Fcr32Register(); CP0Regs = new CP0Registers(); Fpr = new FpuRegisters(); m_Regs = new GPRRegisters(); }
public FPUEntity(DataFormat format, ExecutionState state) { m_BufferPtr = Marshal.AllocHGlobal(8); m_Tag = format; m_Wide = state.CP0Regs.StatusReg.AdditionalFPR; m_FPR = state.Fpr; switch (m_Tag) { case DataFormat.Double: { m_DynamicGet = (e) => { return e.m_Double; }; m_DynamicSet = (e, v) => { e.m_Double = v; }; break; } case DataFormat.Doubleword: { m_DynamicGet = (e) => { return e.m_Long; }; m_DynamicSet = (e, v) => { e.m_Long = v; }; break; } case DataFormat.Single: { m_DynamicGet = (e) => { return e.m_Single; }; m_DynamicSet = (e, v) => { e.m_Single = v; }; break; } case DataFormat.Word: { m_DynamicGet = (e) => { return e.m_Word; }; m_DynamicSet = (e, v) => { e.m_Word = v; }; break; } default: case DataFormat.Reserved: throw new InvalidOperationException("Cannot return a value with reserved data format"); } }