Allgemeine Syntaxregeln
- Jede Zeile kann einen Befehl (inkl. Operand) und/oder eine Markendefinition enthalten.
- Markendefinitionen stehen am Zeilenanfang, beginnen mit einem Buchstaben und enden mit ':'.
- Kommentare beginnen mit '#' und laufen bis zum Zeilenende
- Zahlenwerte können im Dezimalsystem oder als 16bit-Hexadezimal- oder Binärzahl angegeben werden.
Unterstützte Befehle
Klicke auf einen Befehl um eine ausführliche Beschreibung einzublenden.
Grundbefehle
Lädt den Speicherinhalt an der angegebenen Adresse in den Akkumulator.
Indirekte Adressierung: Der Inhalt der Speicherzelle an der angegebenen Adresse wird wiederum als Adresse interpretiert.
LOAD (x) lädt den Inhalt der Speicherzelle, deren Adresse in Speicherzelle x steht, in den Akkumulator.
LOAD (x) lädt den Inhalt der Speicherzelle, deren Adresse in Speicherzelle x steht, in den Akkumulator.
Lädt einen konstanten Wert in den Akkumulator.
Speichert den Inhalt des Akkumulators an der angegebenen Speicheradresse.
Indirekte Adressierung: Der Inhalt der Speicherzelle an der angegebenen Adresse wird wiederum als Adresse interpretiert.
STORE (x) speichert den Inhalt des Akkumulators an die Adresse, die in Speicherzelle x steht.
STORE (x) speichert den Inhalt des Akkumulators an die Adresse, die in Speicherzelle x steht.
Hält die CPU an.
Setzt die CPU in ihren Startzustand zurück.
= No Operation - Dummy Befehl, bei dessen Ausführung die CPU nichts tut.
Benutzung:
label: WORD x
Erlaubt die Verwendung von Labels für konstante Werte.
label: WORD x
Erlaubt die Verwendung von Labels für konstante Werte.
Arithmetikbefehle
Addiert den Inhalt des Akkumulators und den Wert an der angegebenen Speicheradresse und speichert das Ergebnis im Akkumulator.
Addiert den Inhalt des Akkumulators und die angegebene Konstante und speichert das Ergebnis im Akkumulator.
Subtrahiert den Wert an der angegebenen Speicheradresse vom Inhalt des Akkumulators und speichert das Ergebnis im Akkumulator.
Subtrahiert die angegebene Konstante vom Inhalt des Akkumulators und speichert das Ergebnis im Akkumulator.
Multipliziert den Inhalt des Akkumulators mit dem Wert an der angegebenen Speicheradresse und speichert das Ergebnis im Akkumulator.
Multipliziert den Inhalt des Akkumulators mit der angegebenen Konstante und speichert das Ergebnis im Akkumulator.
Dividiert den Inhalt des Akkumulators durch den Wert an der angegebenen Speicheradresse und speichert das Ergebnis im Akkumulator. Tritt bei der Division ein Rest auf, wird dieser verworfen.
Dividiert den Inhalt des Akkumulators durch die angegebene Konstante und speichert das Ergebnis im Akkumulator. Tritt bei der Division ein Rest auf, wird dieser verworfen.
Bestimmt den Rest bei der Division des Akkumulatorinhalts durch den Wert an der angegebenen Speicheradresse und speichert diesen im Akkumulator.
Bestimmt den Rest bei der Division des Akkumulatorinhalts durch die angegebene Konstante und speichert diesen im Akkumulator.
Vergleicht den Inhalt des Akkumulators mit dem Wert an der angegebenen Speicheradresse. Sind die Werte gleich, wird das Z-Flag gesetzt. Ist der Akkumulatorwert kleiner, wird das N-Flag gesetzt.
Vergleicht den Inhalt des Akkumulators mit der angegebenen Konstante. Sind die Werte gleich, wird das Z-Flag gesetzt. Ist der Akkumulatorwert kleiner, wird das N-Flag gesetzt.
Bitmanipulationsbefehle
Sprungbefehle
Springt zum Befehl an der angegebenen Adresse, wenn das Z- und das N-Flag nicht gesetzt sind. Statt einer Adresse kann auch eine Sprungmarke angegeben werden.
Springt zum Befehle an der angegebenen Adresse, wenn das N-Flag nicht gesetzt ist. Statt einer Adresse kann auch eine Sprungmarke angegeben werden.
Springt zum Befehle an der angegebenen Adresse, wenn das N-Flag gesetzt ist. Statt einer Adresse kann auch eine Sprungmarke angegeben werden.
Springt zum Befehle an der angegebenen Adresse, wenn das Z- oder das N-Flag gesetzt sind. Statt einer Adresse kann auch eine Sprungmarke angegeben werden.
Springt zum Befehle an der angegebenen Adresse, wenn das Z-Flag gesetzt ist. Statt einer Adresse kann auch eine Sprungmarke angegeben werden.
Springt zum Befehle an der angegebenen Adresse, wenn das Z-Flag nicht gesetzt ist. Statt einer Adresse kann auch eine Sprungmarke angegeben werden.
Springt zum Befehle an der angegebenen Adresse, wenn das V-Flag gesetzt ist. Statt einer Adresse kann auch eine Sprungmarke angegeben werden.
Springt zum Befehle an der angegebenen Adresse. Statt einer Adresse kann auch eine Sprungmarke angegeben werden.