anchor.diff:  function isStopped(Status: Integer; var StopSignal: Integer): Boolean;
   function isExited(Status: Integer; var ExitStatus: Integer): Boolean;
   
  -function ReadProcMem(pid: Integer; Offset: TDbgPtr; Size: Integer; var Data: array of Byte): Integer;
  -function WriteProcMem(pid: Integer; Offset: TDbgPtr; Size: Integer; const Data: array of Byte): Integer;
  -function ReadProcMemUser(pid: Integer; Offset: TDbgPtr; Size: Integer; var Data: array of Byte): Integer;
  -function WriteProcMemUser(pid: Integer; Offset: TDbgPtr; Size: Integer; var Data: array of Byte): Integer;
  +function ReadProcMem(pid: TDbgProcessID; Offset: TDbgPtr; Size: Integer; var Data: array of Byte): Integer;
  +function WriteProcMem(pid: TDbgProcessID; Offset: TDbgPtr; Size: Integer; const Data: array of Byte): Integer;
  +function ReadProcMemUser(pid: TDbgProcessID; Offset: TDbgPtr; Size: Integer; var Data: array of Byte): Integer;
  +function WriteProcMemUser(pid: TDbgProcessID; Offset: TDbgPtr; Size: Integer; var Data: array of Byte): Integer;
   
   type
     TCPUState = record
  
positive.code:   TByteArray = array [word] of byte;
    PByteArray = ^TByteArray;
  
  function ReadUser32(pid: Integer; var data: user_32): Boolean;
  begin
    Result := ReadProcMemUser(pid, 0, sizeof(data), PByteArray(@data)^) = sizeof(data);
  end;
  
  function WriteUser32(pid: Integer; const data: user_32): Boolean;
  begin
    Result:=WriteProcMemUser(pid, 0, sizeof(data), PByteArray(@data)^) = sizeof(data);
  end;
  
  function ReadRegsi386(pid: Integer; regs: TDbgDataList): Boolean;
  var
    user    : user_32;
  begin
  
negative.code: 
  { i386 }
  
  function ReadUser32(pid: TDbgProcessID; var data: user_32): Boolean;
  function WriteUser32(pid: TDbgProcessID; const data: user_32): Boolean;
  function ReadRegsi386(pid: TDbgProcessID; regs: TDbgDataList): Boolean;
  function WriteRegsi386(pid: TDbgProcessID; regs: TDbgDataList): Boolean;
  function ReadRegEIP(pid: Integer; var CPUState: TCPUState): Boolean;
  
  { x86_64 (amd64) }
  
  function ReadRegsx64(pid: TDbgProcessID; regs: TDbgDataList): Boolean;
  function WriteRegsx64(pid: TDbgProcessID; regs: TDbgDataList): Boolean;
  function ReadRegRIP(pid: TDbgProcessID; var CPUState: TCPUState): Boolean;
  
  var
    GetExecInstrAddr: function(pid: TDbgProcessID; var State: TCPUState): Boolean = nil;
    EnableSingleStep: function(pid: TDbgProcessID; EnableSingleStep: Boolean): Boolean = nil;
    SoftBreakSize   : Integer;
  
  implementation
  