Znam ten wątek został pokryty znudzenia tutaj oraz w innych miejscach w internecie - ale mam nadzieję, że sprawa jest prosta jak próbuję uzyskać moja głowa wokół zespołu ...Plik/bazowe wskaźniki w zespole
Więc jeśli rozumiem poprawnie, ebp (wskaźnik bazowy) wskaże wierzchołek stosu, a esp (wskaźnik stosu) wskaże na dół - ponieważ stos rośnie w dół. szczególnie dlatego wskazuje na "obecną lokalizację". Tak więc po wywołaniu funkcji, po zapisaniu ebp na stosie wstawia się nową ramkę stosu - dla funkcji. Tak więc w przypadku poniższego obrazu, jeśli zacząłeś od N-3, poszedłbyś na N-2 z wywołaniem funkcji. Ale kiedy jesteś na poziomie N-2 - czy twój ebp == 25 i esp == 24 (przynajmniej początkowo, zanim jakiekolwiek dane zostaną umieszczone na stosie)?
Czy to prawda, czy jestem tutaj na stycznej?
Dzięki!
Zamierzam dodać to jako C, ponieważ wygląda na to, że próbujesz zrozumieć, jaki kod generuje kompilator języka C. Możesz go usunąć, jeśli to nie jest w porządku. – Earlz