public override AssemblyLine[] GetLines(long startAddr, long endAddr)
{
List <AssemblyLine> lines = new List <AssemblyLine> ();
MD.TargetAddress addr = baseAddr + (startAddr - baseAddr.Address);
while (addr.Address <= endAddr)
{
try {
MD.AssemblerLine line = thread.DisassembleInstruction(null, addr);
lines.Add(new AssemblyLine(addr.Address, line.Text));
addr += line.InstructionSize;
} catch {
Console.WriteLine("failed " + addr.Address);
lines.Add(new AssemblyLine(addr.Address, "??"));
addr++;
}
}
return(lines.ToArray());
}