Stos przekazanie argumentów do wywoływanej funkcji
inł main(void > void funkcja(int arg 1, int arg2, int arg3)
{int lokalna 1, lokalna2;
funkcja! argl. arg2. arg3i:
/
return! 0);
I
1. Zachowanie na stosie wartości rejestrów, używanych przez wywoływana funkcje
2. Umieszczenie na stosie argumentów (od końca)
3. Wywołanie funkcji (cali, na stosie odkłada adres powrotu i skok do funkcji)
4. Zapamiętanie starej ramki stosu (ebp)
5. Zapisanie w ebp położenia nowej ramki stosu (konwencja: ebp=esp)
6. Alokacja miejsca na stosie na zmienne lokalne/automatyczne funkcji
7. Wykonanie funkcji (wartość zwracana w eax (int) albo w stO (float))
8. Zwolnienie miejsca po zmiennych lokalnych
9. Powrót (ret - ściągnięcie ze stosu adresu powrotu i skok pod niego)
10. Zwolnienie miejsca na stosie po argumentach