Übungen
In den folgenden Übungen sollst du Assemblerprogramme für den Bonsai entwicklen. Verwende zum Programmieren und Testen den Interpreter für Bonsai-Assembler.
Aufgabe 1
Schreibe ein Additionsprogramm, das folgenden Algorithmus implementiert:
Solange Becher 1 nicht leer ist: nimm eine Kugel aus Becher 1 weg lege eine Kugel in Becher 0
Aufgabe 2
Schreibe ein Assemblerprogramm, das die Differenz der Zahlen in Becher 0 und Becher 1 berechnet. Du kannst davon ausgehen, dass die Zahl in Becher 0 anfangs größer als die Zahl in Becher 1 ist.
Solange Becher 1 nicht leer ist: nimm eine Kugel aus Becher 1 weg nimm eine Kugel aus Becher 0 weg
Aufgabe 3
Schreibe ein Zuweisungsprogramm, das den Inhalt von Becher 1 in Becher 0 kopiert. Du kannst davon ausgehen, dass alle Becher außer Becher 1 anfangs leer sind.
Solange Becher 1 nicht leer ist: nimm eine Kugel aus Becher 1 weg lege eine Kugel in Becher 2 Solange Becher 2 nicht leer ist: nimm eine Kugel aus Becher 2 weg lege eine Kugel in Becher 0 lege eine Kugel in Becher 1
Aufgabe 4
Schreibe ein Assemblerprogramm, das die Zahl in Becher 0 verdoppelt. Das Ergebnis soll anschließend ebenfalls in Becher 0 stehen.
Entnimm dann alle Murmeln aus Becher 1. Lege dabei für jede Murmel, die aus Becher 1 entnommen wird, zwei Murmeln in Becher 0.
Aufgabe 5
Schreibe ein Assemblerprogramm, das das Produkt der Zahlen in Becher 0 und Becher 1 berechnet. Das Ergebnis soll anschließend in Becher 2 stehen. Es ist egal, welche Zahlen nach Programmausführung in den Bechern 0, 1 und 3 stehen.
Eine Multiplikation ist eine mehrmalige Addition, z.B.: 3 * 4 = 4 + 4 + 4.
Ergänze den folenden Programmablaufplan:

Aufgabe 6
- Subtraktion von zweier Zahlen a - b. Im Gegensatz zu Aufgabe 2 kann nun b auch größer als a sein.
- Ganzzahldivision (d.h. Division mit Rest) von zwei Zahlen