/// <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);
 }