Man
erkennt,
Reihenfolge erfolgen muß wie das "Retten". Die Ursache liegt
darin begründet, daß der zuletzt gerettete Wert zuerst wieder
zurückgeholt wird und demzufolge der zuerst gerettete Wert als
letzter im Stack verfügbar ist. Im Keller werden also alle
geretteten Werte "aufeinandergestapelt" und von diesem Stapel
in umgekehrter Reihenfolge wieder herausgeholt.
4.3.11. Unterprogrammoperationen
Unterprogramme sind Programmteile, die sich bei der Abarbei-
tung
eines
Programmlängen zu vermeiden, werden solche Teile nur einmal
ins Programm eingefügt und bei Bedarf als UP aufgerufen. Das
heißt: Das Hauptprogramm wird an diesen Stellen verlassen, das
Unterprogramm abgearbeitet und dann das Hauptprogramm mit dem
Befehl fortgesetzt, der der Aufrufstelle folgt.
Der Aufruf von Unterprogrammen kann sowohl unbedingt als auch
bedingt in Abhängigkeit vom Flagregister erfolgen. Im wesent-
lichen ist mit dem Unterprogrammaufruf die definierte Änderung
des
Befehlszählers
allerdings
muß
Befehlszähler PC die Adresse des Befehls enthalten, der als
unmittelbarer
genau an dieser Stelle im Programm weiterarbeiten zu können.
Dies wird realisiert, indem vor dem Sprung ins Unterprogramm
die
alte
PC-Adresse,
gekellert
wird
Unterprogrammadresse
Unterprogramm wird diese im Keller gesicherte Adresse wieder
in
den
Befehlszähler
allein durch den Befehl 'RET'.
CALL adr
;Unterprogrammaufruf, es wird die Adresse des CALL-
Befehls +3 in den Keller gebracht (also der nachher
notwendige PC-Stand), der PC selbst nimmt den Wert
adr an (16-Bit-Adresse). Der Stackpointer wird um 2
erniedrigt.
RET
;Unterprogrammrückkehr,
sichergestellte
geholt, das Hauptprogramm kann weitergehen; der SP
wird wieder um 2 erhöht.
CAcc adr
;bedingter Unterprogrammaufruf, wenn die Bedingung cc
erfüllt ist, sonst nachfolgender Befehl.
Rcc
;bedingte Unterprogrammrückkehr, wenn die Bedingung
cc erfüllt ist, sonst nachfolgender Befehl.
Mögliche Bedingungen: cc= NZ, Z, C, NC, P, M, PO, PE
daß
das
"Zurückholen"
Programmes
oft
ähnlich
bei
Rückkehr
Nachfolger
des
die
auf
und
erst
erhält.
geladen.
Adresse
in
wiederholen.
den
Sprungbefehlen
aus
dem
Unterprogrammaufrufes
den
folgenden
dann
der
Befehlszähler
Bei
Rückkehr
Das
erledigt
aus
dem
in
den
55
genau
umgekehrter
Um
unnötige
verbunden,
Unterprogramm
gilt,
Befehl
zeigt,
PC
aus
der
Prozessor
Keller
wird
Befehlszähler
der
um
die
dem
die
PC