private void BuildTest(Address addrBase, IPlatform platform, Action<M68kAssembler> asmProg) { var entryPoints = new List<EntryPoint>(); var asm = new M68kAssembler(arch, addrBase, entryPoints); asmProg(asm); var lr = asm.GetImage(); program = new Program { Architecture = arch, Image = lr.Image, ImageMap = lr.ImageMap, Platform = platform, }; RunTest(addrBase); }
public Program Assemble(Address baseAddress, TextReader rdr) { this.addrBase = baseAddress; this.lexer = new Lexer(rdr); this.arch = new M68kArchitecture("m68k"); asm = new M68kAssembler(arch, addrBase, entryPoints); this.emitter = asm.Emitter; // Assemblers are strongly line-oriented. while (lexer.PeekToken().Type != TokenType.EOFile) { ProcessLine(); } asm.ReportUnresolvedSymbols(); //addrStart = addrBase; return(asm.GetImage()); }
private void Rewrite(Action<M68kAssembler> build) { var asm = new M68kAssembler(arch, addrBase, new List<EntryPoint>()); build(asm); image = asm.GetImage().Image; }
private void Rewrite(Action<M68kAssembler> build) { var asm = new M68kAssembler(arch, addrBase, new List<ImageSymbol>()); build(asm); mem = asm.GetImage().SegmentMap.Segments.Values.First().MemoryArea; }
public void Setup() { arch = new M68kArchitecture(); asm = new M68kAssembler(arch, Address.Ptr32(0x00010000), new List<ImageSymbol>()); }
public void Setup() { arch = new M68kArchitecture(); asm = new M68kAssembler(arch, Address.Ptr32(0x00010000), new List<EntryPoint>()); }