private void Form1_Load(object sender, EventArgs e) { uint[] bcode = new Assembler().Assemble("prog.asm"); var s = new Assembler().Disassemble(bcode); System.Diagnostics.Debug.WriteLine("\r\n-----------------------"); System.Diagnostics.Debug.WriteLine(s); System.Diagnostics.Debug.WriteLine("-----------------------\r\n"); timer1.Enabled = true; var interpreter1 = new Interpreter(); interpreter1.GraphicsOutputEvent += interpreter1_GraphicsOutputEvent; var task1 = InterpreterTask.RunTask(interpreter1, bcode); task1.ContinueWith( t => t.Exception.Handle(ex => { System.Diagnostics.Debug.WriteLine(ex.Message); System.Diagnostics.Debug.WriteLine(ex.StackTrace); return(false); }), TaskContinuationOptions.OnlyOnFaulted ); }
static void Main(string[] args) { uint[] bcode = new Assembler().Assemble("prog.asm"); var s = new Assembler().Disassemble(bcode); System.Diagnostics.Debug.WriteLine("\r\n-----------------------"); System.Diagnostics.Debug.WriteLine(s); System.Diagnostics.Debug.WriteLine("-----------------------\r\n"); var interpreter1 = new Interpreter(); interpreter1.ConsoleOutputEvent += interpreter_ConsoleOutputEvent; var task1 = InterpreterTask.RunTask(interpreter1, bcode); //var interpreter2 = new Interpreter(); //interpreter2.ConsoleOutputEvent += interpreter_ConsoleOutputEvent; //var task2 = InterpreterTask.RunTask(interpreter2, bcode); //var interpreter3 = new Interpreter(); //interpreter3.ConsoleOutputEvent += interpreter_ConsoleOutputEvent; //var task3 = InterpreterTask.RunTask(interpreter3, bcode); //var interpreter4 = new Interpreter(); //interpreter4.ConsoleOutputEvent += interpreter_ConsoleOutputEvent; //var task4 = InterpreterTask.RunTask(interpreter4, bcode); //task4.Wait(); //task3.Wait(); //task2.Wait(); task1.Wait(); Console.ReadLine(); }