Podprogramy
Konwencja cdecl
- Argumenty są przekazywane przez stos w kolejności od prawej do lewej.
- Argumenty ze stosu musi posprzątać fukcja wywołująca.
- Wartości całkowite i adresy są zwracane w rejestrze EAX lub parze EDX:EAX,
wartości zmiennoprzecinkowe zwracamy w rejestrze ST0.
- Rejestry EAX, ECX i EDX mogą zostać dowolnie zmienione przez funkcję wywołującą.
Pozostałe rejestry po powrocie z fukcji muszą pozostać niezmienione.
- Rejestry zmiennoprzecinkowe ST0-ST7 przed wywołaniem funkcji i po powrocie z niej powinny być puste.
Wyjątkiem jest ST0 jeżeli w nim zwracana jest wartość.
- GCC wymaga aby stos był wyrównany do granicy 16-bajtowej przed wywołaniem funkcji.
Tomasz Kapela, Kraków 2011-2020