Stos procesora służy do przechowywania zmiennych lokalnych i informacji o aktualnie wywołanych funkcjach.
Ale czy ten stos procesora jest zrealizowany na zasadzie “normalnego” stosu FIFO :?: Tzn. np. ostatni element (poziom) zawiera np. zmienne lokalne i informacje o funkcji wywołanej najpóźniej (czyli tej, w której jesteśmy), a pierwszy dane funkcji od której zaczyna się wykonywanie programu (np. w C/C++ main()) :?:
Wiem jak działa stos tylko, że stos ma dwa znaczenia: stos jako kolejka LIFO i stos procesora, w którym zapamiętywane są informacje o funkcjach i zmiennych lokalnych.
I czy ten stos procesora tez jest zrealizowany na podstawie “stosu zwykłego” :?: Tzn. np. ostatni element (ten na samej górze) zawiera info o funkcji wywołanej ostatnio, czyli jakby tej w której jesteśmy. Przedostatni o funkcji poprzedniej itd.:
O ile wiem adres powrotu to adres miejsca, w którym kończy się funkcja.
Skoro w danym elemencie stosu jest przechowywany adres powrotu z danej funkcji to skoro za nim są zmienne lokalne, to co jest nie tak w moim rozumowaniu przedstawionym na kodzie :?:
Na twoim kodzie nie przedstawiono ani parametrów ani zmiennych lokalnych ani adresu powrotu z funkcji, natomiast przedstawiono jakąś “informacje o” której nigdy nie było, niema i nie będzie na stosie.