public void TestSuite3() { var symbols = new Dictionary <string, int> { { "Val1", 0x11 }, { "Val2", 0x22 }, { "Val3", 0xff }, { "Loc1", 0xd020 }, { "Loc2", 0xd021 }, { "Loc3", 0xd022 } }; var symbolFile = new SymbolFile(symbols); var tree = GetContext("GrammarTests/test-3.txt"); var walker = new ParseTreeWalker(); var sbl = new SimBaseListener { Symbols = symbolFile }; walker.Walk(sbl, tree); Assert.AreEqual(0x11, sbl.Proc.ReadMemoryValueWithoutCycle(0xd020)); Assert.AreEqual(0x22, sbl.Proc.ReadMemoryValueWithoutCycle(0xd021)); Assert.AreEqual(0xff, sbl.Proc.ReadMemoryValueWithoutCycle(0xd022)); }
public void TestSuite7() { var tree = GetContext("GrammarTests/test-7.txt"); var walker = new ParseTreeWalker(); var sbl = new SimBaseListener(); walker.Walk(sbl, tree); }
private static int RunTests(Options opts) { var afs = new AntlrFileStream(opts.SuiteFile); var lexer = new sim6502Lexer(afs); var tokens = new CommonTokenStream(lexer); var parser = new sim6502Parser(tokens) { BuildParseTree = true }; var tree = parser.suites(); var walker = new ParseTreeWalker(); var sbl = new SimBaseListener(); walker.Walk(sbl, tree); return(sbl.TotalSuitesFailed == 0 ? 0 : 1); }
public void TestSuite10() { var symbols = new Dictionary <string, int> { { "Loc1", 0xd020 } }; var symbolFile = new SymbolFile(symbols); var tree = GetContext("GrammarTests/test-10.txt"); var walker = new ParseTreeWalker(); var sbl = new SimBaseListener { Symbols = symbolFile }; walker.Walk(sbl, tree); }
public void TestSuite2() { var symbols = new Dictionary <string, int> { { "Val1", 0x11 }, { "Val2", 0x22 }, { "Val3", 0xff } }; var symbolFile = new SymbolFile(symbols); var tree = GetContext("GrammarTests/test-2.txt"); var walker = new ParseTreeWalker(); var sbl = new SimBaseListener { Symbols = symbolFile }; walker.Walk(sbl, tree); Assert.AreEqual(0x11, sbl.Proc.XRegister); Assert.AreEqual(0x22, sbl.Proc.Accumulator); Assert.AreEqual(0xff, sbl.Proc.YRegister); }
public void TestSuite8() { var symbols = new Dictionary <string, int> { { "Loc1", 0xd020 } }; var symbolFile = new SymbolFile(symbols); var tree = GetContext("GrammarTests/test-8.txt"); var walker = new ParseTreeWalker(); var sbl = new SimBaseListener { Symbols = symbolFile }; walker.Walk(sbl, tree); Assert.AreEqual(0xabcd, sbl.Proc.ReadMemoryWordWithoutCycle(0xd020)); Assert.AreEqual(0xd0, sbl.Proc.ReadMemoryValueWithoutCycle(0xd022)); }
public void TestSuite4() { var symbols = new Dictionary <string, int> { { "FALSE", 0x00 } }; var symbolFile = new SymbolFile(symbols); var tree = GetContext("GrammarTests/test-4.txt"); var walker = new ParseTreeWalker(); var sbl = new SimBaseListener { Symbols = symbolFile }; walker.Walk(sbl, tree); Assert.IsTrue(sbl.Proc.CarryFlag); Assert.IsFalse(sbl.Proc.NegativeFlag); Assert.IsTrue(sbl.Proc.ZeroFlag); Assert.IsFalse(sbl.Proc.OverflowFlag); Assert.IsFalse(sbl.Proc.DecimalFlag); }
public void TestSuite1() { var symbols = new Dictionary <string, int>(); symbols.Add("MySymbol", 0xa000); symbols.Add("Loc1", 0xc000); symbols.Add("Loc2", 0x80); var symbolFile = new SymbolFile(symbols); var tree = GetContext("GrammarTests/test-1.txt"); var walker = new ParseTreeWalker(); var sbl = new SimBaseListener(); sbl.Symbols = symbolFile; walker.Walk(sbl, tree); Assert.AreEqual(0xd0, sbl.Proc.ReadMemoryValueWithoutCycle(0x80)); Assert.AreEqual(0xabcd, sbl.Proc.ReadMemoryWordWithoutCycle(0xc000)); Assert.AreEqual(0xdcba, sbl.Proc.ReadMemoryWordWithoutCycle(0xc002)); Assert.AreEqual(0x0d, sbl.Proc.ReadMemoryValueWithoutCycle(0x81)); }