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.