[gesichtete Version] | [gesichtete Version] |
(LOOP Upgrade: loop_index and youtubehd) |
Kwastg (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
<p> | <p> | ||
Das <loop_index id="5fa9787fdc0c1">Stackregister|Stack</loop_index>'''Stackregister''' befindet sich auf der CPU. Sein Wert beziffert eine bestimmte Speicherzelle im Hauptspeicher, den sogenannten '''<loop_index id="5fa9787fdc0c8">Top of Stack|Stack, Top of Stack</loop_index>Top of Stack''', also das '''<loop_index id="5fa9787fdc0cd">oberes Ende des Stacks|Stack, oberes Ende</loop_index>obere Ende des Stacks'''. | Das <loop_index id="5fa9787fdc0c1">Stackregister|Stack</loop_index>'''Stackregister''' befindet sich auf der CPU. Sein Wert beziffert eine bestimmte Speicherzelle im Hauptspeicher, den sogenannten '''<loop_index id="5fa9787fdc0c8">Top of Stack|Stack, Top of Stack</loop_index>Top of Stack''', also das '''<loop_index id="5fa9787fdc0cd">oberes Ende des Stacks|Stack, oberes Ende</loop_index>obere Ende des Stacks'''. | ||
Zeile 7: | Zeile 6: | ||
== Push oder Pop auf die Datenstruktur == | == Push oder Pop auf die Datenstruktur == | ||
<p> | <p> | ||
Ein Stack ist eine <loop_index id="5fa9787fdc0d0">Datenstruktur, Stack|Stack, Datenstruktur</loop_index>Datenstruktur, kann also Daten aufnehmen und wieder abgeben, wobei der Zugriff nur über die Befehle '''<loop_index id="5fa9787fdc0d3">PUSH, Stack|Stack, PUSH</loop_index>PUSH''' (Daten auf dem oberen Ende des Stacks ablegen) sowie '''<loop_index id="5fa9787fdc0d6">POP, Stack | Ein Stack ist eine <loop_index id="5fa9787fdc0d0">Datenstruktur, Stack|Stack, Datenstruktur</loop_index>Datenstruktur, kann also Daten aufnehmen und wieder abgeben, wobei der Zugriff nur über die Befehle '''<loop_index id="5fa9787fdc0d3">PUSH, Stack|Stack, PUSH</loop_index>PUSH''' (Daten auf dem oberen Ende des Stacks ablegen) sowie '''<loop_index id="5fa9787fdc0d6">POP, Stack</loop_index><loop_index id="5fa978c378a92"> Stack, POP</loop_index>POP''' (Daten vom oberen Ende des Stacks entfernen) möglich ist. | ||
</p> | </p> | ||
Das Stackregister befindet sich auf der CPU. Sein Wert beziffert eine bestimmte Speicherzelle im Hauptspeicher, den sogenannten Top of Stack, also das obere Ende des Stacks.
Ein Stack ist eine Datenstruktur, kann also Daten aufnehmen und wieder abgeben, wobei der Zugriff nur über die Befehle PUSH (Daten auf dem oberen Ende des Stacks ablegen) sowie POP (Daten vom oberen Ende des Stacks entfernen) möglich ist.
Anschaulich erklärt wird die Bedeutung des Stackregisters und die Arbeitsweise des Stacks an sich in dem folgenden Video:
Wenn Sie dieses Element öffnen, werden Inhalte von externen Dienstleistern geladen und dadurch Ihre IP-Adresse an diese übertragen.
Das Ablegen oder Entfernen von Daten vom Stack kann sowohl aus einem laufenden Prozess heraus erfolgen, oder auch auf Anweisung des Steuerwerks. Letzteres bietet viele Vorteile, wie auf den kommenden Seiten noch zu sehen sein wird.
Das folgende Bild zeigt das Stackregister auf der CPU. In vorangegangenen Bildern zur CPU war an dieser Stelle das Register R4 angesiedelt. Man kann sich gerne vorstellen, dass das Register R4 weiterhin auf der CPU existiert, nur eben aus Platzgründen nicht mehr eingezeichnet ist.