public void Scanner_SplitBlock() { scan = CreateScanner(0x100, 0x100); var proc = new Procedure(program.Architecture, "foo", Address.Ptr32(0x00000100), arch.CreateFrame()); Enqueue(Address.Ptr32(0x101), proc); Enqueue(Address.Ptr32(0x106), proc); Enqueue(Address.Ptr32(0x104), proc); Assert.AreEqual("l00000101", scan.FindContainingBlock(Address.Ptr32(0x103)).Name); Assert.AreEqual("l00000104", scan.FindContainingBlock(Address.Ptr32(0x105)).Name); Assert.AreEqual("l00000106", scan.FindContainingBlock(Address.Ptr32(0x106)).Name); }
private void BuildX86RealTest(Action <X86Assembler> test) { var addr = Address.SegPtr(0x0C00, 0); var arch = new X86ArchitectureReal("x86-real-16"); var m = new X86Assembler(sc, new FakePlatform(null, arch), addr, new List <ImageSymbol>()); test(m); this.program = m.GetImage(); this.scan = this.CreateScanner(this.program); var sym = ImageSymbol.Procedure(arch, addr); scan.EnqueueImageSymbol(sym, true); }
private void BuildX86RealTest(Action <X86Assembler> test) { var addr = Address.SegPtr(0x0C00, 0); var m = new X86Assembler(new IntelArchitecture(ProcessorMode.Real), addr, new List <EntryPoint>()); test(m); var lr = m.GetImage(); program = new Program( lr.Image, lr.ImageMap, lr.Architecture, new FakePlatform(null, arch)); scan = CreateScanner(program); EntryPoint ep = new EntryPoint(addr, program.Architecture.CreateProcessorState()); scan.EnqueueEntryPoint(ep); }
static void Main() { string[] inputs = { "() \n349 )4.1E1(", "\t-349 ) ( +598", "() \n+555 )+-222", ") \n-566 287)<", "( \n5.66 M)287)", "( \n \t-256.77E-12) " }; string[] meineINputs = { "(", "((", "()", "(())", "()()", " (", " ) " }; foreach (var strBuffer in meineINputs) { Console.WriteLine("Neuer Input:"); var scanner = new TestScanner(strBuffer); var tokenList = scanner.GetTokenList(); foreach (var token in tokenList) { PrintToken(token); } } Console.ReadLine(); }
public void Scanner_SplitBlock() { scan = CreateScanner(0x100, 0x100); var proc = new Procedure("foo", arch.CreateFrame()); Enqueue(Address.Ptr32(0x101), proc); Enqueue(Address.Ptr32(0x106), proc); Enqueue(Address.Ptr32(0x104), proc); Assert.AreEqual("l00000101", scan.FindContainingBlock(Address.Ptr32(0x103)).Name); Assert.AreEqual("l00000104", scan.FindContainingBlock(Address.Ptr32(0x105)).Name); Assert.AreEqual("l00000106", scan.FindContainingBlock(Address.Ptr32(0x106)).Name); }
private void BuildX86RealTest(Action<X86Assembler> test) { var addr = Address.SegPtr(0x0C00, 0); var m = new X86Assembler(sc, new FakePlatform(null, new X86ArchitectureReal()), addr, new List<EntryPoint>()); test(m); var lr = m.GetImage(); program = new Program( lr.Image, lr.ImageMap, lr.Architecture, lr.Platform); scan = CreateScanner(program); EntryPoint ep = new EntryPoint(addr, program.Architecture.CreateProcessorState()); scan.EnqueueEntryPoint(ep); }
private void BuildX86RealTest(Action<X86Assembler> test) { var addr = Address.SegPtr(0x0C00, 0); var m = new X86Assembler(sc, new FakePlatform(null, new X86ArchitectureReal()), addr, new List<ImageSymbol>()); test(m); this.program = m.GetImage(); this.scan = this.CreateScanner(this.program); var sym = new ImageSymbol(addr); scan.EnqueueImageSymbol(sym, true); }