CPU und Architektur
Welcher Bereich wird beim Aufruf einer Subroutine (Funktion) üblicherweise genutzt, um Rücksprungadresse usw. vorübergehend zu sichern?
- AStack
- BCache-Tag
- CFester ROM-Bereich
Antwort und Erläuterung anzeigen
Antwort: A. Stack
Beim Aufruf einer Subroutine werden Rücksprungadresse, zu sichernde Registerwerte und lokale Variablen auf den Stack gelegt. Der Stack arbeitet nach dem LIFO-Prinzip (zuletzt Eingelegtes wird zuerst entnommen), sodass auch bei verschachtelten oder rekursiven Aufrufen in der richtigen Reihenfolge zurückgekehrt wird. Die oberste Position zeigt der Stackpointer an. Wird bei zu tiefer Rekursion der Bereich aufgebraucht, kommt es zum Stack-Überlauf; es gibt auch Angriffe, die durch das Überschreiten von Arraygrenzen die Rücksprungadresse überschreiben.