Example #1
0
 TraceInfo Trace(uint addr, uint opcode)
 {
     return(new TraceInfo
     {
         Disassembly = $"{addr:X8}:  {opcode:X8}  {Darm.DisassembleStuff(addr, opcode)}".PadRight(54),
         RegisterInfo = regs.TraceString()
     });
 }
Example #2
0
 TraceInfo Trace(uint addr, uint opcode)
 {
     return(new TraceInfo
     {
         Disassembly = string.Format("{2:X8}:  {0:X8}  {1}", opcode, Darm.DisassembleStuff(addr, opcode), addr).PadRight(54),
         RegisterInfo = regs.TraceString()
     });
 }
Example #3
0
 public override string Disassemble(MemoryDomain m, uint addr, out int length)
 {
     if (Cpu == "ARM v4 (Thumb)")
     {
         addr &= unchecked ((uint)~1);
         int    op  = m.PeekByte((int)addr) | m.PeekByte((int)addr + 1) << 8;
         string ret = Darm.DisassembleStuff(addr | 1, (uint)op);
         length = 2;
         return(ret);
     }
     else
     {
         addr &= unchecked ((uint)~3);
         int op = m.PeekByte((int)addr)
                  | m.PeekByte((int)addr + 1) << 8
                  | m.PeekByte((int)addr + 2) << 16
                  | m.PeekByte((int)addr + 3) << 24;
         string ret = Darm.DisassembleStuff(addr, (uint)op);
         length = 4;
         return(ret);
     }
 }