Exemple #1
0
 public override MipsInstruction Decode(uint wInstr, NanoMipsDisassembler dasm)
 {
     if (!dasm.rdr.TryReadUInt16(out ushort uLow16bits))
         return dasm.CreateInvalidInstruction();
     var uInstr32 = (wInstr << 16) | uLow16bits;
     return decoder.Decode(uInstr32, dasm);
 }
        protected override IEnumerable <RtlInstructionCluster> GetRtlStream(MemoryArea mem, IStorageBinder binder, IRewriterHost host)
        {
            var rdr      = arch.CreateImageReader(mem, mem.BaseAddress);
            var dasm     = new NanoMipsDisassembler(arch, rdr);
            var rewriter = new MipsRewriter(arch, rdr, dasm, binder, host);

            return(rewriter);
        }
Exemple #3
0
 public override MipsInstruction Decode(uint wInstr, NanoMipsDisassembler dasm)
 {
     if (!dasm.rdr.TryReadUInt16(out ushort uLowBits))
         return dasm.CreateInvalidInstruction();
     ulong ulInstr = wInstr;
     ulInstr = (ulInstr << 16) | uLowBits;
     return this.decoder.Decode(ulInstr, dasm);
 }
        public void NanoMipsDis_Generate()
        {
            var ab  = new byte[1000];
            var rnd = new Random(0x4711);

            rnd.NextBytes(ab);
            var mem  = new MemoryArea(Address.Ptr32(0x00100000), ab);
            var rdr  = new BeImageReader(mem, 0);
            var dasm = new NanoMipsDisassembler(arch, rdr);

            foreach (var instr in dasm)
            {
            }
        }