next up previous
Nächste Seite: Modul-Initialisierung Aufwärts: Laufzeitumgebung Vorherige Seite: Laufzeitumgebung

Speicherbereiche

Ein -Programm besteht aus einem oder mehreren Moduln. Zu jedem Modul werden zwei Speicherbereiche, ein Daten- und ein Codebereich, angelegt. Im Datenbereich werden die globalen Variablen des Moduls, im Codebereich werden neben dem Code auch die Konstanten, die Speicher benötigen (Zeichenketten), abgelegt.

Beim Linken des Programmes werden alle -Variablen zu einem einzigen Block zusammengelegt. Das Register A4 (static base) zeigt zur Laufzeit dann auf den Beginn dieses Blocks. Ist dieser grösser als 32kByte, zeigt A4 auf einen Offset von 32kByte des Blocks. Dieser Wert wird zu Beginn von der Prozedur Arts.Startup nur ein einziges Mal geladen.



Claudio Nieder 2000-11-12