Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: Inline ASM für Win32 - Einsteiger Crashkurs

  Alt 5. Feb 2007, 14:32
Na dann

Zitat von sirius:
Edit: Bei deiner Variante (Variable/Konstante hinten) muss man allerdings auf "RET" aufpassen (Anzahl der Übergabeparameter auf dem Stack).
Muß man bei der "anderen" Variante auch, denn dort wird auch RET aufgerufen :zwinker;

In diesem Fall blieben dann ja noch diese Möglichkeiten (ohne RET) ^^
Delphi-Quellcode:
function ShowText : PChar;
asm
  JMP @start
  @test: DB 'Hallo Du!', 0
  @start: LEA EAX, @test
end;

function ShowText : PChar;
asm
  LEA EAX, @test
  JMP @exit

  @test: DB 'Hallo Du!', 0
  @exit;
end;
Davon abgesehn das man eh aufpassen muß, daß RESULT auch wirklich in EAX liegt und nicht bei ASM auf den Stack ausgelagert und bei END erst nach EAX kopiert wird...

Man muß also so, oder so aufpassen
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat