Grund: Nach dem Zurücksetzen des Systems ist der SP-Inhalt 07H. Wenn er nicht neu definiert wird, ist 07H der unterste Teil des Stapels, und der gestapelte Inhalt wird ab Einheit 08H gespeichert verwendet werden, wird die Arbeit beeinträchtigt.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, Dell G3-Computer.
Der Stapel ist ein Bereich im internen Daten-RAM-Bereich, in dem die Daten zuerst rein, zuletzt raus oder zuletzt rein, zuerst raus sind. Seine spezifischen Funktionen sind zwei: Schutz von Haltepunkten und Schutz der Szene.
Der Stapelzeiger (SP) ist ein 8-Bit-Register, das die Adresse der Speichereinheit speichert, auf die oben im aktuellen Stapel gezeigt wird. Wenn Daten im Stapel gespeichert oder abgerufen werden, wird der Inhalt des Stapelzeigers im Rahmen der Ausführung von Stapelmanipulationsanweisungen automatisch inkrementiert oder dekrementiert.
Warum müssen wir SP während der Programmgestaltung neu zuweisen?
Nach dem Zurücksetzen des Systems beträgt der SP-Inhalt 07H. Wenn es nicht neu definiert wird, ist 07H das unterste Ende des Stapels und der Inhalt des Stapels wird ab Einheit 08H gespeichert. Wenn ein Stapel mit größerer Tiefe benötigt wird, wirkt sich dies auf die Verwendung von Arbeitsregistern aus. Daher muss der SP neu zugewiesen werden, sodass der Stapelbereich auf einen bestimmten leeren Bereich im On-Chip-Daten-RAM-Bereich eingestellt wird und die Stapeltiefe so begrenzt wird, dass sie den On-Chip-RAM-Speicherplatz nicht überschreitet.
Weitere Informationen zu diesem Thema finden Sie in der Spalte „FAQ“!
Das obige ist der detaillierte Inhalt vonWarum müssen wir sp beim Programmieren neu zuweisen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!