Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 3
0
 private void Rewrite(Action<M68kAssembler> build)
 {
     var asm = new M68kAssembler(arch, addrBase, new List<EntryPoint>());
     build(asm);
     image = asm.GetImage().Image;
 }
Ejemplo n.º 4
0
 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;
 }
Ejemplo n.º 5
0
 public void Setup()
 {
     arch = new M68kArchitecture();
     asm = new M68kAssembler(arch, Address.Ptr32(0x00010000), new List<ImageSymbol>());
 }
Ejemplo n.º 6
0
 public void Setup()
 {
     arch = new M68kArchitecture();
     asm = new M68kAssembler(arch, Address.Ptr32(0x00010000), new List<EntryPoint>());
 }