/// <summary> /// Creates new program. Get CodeBlock to load into the simulator's memory /// </summary> /// <param name="cbProgram">CodeBlock to load into the simulator's memory</param> /// <param name="DebugMode">True if the new program suppose to run in debug mode</param> public Program(ProgramBlock cbProgram, bool DebugMode, frmMain theMainApplication, string sInputFile, string sOutputFile) { theProgram = cbProgram; _theMainApplication = theMainApplication; BreakPointWait = new AutoResetEvent(false); _BreakPointList = new BreakPointList(); bInDebug = DebugMode; con = new VAX11Simulator.Console(sInputFile, sOutputFile); theSimulator = new VAX11Simulator.Simulator(theProgram, con); theSimulator.memory.OnMemoryAccess += new MemoryAccessedFunc(MemoryAcessedHandler); theSimulator.memory.OnPageFault += new PageFaultFunc(PageFaultHandler); con.InterruptsEvent += new VAX11Simulator.Console.InterruptsDelegate(InterruptHendler); }