Populärwissenschaft. Der Stapel ist die Speicherung nicht-intelligenter Java-Maschinen
Der Stapel ist ein Bereich zum Speichern von Daten. An diesem Gebiet selbst gibt es nichts Besonderes. Es ist nur ein Teil des internen RAM. Das Besondere ist die Art und Weise, wie Daten gespeichert und darauf zugegriffen werden, das sogenannte „First In, Last Out, Last In, First Out“, und der Stapel verfügt über spezielle Datenübertragungsanweisungen, nämlich „P USH“ und „POP“. Sie verfügen über eine spezielle Einheit, die ihnen dient, nämlich den Stapelzeiger SP. Immer wenn eine PUSH-Anweisung ausgeführt wird, wird SP automatisch um 2 reduziert (basierend auf dem ursprünglichen Wert). Immer wenn eine POP-Anweisung ausgeführt wird, wird SP automatisch um 2 erhöht (basierend auf dem ursprünglichen Wert). Da der Wert in SP durch Anweisungen geändert werden kann, kann der Stapel in der angegebenen Speichereinheit festgelegt werden, solange der Wert von SP zu Beginn des Programms geändert wird. Beispielsweise wird zu Beginn des Programms ein MOV SP, #5FH-Befehl verwendet, um den Stapel in der Einheit ab Speichereinheit 60H festzulegen. Im Allgemeinen gibt es am Anfang des Programms immer eine Anweisung zum Setzen des Stapelzeigers, da beim Start der Anfangswert von SP 07H ist, wodurch der Stapel bei Einheit 08H beginnt und zurückgeht. Der Bereich von 08H bis 1FH ist der zweite, dritte und vierte Arbeitsregisterbereich von 8031, der häufig verwendet wird und zu Datenverwirrung führt. Wenn verschiedene Autoren Programme schreiben, sind die Anweisungen des Initialisierungsstapels nicht genau gleich. Das ist eine Frage der Gewohnheiten des Autors. Wenn der Stapelbereich eingerichtet ist, bedeutet dies nicht, dass der Bereich zu einem speziellen Speicher wird. Er kann weiterhin wie ein gewöhnlicher Speicherbereich verwendet werden, Programmierer verwenden ihn jedoch im Allgemeinen nicht als gewöhnlichen Speicher.
Antworten (1)
Verstanden, danke fürs Teilen.
— Alle Antworten geladen —