i

Ü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
Addition: vorher und nachher

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.

Addition: vorher und nachher

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.

Kopieren: vorher und nachher
Verschiebe zunächst alle Murmeln aus Becher 1 in Becher 2.
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.

Kopieren: vorher und nachher
Verschiebe zunächst alle Murmeln aus Becher 0 in Becher 1.
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: Multiplikation-Ablauf-Becher-Plan

Multiplikation-Ablauf-Becher-Plan

Aufgabe 6

Wähle eines der folgenden Probleme aus und entwickle ein passendes Assemblerprogramm.
  • 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

Suche

v
100.119.3.1.3
https://inf-schule.de/entwuerfe/bonsai/sprachen/assemblersprache/uebungen
https://inf-schule.de/100.119.3.1.3
https://inf-schule.de/@/page/qiSWffqOHgNiJrai

Rückmeldung geben