Thema: Delphi Inline Asm Problem

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.149 Beiträge
 
Delphi 12 Athens
 
#16

Re: Inline Asm Problem

  Alt 8. Mär 2010, 21:20
Zitat von JnZn558:
aber es zeigt auch nichts an.
Dir wurde schon mehrmals gesagt, daß ein String eine komplexere interne Struktur besitzt ... das kann so einfach nichts werden.

Außerdem ist das EAX nur in Bezug auf das Funktionsende das Result, aber Strings und dynamiache Arrays sind kein Result, sondern werden als Parameter übergeben ... das Ganze ist also eine Prozedur mit einem VAR-Parameter für den String ... ergo, du kannst nicht einfach via EAX so das Result zuweisen, da
A) String ... also steckt Result wo anders und
B) liegt nach deinem ASM-Block nicht das Funktionsende.

Schau dir bitte erstmal genauer an, wie das mit den Funktionsparametern, dem Result, speziell auf Methoden bezogen und vorallem wie das mit dem String genau funktioniert, bevor hier noch mehr "gefährlicher Code entsteht.

eine eingache Lösung:
Delphi-Quellcode:
function ShowText: PWideChar;
asm
  lea eax, @str
  ret
  @str:
  dw 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 0
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat