Abkürzungen für Befehlsfolgen
Wir beginnen mit einem Gedankenexperiment: Wir möchten jemandem anderen mitteilen, wie er den JOHNNY-Simulator bedienen muss, um eine bestimmte Rechnung damit genauso auszuführen, wie wir das wollen. Dafür schreiben wir ihm eine sehr sehr detaillierte (und damit auch lange) Anweisung bestehend aus den Einzelschritten, die er durchzuführen hat.
Aufgabe 1: Eine kompliziertere Rechnung
Notiere auf Papier oder in einer Textdatei eine Folge von Operationen, die folgendes tut:
Unser Modellcomputer soll ....
- ... die Zahl in Speicherstelle 10 nehmen ...
- ... und die Zahlen in den Speicherstellen 11 und 12 dazu addieren.
- Danach soll er die Zahl in Speicherstelle 14 davon subtrahieren.
- Das Ergebnis soll in der Speicherstelle mit der Adresse 15 abgespeichert werden.
ram->dbbrauchen wir zusätzlich noch eine Anweisung wie
Lege Adresse ... auf den Adressbuswobei "..." für die entsprechende Adresse, also die Nummer der Zeile im RAM steht.
Zähle auch die Anzahl der einzelnen Befehle, die für die Ausführung des gesamten Rechenweges notwendig sind.
Aufgabe 2: Gliederung einer Befehlsfolge
Teile nun die Befehlsfolge aus Aufgabe 1 so in Abschnitte auf, dass die einzelnen Abschnitte sinnvoll der jeweiligen Abkürzungen entsprechen. Ordne jedem Abschnitt übersichtlich die entsprechende Abkürzung zu:TAKE 10 ADD 11 ADD 12 SUB 14 SAVE 15
Aufgabe 3: Achtung - Verwechslungsgefahr!
Jemand behauptet:
"Der Befehl
TAKE 42
bedeutet, dass der Computer die Zahl 42 in den Akkumulator kopieren soll."
Nimm begründet Stellung zu dieser Behauptung.
Aufgabe 4: Vorteile von Makroprogrammen
Diskutiere, weshalb die Verwendung von Abkürzungen helfen kann, ...
- Programme kleiner und damit speicher-schonender und leichter eingebbar zu machen
- Programme für den Programmierer übersichtlicher und verständlicher zu machen.
Quellen
- [1]: Abarbeiten einer langen Folge von Mikrobefehlen - Urheber: PD - Lizenz: Inf-Schule.de