anchor.diff:  
   @full_allocated:
     {$ifdef CPUX86}
  -    add edx, ebx
  +    add ebx, edx
       sub ecx, 16
  -    lea ebx, [edx + MASK_MEDIUM_ALLOCATED]
  +    mov edx, ebx
  +    add ebx, MASK_MEDIUM_ALLOCATED
       mov [ECX].THeaderMedium.Flags, ebx
       add ecx, edx
       shr edx, 4
       movzx edx, byte ptr [MEDIUM_INDEXES + edx]
       pop ebx
     {$else .CPUX64}
  -    add rdx, r9
  +    add r9, rdx
       sub r8, 16
  -    lea r9, [rdx + MASK_MEDIUM_ALLOCATED]
  +    mov rdx, r9
  +    add r9, MASK_MEDIUM_ALLOCATED
       mov [R8].THeaderMedium.Flags, r9
       add r8, rdx
       shr rdx, 4
  
positive.code:   jbe @return_made_none
    {$ifdef CPUX86}
      push offset @return_var_p
      lea ecx, [ecx + FLAG_MEDIUM_COPY]
    {$else .CPUX64}
      push r10
      lea r9, @return_var_p
  
negative.code: 
    // mark allocated (Result)
    {$ifdef CPUX86}
      add edx, MASK_MEDIUM_ALLOCATED
      mov [ecx - 16].THeaderMedium.Flags, edx
      sub edx, MASK_MEDIUM_ALLOCATED
      mov [ecx + edx].THeaderMedium.PreviousSize, edx
      add ecx, edx
    {$else .CPUX64}
      add rdx, MASK_MEDIUM_ALLOCATED
      mov [r8 - 16].THeaderMedium.Flags, rdx
      sub rdx, MASK_MEDIUM_ALLOCATED
      mov [r8 + rdx].THeaderMedium.PreviousSize, rdx
      add r8, rdx
    {$endif}
  