Exemple #1
0
        public void WriteByteRange(MemoryArea image, Address begin, Address addrEnd, InstrWriter writer)
        {
            EndianImageReader rdr = arch.CreateImageReader(image, begin);

            while (rdr.Address < addrEnd)
            {
                writer.Write(string.Format("{0:X2} ", rdr.ReadByte()));
            }
        }
Exemple #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);
        }
Exemple #3
0
        public void WriteByteRange(MemoryArea image, Address begin, Address addrEnd, InstrWriter writer)
		{
			ImageReader rdr = arch.CreateImageReader(image, begin);
			while (rdr.Address < addrEnd)
			{
				writer.Write(string.Format("{0:X2} ", rdr.ReadByte()));
			}
		}
Exemple #4
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;
 }