Befehlsausführung
Ausführung direkt im Operationswerk
Mit dem Wissen aus den letzten Abschnitten bist du jetzt in der Lage, Befehle direkt im Operationswerk auszuführen.
Aufgabe 1 - inc und dec ausführen
-
Schreibe die folgenden Daten in den Speicher.
0: 10003 1: 20003 2: 50000 3: 5
- Initialisiere den Programmzähler. Schreibe hierzu die Adresse 0 direkt in das PC-Register.
- Hole zunächst mit geeigneten Steuersignalen den ersten Befehl in das Befehlsregister.
- Decodiere den Befehl (indem du den Operationscode selbst übersetzt) und führe ihn anschließend aus. Vergiss nicht, am Ende der Ausführung den Programmzähler hochzuzählen.
- Hole jetzt den nächsten Befehl in das Befehlsregister, decodiere ihn und führe ihn aus.
Aufgabe 2 - jmp ausführen
-
Schreibe die folgenden Daten in den Speicher.
0: 30002 1: 2: 30000
- Initialisiere den Programmzähler. Schreibe hierzu die Adresse 0 direkt in das PC-Register.
- Hole zunächst mit geeigneten Steuersignalen den ersten Befehl in das Befehlsregister.
- Decodiere den Befehl (indem du den Operationscode selbst übersetzt) und führe ihn anschließend aus. Beachte, dass hier nur der Programmzähler neu gesetzt werden muss.
- Hole jetzt den nächsten Befehl in das Befehlsregister, decodiere ihn und führe ihn aus.
- ...
Aufgabe 3 - tst ausführen
-
Schreibe die folgenden Daten in den Speicher.
0: 40006 1: 30003 2: 30005 3: 20006 4: 30000 5: 50000 6: 1
- Initialisiere den Programmzähler. Schreibe hierzu die Adresse 0 direkt in das PC-Register.
- Hole zunächst mit geeigneten Steuersignalen den ersten Befehl in das Befehlsregister.
- Decodiere den Befehl (indem du den Operationscode selbst übersetzt) und führe ihn anschließend aus. Benutze hier ein bedingtes und ein unbedingtes Hochzählen.
- Hole jetzt den nächsten Befehl in das Befehlsregister, decodiere ihn und führe ihn aus.
- ...