Registermaschine Die Registermaschine ist ein Interpreter für Miniatur Assembler Programme. Diese werden oft im Informatikunterricht verwendet
Befehlssatz
Dies sind alle Assembler Befehle der Registermaschine:
| Befehl | Erklärung |
|---|
| Kopierbefehle |
|---|
| LDA Speicherzelle | Ld eine Speicherzelle in den Akkumulator |
| LDK {Konstante} | Ld eine Konstante in den Akkumulator |
| STA Speicherzelle | Speichert den Akkumulator in eine Speicherzelle |
| Operationen |
|---|
| ADD Speicherzelle | Addiert zu dem Akkumulator den Wert der bergebenen Speicherzelle |
| SUB Speicherzelle | Subtrahiert von dem Akkumulator den Wert der bergebenen Speicherzelle |
| MUL Speicherzelle | Multipliziert mit dem Akkumulator den Wert der bergebenen Speicherzelle |
| DIV Speicherzelle | Dividiert den Akkumulator durch den Wert der bergebenen Speicherzelle |
| Sprungbefehle |
|---|
| JMP Adresse | Direkter Sprung |
| JEZ Adresse | Sprung falls Akkumulator gleich 0 |
| JNE Adresse | Sprung falls Akkumulator ungleich 0 |
| JLZ Adresse | Sprung falls Akkumulator < 0 |
| JLE Adresse | Sprung falls Akkumulator <= 0 |
| JGZ Adresse | Sprung falls Akkumulator > 0 |
| JGE Adresse | Sprung falls Akkumulator >= 0 |
| IO-Befehle |
|---|
| INP Speicherzelle | Eingabedialogfeld zeigen und Wert in Speicherzelle speichern |
| OUT Speicherzelle | Ausgabe der Speicherzelle in einem Dialogfeld |
| HLT | Beendet das Programm |
Download
Registermaschine
Beispielprogramm
Dieses Programm ermittelt den größten gemeinsamen Teiler zweier Zahlen
01: INP 1
02: INP 2
03: LDA 1
04: STA 3
05: SUB 2
06: JLZ 8
07: STA 3
08: LDA 2
09: STA 1
10: LDA 3
11: STA 2
12: JNE 3
13: OUT 1
14: HLT 99