Einzelnen Beitrag anzeigen

OLLI_T

Registriert seit: 13. Okt 2003
Ort: Nähe Wetzlar / Hessen
143 Beiträge
 
Delphi 5 Enterprise
 
#4

Re: Diverse Fragen zum Assembler Operator call

  Alt 18. Nov 2003, 14:32
HY Choose!

OK, also werde ich EAX brav in Ruhe lassen bzw. sichern, sofern ich noch ne weitere Klassenmethode aufrufen möchte! Das mit der Optimierung und Self wird damit auch verständlich.

Dann könnte ich eigentlich ausführlich schreiben:

  Call [EAX].HorzLine Das entspricht dann in Pascal:

  Self.HorzLine(XStart,XEnd,Y); Das mit der Parameterübergabe ist mir allerdings trotz des guten Links noch nicht ganz geläufig. Die Daten müssen auf den Stack und gemäß der Standardaufrufkonvention register von links nach rechts. Somit muss ich mein Beispiel von eben wohl in dieser Art erweitern:

Delphi-Quellcode:
Var SicSelf:TDIBSection24; XStart,XEnd,YPos:DWord;
  asm
    mov SicSelf, eax // Das muss sein!
    push ecx
    push edx
    mov eax, SicSelf // Das muss sein!
    mov edx, XStart
    mov ecx, XEnd
    push Y
    Call HorzLine
    pop Y
    pop edx
    pop ecx
Werde das mal testen, ob ich damit hinkomme! Dir noch einen schönen Nachmittag.

OLLI
No Pain No Gain!
  Mit Zitat antworten Zitat