Again, with my very rusty assembler:
procedure my_fpc_AnsiStr_Decr_Ref (Var S : Pointer);external name 'FPC_ANSISTR_DECR_REF';
procedure my_fpc_AnsiStr_Incr_Ref (Var S : Pointer);external name 'FPC_ANSISTR_INCR_REF';
procedure TForm1.Button1Click(Sender: TObject);
var
var_1, var_2: String;
begin
var_1 := 'Text1';
var_2 := 'Text2';
{$ASMMODE intel}
asm
lea eax, [var_1]
call my_fpc_ansistr_incr_ref
lea eax, [var_2]
call my_fpc_ansistr_decr_ref
mov eax, [var_2]
mov [var_1], eax
end;
edit1.Text := var_1;
edit2.Text := var_2;
end;