anchor.diff:  {$ENDREGION 'InternalDebugUtils'}
   {$REGION 'GLOBAL'}
   const
  -  PAGE_EXECUTE_MASK = PAGE_EXECUTE or PAGE_EXECUTE_READ or
  -    PAGE_EXECUTE_READWRITE or PAGE_EXECUTE_WRITECOPY;
  +  PAGE_EXECUTE_MASK = PAGE_EXECUTE or PAGE_EXECUTE_READ or PAGE_EXECUTE_READWRITE or PAGE_EXECUTE_WRITECOPY;
     { Regular expressions patterns used by TCustomTxtMapParser }
   
     HintSegmentRegExPattern = '^\s*Start\s+Length\s+Name\s+Class\s*$';
  
positive.code:   HintArrayLength = 4;
    HintArrayCharsLength = 8;
    MAX_SEGMENTS = 31;
    MAX_SEGMENT_UNITS = 1000;
  
  type
    THintArray = array [0 .. HintArrayLength - 1] of array
      [0 .. HintArrayCharsLength - 1] of SMapChar;
  
    { ==> First item is used as a cashe <==
      ==> Last item is used as segment's units count and not PSMapUnit !!! <== }
    TSegmentsUnits = array [0 .. MAX_SEGMENTS - 1] of array
      [0 .. MAX_SEGMENT_UNITS] of PSMapUnit;
    PSegmentsUnits = ^TSegmentsUnits;
  
  const
    CharToHexArray: array [SMapChar] of ShortInt = ( //
      -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
      -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
      -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, //
      $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, //
      -1, -1, -1, -1, -1, -1, -1, //
      $0A, $0B, $0C, $0D, $0E, $0F, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
      -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, $0A, $0B, $0C,
      $0D, $0E, $0F, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
      -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
      -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
      -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
      -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
      -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
      -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
      -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
      -1, -1, -1, -1, -1);
  
    HintSegArray: THintArray = ('Start', 'Length', 'Name', 'Class');
    HintUnitArray: THintArray = ('Detailed', 'map', 'of', 'segments');
    HintPublicsByValueArray: THintArray = ('Address', 'Publics', 'by', 'Value');
    HintLineNumbersArray: THintArray = ('Line', 'numbers', 'for', '');
  
  function ConvertMapToSMap(const SrcPtr, DstPtr: Pointer;
    Options: TSMapOptions): Integer;
  var
    LCurrPos: PSMapChar;
    PSegsUnits: PSegmentsUnits;
  
negative.code:   Result := ((Result + 3) div 4) * 4;
  end;
  
  function ConvertMapToSMap(const MapFile: string; const Options: TSMapOptions = [moCompress]): Integer;
  var
    hSrcFile: THandle;
    hDstFile: THandle;
  