anchor.diff:      function isFloatPoint: Boolean; virtual; abstract;
       function isReadOnly: Boolean; virtual; abstract;
       function BitSize: Integer; virtual; abstract;
  -    
  +
       procedure SetValue(const Value; ValueBitSize: Integer); virtual; abstract;
       procedure GetValue(var Value; ValueBitSize: Integer); virtual; abstract;
  -    
  +
       property SInt64: Int64 read GetSInt64 write SetSInt64;
       property UInt64: QWord read GetUInt64 write SetUInt64;
  -    
  +
       property SInt32: Integer  read GetSInt32 write SetSInt32;
       property UInt32: LongWord read GetUInt32 write SetUInt32;
   
       property SInt16: ShortInt read GetSInt16 write SetSInt16;
       property UInt16: Word read GetUInt16 write SetUInt16;
  -    
  +
       property SInt8: SmallInt read GetSInt8 write SetSInt8;
       property UInt8: Byte read GetUInt8 write SetUInt8;
  -    
  +
       property DbgPtr: TDbgPtr read GetDbgPtr write SetDbgPtr;
  -  
  +
       property Name: String read GetName;
     end;
  -  
  +
     TDbgDataList = class(TObject)
     protected
       function GetCount: Integer; virtual; abstract;
  
positive.code:     property Reg[const Name: String]: TDbgData read GetRegister; default;
      function RegByIndex(idx: Integer): TDbgData; virtual; abstract;
    end;
    
    TDbgEventKind = (
      dek_Other, dek_SysExc, dek_SingleStep, dek_BreakPoint, 
      dek_ProcessStart, dek_ProcessTerminated,
      dek_ThreadStart, dek_ThreadTerminated,
      dek_SysCall);
    
    TDbgEvent = record
      Addr    : TDbgPtr;
      Process : TDbgProcessID;
      Thread  : TDbgThreadID;
      Kind    : TDbgEventKind;
      Debug   : String;
    end;   
    
    TDbgRunMode = (drm_Normal, drm_Suspended, drm_SingleStep);
    
    { TDbgTarget }
  
    TDbgTarget = class(TObject) {TDbgSysAPI}
  
negative.code:   SetValue(AValue, 8);
  end;
  
  procedure TDbgData.SetUInt8(const AValue: Byte);
  begin
    SetValue(AValue, 8);
  end;
  