protected void ExecuteOpcodes() { _cpuContext.Execute(_context, _entryPoint); if (_unicornAvailable) { _unicornEmu.RunForCount((_currAddress - _entryPoint - 4) / 4); } }
protected void ExecuteOpcodes(bool runUnicorn = true) { _cpuContext.Execute(_context, CodeBaseAddress); if (_unicornAvailable && runUnicorn) { _unicornEmu.RunForCount((_currAddress - CodeBaseAddress - 4) / 4); } }
protected void ExecuteOpcodes() { _translator.Execute(_context, _entryPoint); if (_unicornAvailable) { _unicornEmu.RunForCount((ulong)(_currAddress - _entryPoint - 4) / 4); } }
protected void ExecuteOpcodes() { using (ManualResetEvent Wait = new ManualResetEvent(false)) { Thread.ThreadState.Break += (sender, e) => Thread.StopExecution(); Thread.WorkFinished += (sender, e) => Wait.Set(); Thread.Execute(); Wait.WaitOne(); } if (UnicornAvailable) { UnicornEmu.RunForCount((ulong)(Position - EntryPoint - 8) / 4); } }