protected override IEnumerable <RtlInstructionCluster> GetRtlStream(MemoryArea mem, IStorageBinder binder, IRewriterHost host) { var rdr = Architecture.CreateImageReader(mem, 0); var state = Architecture.CreateProcessorState(); return(Architecture.CreateRewriter(rdr, state, binder, host)); }
// Convenience functions. public EndianImageReader CreateImageReader(Address addr) { if (!SegmentMap.TryFindSegment(addr, out var segment)) { throw new ArgumentException(string.Format("The address {0} is invalid.", addr)); } return(Architecture.CreateImageReader(segment.MemoryArea, addr)); }
public IEnumerable <MachineInstruction> CreateDisassembler(Address addr) { if (!SegmentMap.TryFindSegment(addr, out var segment)) { throw new ArgumentException(string.Format("The address {0} is invalid.", addr)); } return(Architecture.CreateDisassembler( Architecture.CreateImageReader(segment.MemoryArea, addr))); }
public TInstruction Disassemble(MemoryArea img) { var dasm = Architecture.CreateDisassembler(Architecture.CreateImageReader(img, 0U)); return((TInstruction)dasm.First()); }
public IEnumerable <MachineInstruction> CreateDisassembler(Address addr) { return(Architecture.CreateDisassembler( Architecture.CreateImageReader(Image, addr))); }
public ImageReader CreateImageReader(Address addr) { return(Architecture.CreateImageReader(Image, addr)); }