7. Erweitertes Programm

Code für die Berechnung der Fläche eines Dreiecks, ausgehend von der

Formel

F = g * h / 2. 

In diesem Fall haben wir nur 3 Variable, F, g, h. In der Beispielslösung wird Speicherplatz in dieser

Reihenfolge angelegt. Tatsächlich wäre jede beliebige Reihenfolge korrekt.

S1                                    Platz für F

S2                                    Platz für g

S3                                    Platz für h 

Es folgen die Leseoperationen für g und h. 

S4       LIES  s2                  lies g von Eingabeeinheit

S5       LIES  s3                  lies h von Eingabeeinheit 

nun können wir die beiden Operanden in die Register laden. Die Registerzuordnung ist wieder beliebig.

S6       LADE s2, r1           lade Wert von g in Register 1

S7       LADE s3, r2           lade Wert von h in Register 2

S8        MULT* r3, 1/2      Hier haben wir wieder eine Operation mit einer Konstanten.  

Eigentlich sollte durch 2 dividiert werden. Doch dies entspricht der viel einfacher durchzuführenden Multiplikation mit ½ (oder 2-1). Die tatsächliche Realisierung wird durch ein Verschieben des Registerinhalts nach Rechts, also Right-Shift r3 ausgeführt. 

Wir haben somit das gewünschte Ergebnis in Register 3 stehen. Dieses ist somit in den Speicher zu schreiben und von dort auszugeben.

S9        SPEICHERE r3, s1   speichert das nunmehr in Register 3 enthaltene Endergebnis in Zelle s1
S10      SCHREIB s1            gibt den in s1 enthaltenen Wert auf der Ausgabe aus. 
S11      STOP                      beendet dieses Programm