public void MicroSimulatorTests_ProfTest3_Success() { string[] asmLines = FileManager.Instance.ToReadFile(test3); Lexer lexer = new Lexer(asmLines); Parser parser = new Parser(lexer); Compiler assembler = new Compiler(parser); assembler.Compile(); string[] objData = assembler.GetOutput(); VirtualMemory vm = new VirtualMemory(objData); MicroSimulator micro = new MicroSimulator(vm); int i = 0; while (i < 1000) { micro.NextInstruction(); i++; } Console.WriteLine(micro.MicroRegisters); Console.WriteLine(vm.ToString()); Assert.AreEqual("Registers[0,0,0,0,0,12,15,125]", micro.MicroRegisters.ToString()); }
public void MicroSimulatorTests_ProfTest1_Success() { string[] asmLines = FileManager.Instance.ToReadFile(test1); string[] expected = FileManager.Instance.ToReadFile(test1Comparison); Lexer lexer = new Lexer(asmLines); Parser parser = new Parser(lexer); Compiler assembler = new Compiler(parser); assembler.Compile(); string[] objData = assembler.GetOutput(); VirtualMemory vm = new VirtualMemory(objData); MicroSimulator micro = new MicroSimulator(vm); int i = 0; int counter = 0; while (i < 6) { micro.NextInstruction(); Console.WriteLine(micro.CurrentInstruction); Assert.AreEqual(expected[counter++], micro.CurrentInstruction.ToString()); if (micro.CurrentInstruction.Equals(micro.PreviousInstruction)) { i++; } } Console.WriteLine(micro.MicroRegisters); Assert.AreEqual("Registers[0,8,5,49,10,0,0,0]", micro.MicroRegisters.ToString()); Console.WriteLine(vm.ToString()); }