Wichtig ist eigentlich nur die letzte Zeile - da sieht man, dass intern die UStrFromPWChar Funktion aufgerufen wird, um den PChar in String zu konvertieren.
Code:
Unit1.pas.30: S := 'hallo';
005C9BA3 B8D89B5C00 mov eax,$005c9bd8 < EAX = S, wird mit Adresse von 'hallo' initialisiert
005C9BA8 8945F8 mov [ebp-$08],eax < S wird auf dem Stack gesichert
Unit1.pas.31: T := String(S);
005C9BAB 8D45F4 lea eax,[ebp-$0c] < Adresse von T wird in EAX geschrieben
005C9BAE 8B55F8 mov edx,[ebp-$08] < S wird vom Stack geholt und in EDX geschrieben
005C9BB1 E8EE0AE4FF call @UStrFromPWChar < Aufruf der Funktion mit EAX und EDX als Parameter