public void SimpleAssembleTest() { var source = new[] { "ADD R0, R0, #10", "NOT R1, R1", "AND R2, R0, #0", "OUT", "HALT" }; var assembled = new NeoAssembler(new Parser().Parse(source)).Assemble(); Assert.Equals(assembled[0], 0x102A); Assert.Equals(assembled[1], 0x927F); Assert.Equals(assembled[2], 0x5420); Assert.Equals(assembled[3], 0xF021); Assert.Equals(assembled[4], 0xF025); }
private static void RunLC3(Options options) { var lc3 = new LC3(); var program = new NeoAssembler(new Parser().ParseFile(options.program)).Assemble(); foreach (var mem in program) { lc3.memory.Write(mem.Key, mem.Value); } while (lc3.Active) { lc3.Execute(); } if (lc3.status == LC3.Status.ERROR) { Console.Error.Write("Program unexpectedly exits"); } }