Bilder der Galerie: (P) 7.2 – Steck-Assembly
Die Angaben für den
Befehlszähler orientieren sich hier an den Zeilennummern im Programm
(sind aber eigentlich einfach von 0 bis ... ohne Unterbrechungen). Am
Whiteboard wurden nur die Schritte bis Zeile 21 gezeigt. Ab Schritt 21
habe ich hier zusätzlich meine Aufzeichnungen hinterlegt.
Hinweis: Stack- und Frame-Pointer stehen zu Beginn auf -1. Ich habe für den Frame-Pointer ab dem Aufruf zu CALL -1/0 geschrieben, da es keine wesentliche Rolle spielt, ob er nun -1 oder 0 ist. Es macht aber am meisten Sinn, auch den Frame-Pointer anfangs auf -1 zu setzen! Der Stack-Pointer muss davor definitiv -1 sein.
Hinweis: Ich ersetze die Labels hier direkt durch die darauffolgende Zeile. In der Implementierung wäre es besser, wenn man dieselbe Zeile verwendet, also z. B. bei einem "JUMP loop" auch wirklich dorthin springt, wo loop steht. Dazu kann NOP hilfreich sein.