示例#1
0
        public SegmentMap CreatePlatformSegmentMap(IPlatform platform, Address loadAddr, byte[] rawBytes)
        {
            var segmentMap = platform.CreateAbsoluteMemoryMap() ?? new SegmentMap(loadAddr);
            var mem        = new ByteMemoryArea(loadAddr, rawBytes);

            segmentMap.AddSegment(mem, "code", AccessMode.ReadWriteExecute);
            return(segmentMap);
        }
示例#2
0
文件: RomLoader.cs 项目: qcyb/reko
 private SegmentMap CreateSegmentMap(ByteMemoryArea bmem, IPlatform platform)
 {
     var segmentMap = platform.CreateAbsoluteMemoryMap();
     var romSegment = segmentMap.Segments.Values.First(s => s.Name == ".text");
     romSegment.ContentSize = (uint)bmem.Length;
     romSegment.MemoryArea = bmem;
     var ramSegment = segmentMap.Segments.Values.First(s => s.Name == ".data");
     ramSegment.MemoryArea = new ByteMemoryArea(ramSegment.Address, new byte[ramSegment.Size]);
     return segmentMap;
 }
示例#3
0
文件: RomLoader.cs 项目: relaxar/reko
 private SegmentMap CreateSegmentMap(MemoryArea mem, IPlatform platform)
 {
     var segmentMap = platform.CreateAbsoluteMemoryMap();
     var romSegment = segmentMap.Segments.Values.First(s => s.Name == ".text");
     romSegment.ContentSize = (uint)mem.Length;
     romSegment.MemoryArea = mem;
     var ramSegment = segmentMap.Segments.Values.First(s => s.Name == ".data");
     ramSegment.MemoryArea = new MemoryArea(ramSegment.Address, new byte[ramSegment.Size]);
     return segmentMap;
 }
示例#4
0
文件: RomLoader.cs 项目: Godzil/reko
        private ImageMap CreateImageMap(MemoryArea mem, IPlatform platform)
        {
            var imageMap   = platform.CreateAbsoluteMemoryMap();
            var romSegment = imageMap.Segments.Values.First(s => s.Name == ".text");

            romSegment.ContentSize = (uint)mem.Length;
            romSegment.MemoryArea  = mem;
            var ramSegment = imageMap.Segments.Values.First(s => s.Name == ".data");

            ramSegment.MemoryArea = new MemoryArea(ramSegment.Address, new byte[ramSegment.Size]);
            return(imageMap);
        }
示例#5
0
文件: DmkLoader.cs 项目: uxmal/reko
 private SegmentMap CreateMemoryMap(IPlatform platform, MemoryArea mem)
 {
     var segmentMap = platform.CreateAbsoluteMemoryMap();
     foreach (var seg in segmentMap.Segments.Values)
     {
         seg.MemoryArea = new MemoryArea(seg.Address, new byte[seg.Size]);
     }
     segmentMap.AddSegment(new ImageSegment(
         "code", 
         mem, 
         AccessMode.ReadWriteExecute));
     return segmentMap;
 }
示例#6
0
        private SegmentMap CreateMemoryMap(IPlatform platform, ByteMemoryArea bmem)
        {
            var segmentMap = platform.CreateAbsoluteMemoryMap();

            foreach (var seg in segmentMap.Segments.Values)
            {
                seg.MemoryArea = new ByteMemoryArea(seg.Address, new byte[seg.Size]);
            }
            segmentMap.AddSegment(new ImageSegment(
                                      "code",
                                      bmem,
                                      AccessMode.ReadWriteExecute));
            return(segmentMap);
        }
示例#7
0
文件: PrgLoader.cs 项目: ghmole/reko
        private SegmentMap CreateSegmentMap(IPlatform platform, ByteMemoryArea bmem, IDictionary <ushort, C64BasicInstruction> lines)
        {
            var     segMap    = platform.CreateAbsoluteMemoryMap();
            Address addrStart = bmem.BaseAddress;

            if (lines.Count > 0)
            {
                segMap.AddSegment(new ImageSegment("basic", bmem.BaseAddress, bmem, AccessMode.ReadExecute));
                var lastLine = lines.Values.OrderByDescending(l => l.Address).First();
                addrStart = lastLine.Address + lastLine.Line.Length;
            }
            segMap.AddSegment(new ImageSegment("code", addrStart, bmem, AccessMode.ReadWriteExecute));
            return(segMap);
        }
示例#8
0
        private ImageMap CreatePlatformMemoryMap(IPlatform platform, Address loadAddr, byte [] rawBytes)
        {
            var imageMap = platform.CreateAbsoluteMemoryMap();

            if (imageMap != null)
            {
                return(imageMap);
            }
            else
            {
                var mem = new MemoryArea(loadAddr, rawBytes);
                return(new ImageMap(loadAddr,
                                    new ImageSegment("code", mem, AccessMode.ReadWriteExecute)));
            }
        }