Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Inline Assembler in Methoden

  Alt 21. Jun 2007, 10:49
Na klar gibts die Möglichkeit!

Am Anfang einer Methode kann so einiges passieren. Unter anderem wird self als erster Parameter übergeben.
Zeig doch mal, was du gemacht hast!

Edit: Hier mal eine Methode von mir (stdcall)
Delphi-Quellcode:
function TParserReal.in_calc:double;
//Aufruf von implemtierter Funktion
asm
  mov eax,[esp+8] //self nach eax
  push esi
  push edi
  mov edi,[eax].FKonstanten //Konstantenarray in edi
  mov esi,[eax].Fin_args //Variablenarray in esi
  lea edx,[eax].Fv0 //Pointer auf 0 nach edx
  xor ecx,ecx //ecx löschen (Fehlerzähler)
  call [eax].[Ffunc] //Aufruf von implemntierter Funktion
  pop esi
  pop edi
  mov eax,[esp+8] //self nach eax
  mov [eax].Ffehler,ecx //Fehlerzähler speichern
end;
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat