Speichersegmente in Assembler
Ein segmentiertes Speichermodell unterteilt den Systemspeicher in Gruppen unabhängiger Segmente, auf die durch Zeiger verwiesen wird, die sich in den Segmentregistern befinden.
Jedes Segment wird verwendet, um einen bestimmten Datentyp zu enthalten. Ein Segment wird verwendet, um Befehlscodes zu enthalten, ein anderes Segment speichert die Datenelemente und ein drittes Segment hält den Stack.
Folgende Speichersegmente lassen sich in Assembler identifizieren:
- Datensegment - Es wird durch den .data-Abschnitt und die .bss-Datei dargestellt. Der Abschnitt .data wird verwendet, um den Speicherbereich zu deklarieren, in dem Datenelemente für das Programm gespeichert werden. Dieser Abschnitt kann nicht erweitert werden, nachdem die Datenelemente deklariert wurden, und er bleibt während des gesamten Programms statisch. Der Abschnitt .bss ist auch ein statischer Speicherabschnitt, der Puffer für später im Programm zu deklarierende Daten enthält. Dieser Pufferspeicher ist mit Nullen gefüllt.
- Codesegment - Es wird durch den .text-Abschnitt dargestellt. Dies definiert einen Bereich im Speicher, der die Befehlscodes speichert. Dies ist auch ein fester Bereich.
- Stack - Dieses Segment enthält Datenwerte, die an Funktionen und Prozeduren innerhalb des Programms übergeben werden.
Weiterführende Artikel
- Variablen in Assembler