Einzelnen Beitrag anzeigen

Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#12

AW: XE2 neue calling convention

  Alt 13. Sep 2011, 08:13
Es passt schon so. Im Original ist die Funktion innerhalb einer anderen deklariert und dann wird in RCX RBP abgelegt (hab's gerade geprüft). Damit verschieben sich die anderen Parameter nach RDX und R8. Fragt sich nur warum er das macht. Immerhin passiert das bei Win32 nicht.
Das dient dazu, damit du in der Funktion auf die Parameter und Variablen der äußeren Funktion zugreifen kannst. In X86 wird das auch gemacht, nur eben mit anderen Registern (ich hatte bei Free Pascal vor einiger Zeit was darüber gelesen, aber ich finde den Teil gerade nicht mehr).

Gruß,
Sven
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat