Um die Funktionsweise des Von-Neumann-Prinzips zu verstehen, werden
im untenstehenden Applet die Vorgänge etwas vereinfacht und die Programmierung
in einer hypothetischen Maschinensprache ermöglicht. |
|
Unser Computermodell simuliert die drei Phasen des Von-Neumann-Zyklus: |
|
1. Hole den Befehl aus dem Speicher ins Befehlsregister 2.
Entschlüssele den Befehl 3. Führe den Befehl aus. Erhöhe dabei das Befehlszählregister um 1 oder setze es durch einen Sprungbefehl auf die nächste Befehlsadresse. Das Rechenwerk enthält neben dem Akkumulator auch noch ein zweites Register, mit dessen Hilfe Zählschleifen programmiert werden können. Der Speicher umfasst 32 Speicherzellen mit den Adresse 0 bis 31. Eingabe- und Auswerk sowie die Bus-Verbindungen sind weggelassen. |
Befehle ohne Operanden |
|
END |
beendet das Programm |
NUL |
in Akkumulator wird der Wert 0 geschrieben (Reset) |
INC |
(increase) erhöht den Inhalt des Akkumulator um 1 |
DEC |
(decrease) erniedrigt den Inhalt des Akkumulator um 1 |
STX |
(store X) speichert den Inhalt des Akkumulators im Indexregister XR |
LDX |
(load X) speichert den Inhalt Indexregister XR in den Akkumulator |
INX |
(increase X) erhöht den Inhalt des Indexregisters XR im 1 |
DEX |
(decrease X) erniedrigt den Inhalt des Indexregisters XR um 1 |
Befehle mit Operanden |
|
LDA n |
(load) lädt in den Akkumulator den Inhalt der Speicherzelle n |
STA n |
(store) speichert den Inhalt des Akkumulators in die Speicherzelle n |
ADD n |
addiere zum Inhalt des Akkumulators den Inhalt der Speicherzelle n |
SUB n |
Subtrahieren den Inhalt der Speicherzelle n vom Inhalt des Akkumulators |
JMP n |
(jump) springe mit der Befehlsauführung zur Speicherzelle n (Befehlszählregister wird mit n geladen) |
JAZ n |
(jump if akku zero) springe zur Speicherzelle n, falls der Inhalt des Akkumulator s 0 ist |
JAN n |
(jump if akku negative) springe zur Speicherzelle n, falls der Inhalt des Akkumulator s negativ ist |
JXP n |
(jump if X positive) springe zur Speicherzelle n, falls der Inhalt des Indexregisters positiv ist |