Von-Neumann-Rechner interaktiv

VNR-Labor

Schreibe Pseudo-Assembler und beobachte Fetch, Decode und Execute im Modellrechner.

Quelltext

Pseudo-Assembler

Nicht kodiert

Strg + Enter kodiert · Semikolon startet einen Kommentar · Variablen a bis h entsprechen Speicher 64 bis 71.

Kodierten Maschinenspeicher ansehen

Simulation

Von-Neumann-Rechner

1 Fetch2 Decode3 Execute

Speicherwerk

72 Zellen

Steuerwerk

Koordination
Befehlszähler00
Befehlsregister0000000
Dekodierer–

Rechenwerk

ALU
Operand00000
Akku00000
ALU
Vergleich–
Ergebnis00000

Ein-/Ausgabewerk

I/O
Eingaberegister00000
Ausgaberegister00000
Ausgaben
Noch keine
Aktiver BustransferNoch kein Transfer
Aktueller Quellbefehl–
Ausgeführte Befehle0
Quelltext eingeben und anschliessend kodieren.
Ablaufprotokoll
  1. Noch keine Ausführung.

Kurzreferenz

Befehlssatz und Bedienung

Jede Befehlszeile enthält einen Befehl und – ausser bei end – genau ein Argument. Kommentare beginnen mit ;. Direkte Werte liegen zwischen −9999 und 9999.

Daten und Rechnen

ld adr|wert
Wert in den Akku laden
st adr
Akku speichern
in adr
Eingabe speichern
out adr|wert
Wert ausgeben
add/sub/mul adr|wert
Grundrechenarten
div/mod adr|wert
Ganzzahldivision / Rest
cmp adr|wert
Mit Akku vergleichen

Programmfluss

jmp ziel
Unbedingt springen
jlt/jeq/jgt ziel
Springen bei kleiner / gleich / grösser
end
Programm beenden

Adressen: $64 bis $71 oder kurz a bis h.

Marken: Rechts am Befehl definieren, etwa out a :schleife, und mit jmp schleife anspringen. Alternativ ist #5 die ausführbare Anweisung in Quellzeile 5.

Die Webversion bildet bewusst einen vereinfachten Lehrrechner ab. Programm und Daten liegen im selben 72-Zellen-Speicher; die letzten acht Zellen sind für Daten reserviert.