public override AssemblerMethod DisassembleMethod(TargetMemoryAccess memory, Method method)
{
lock (this) {
ArrayList list = new ArrayList ();
TargetAddress current = method.StartAddress;
while (current < method.EndAddress) {
AssemblerLine line = DisassembleInstruction (
memory, method, current);
if (line == null)
break;
current += line.InstructionSize;
list.Add (line);
}
AssemblerLine[] lines = new AssemblerLine [list.Count];
list.CopyTo (lines, 0);
return new AssemblerMethod (method, lines);
}
}