| Titel: | Hauptspeicherbelegung der Daten in den Bereichen P | |
| Beschreibung: | program counter, stack pointer, static base, frame pointer an einem C++ Beispiel | |
| Kategorie: | Betriebssystem | |
| Unterkategorie | ||
| Artikel überarbeiten: | Hauptspeicherbelegung der Daten in den Bereichen P | |
Hauptspeicherbelegung
Im Folgenden wird erläutert wie Programmdaten in den Hauptspeicherbereichen >>program counter<<, >>stack pointer<<, >>static base<< und >>frame pointer<< abgelegt werden.
int aFunction (int param); //Funktionsprototyp int global = 1; int main () { int local = 1; local = aFunction(local); //local wird 2 global = aFunction(local); //global wird 3 local = aFunction(global); //local wird 4 global = aFunction(global);//global wird 6 return 0; } // Funktionsdefinition int aFunction (int param) { int local = param + 1; global = param + 2; return local; }
* Die Adresse des aktuellen Befehls im >>Program Counter<< PC
* Das aktuelle Ende des Stack-Segments im >>Stack Pointer<< SP
* Globale Daten relativ zur >>Static Base<< SB
* Lokale Daten relativ zum >>Frame Pointer<< FP
Ein Funktions-Aufruf benutzt den Stack zum
* Reservieren von Platz für den Rückgabewert (_tmp)
* Speichern von Argumenten (param)
* Speichern von altem PC und FP
* Reservieren von Platz Tür die lokalen Variablen (local)