Technische Informatik I – Rechner & Zahlen
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