Ejemplo n.º 1
0
        private void Compile()
        {
            var simAdapter = GetSimAdaptor("x86");

            compileStartTime = DateTime.Now;

            Compiler.CompilerOptions.EnableSSA               = false;
            Compiler.CompilerOptions.EnableOptimizations     = false;
            Compiler.CompilerOptions.EnableVariablePromotion = false;
            Compiler.CompilerOptions.EnableSparseConditionalConstantPropagation = false;
            Compiler.CompilerOptions.EnableInlinedMethods = false;

            Compiler.CompilerOptions.LinkerFactory = delegate { return(new SimLinker(simAdapter)); };
            Compiler.CompilerFactory = delegate { return(new SimCompiler(simAdapter)); };

            Compiler.Execute(Environment.ProcessorCount);

            SimCPU = simAdapter.SimCPU;

            SimCPU.Monitor.BreakAtTick      = 1;
            SimCPU.Monitor.BreakOnException = true;
            SimCPU.Monitor.OnStateUpdate    = UpdateSimState;
            SimCPU.Reset();

            Display32 = SimCPU.GetState().NativeRegisterSize == 32;
        }
Ejemplo n.º 2
0
        public void Restart()
        {
            if (SimCPU == null)
            {
                return;
            }

            Record = false;

            SimCPU.Monitor.Stop = true;
            SimCPU.Monitor.StepOverBreakPoint = 0;

            SimCPU.Reset();
            stopwatch.Reset();

            Status = "Simulation Reset.";
            SimCPU.Monitor.OnExecutionStepCompleted(true);

            symbolView.CreateEntries();
        }