public void DoSetup() { mWatch = Stopwatch.StartNew(); mList = new List <WorkInfo>(); mHalt = new HaltEvent(); mThrowUntil = -1; mHaltOn = -1; }
public void Announce(Event ev, object payload = null) { Assert(ev != null, "Machine cannot announce a null event"); if (ev is PHalt) { ev = new HaltEvent(); } System.Reflection.ConstructorInfo oneArgConstructor = ev.GetType().GetConstructors().First(x => x.GetParameters().Length > 0); Event @event = (Event)oneArgConstructor.Invoke(new[] { payload }); AnnounceInternal(@event); }
public void Execute() { switch (AssemblerExecute.registers.AH) { case 0: { AssemblerExecute.flags.InterruptFlag = false; AssemblerExecute.Halt = true; HaltEvent.onHalt(); ProcessStatusUpateEvent.onProcessUpdate(new ProcessStatusUpdateEventArgs("Process Terminated")); AssemblerExecute.flags.InterruptFlag = true; if (CurrentOpcodeEvent.IsNULL()) { Process.GetCurrentProcess().Kill(); } } break; } }
public void Init() { haltEvent = new HaltEvent(); }
public void SetUp() { mHalt = new HaltEvent(); }