| Zeile 62: | Zeile 62: | ||
== stdcall == | == stdcall == | ||
| − | stdcall ist die Standardaufrufkonvention unter | + | stdcall ist die Standardaufrufkonvention unter 32bit-Windows Systemen. Es gleicht in den meisten Aspekten cdecl, allerdings ist die aufgerufene Funktion dafür zuständig, die Parameter vom Stack zu nehmen, z.B. indem sie für den Rücksprung die Instruktion "ret n" (Wobei n für die Größe der Parameter in Bytes auf dem Stack steht) benutzt. |
| − | + | ||
== Register- oder Fastcall-Konvention == | == Register- oder Fastcall-Konvention == | ||
| − | Viele Compiler bieten zusätzlich auch noch eine Register- oder Fastcall-Konvention an, die aber meist | + | Viele Compiler bieten zusätzlich auch noch eine Register- oder Fastcall-Konvention an, die aber meist Compilerspezifisch ist. Bei dieser werden aus Geschwindigkeitsgründen die ersten zwei oder drei Parameter in die Register EAX, EDX und ECX gespeichert. Die übrigen Parameter werden, beginnend mit dem letzen, auf den Stack gelegt. Der Rückgabewert wird in AL, AX oder EAX übergeben. |
<c> | <c> | ||
int a,b,c,d,e,r; | int a,b,c,d,e,r; | ||