Asembler x86/Funkcje/GNU AS: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
__fastcall
→‎Inne języki: rozwinięcie
Linia 82:
pushl $05h
pushl $0389h
call far funkcja
add $3, %esp
</source>
Jako że do funkcji przekazaliśmy argumenty o łącznej wielkości 3 bajtów, po wywołaniu funkcji zwalniamy zajęte miejsce przesuwając szczyt stosu.
====Konwencja szybkiego wywołania====
Istnieje konwencja wywołania __fastcall (szybkie wywołanie), przekazująca argumenty w edx:ecxECX-EDX. Oto przykład:
<source lang="asm">
void __fastcall funkcja(int a, int b);
...
mov $05h, %ecx
mov $0389h, %edx
call @funkcja@3
</source>
Jako że do funkcji przekazaliśmy argumenty o łącznej wielkości 3 bajtów, na końcu nazwy funkcji dopisujemy @3, zaś na początku samo @.
<noinclude>{{Nawigacja|Asembler X86|
[[Asembler X86/Funkcje|Funkcje]]|