Beispiel #1
0
 public static LineSpan RenderAsmLine(Program program, MachineInstruction instr)
 {
     var line = new List<TextSpan>();
     var addr = instr.Address;
     line.Add(new AddressSpan(addr.ToString() + " ", addr, "link"));
     line.Add(new InstructionTextSpan(instr, BuildBytes(program, instr), "dasm-bytes"));
     var dfmt = new DisassemblyFormatter(program, instr, line);
     instr.Render(dfmt);
     dfmt.NewLine();
     return new LineSpan(addr, line.ToArray());
 }
Beispiel #2
0
 public bool DumpAssemblerLine(MemoryArea mem, MachineInstruction instr, InstrWriter writer)
 {
     Address addrBegin = instr.Address;
     if (ShowAddresses)
         writer.Write("{0} ", addrBegin);
     if (ShowCodeBytes)
     {
         WriteByteRange(mem, instr.Address, instr.Address + instr.Length, writer);
         if (instr.Length * 3 < 16)
         {
             writer.Write(new string(' ', 16 - (instr.Length * 3)));
         }
     }
     writer.Write("\t");
     instr.Render(writer);
     writer.WriteLine();
     return true;
 }