42 Logo

Maschinensprachebefehle

Die Befehle auf dieser Seite sind nach Funktionen gruppiert.

So sind beispielsweise unter "Ladebefehle" alle Befehle zu finden, die einen Wert in ein Register laden können. Unter "Mathematik" sind entsprechend alle Befehle, mit denen Rechenoperationen durchgeführt werden können.

Manche Befehle erscheinen unter mehreren Kategorien, weil sie unter verschiedenen Perspektiven betrachtet werden können. Wenn sie aber gleich heißen, dann sind es auch exakt die gleichen Befehle.

Die Befehle benötigen entweder 2 oder 4 Byte Speicherplatz im Programmspeicher. Der Programmspeicher ist immer nur 2-byteweise belegbar. Die benötigte Menge an Speicherplatz hängt von den Parametern ab, die verwendet werden können. So benötigt ein Ladebefehl, der direkt eine Zahl in ein Register lädt nur 2 Byte - eines allein schon für die Zahl, die geladen werden soll. Ein Sprungbefehl benötigt jedoch 4 Byte, da hier allein schon für die Sprungadresse 2 Byte benötigt werden.

Neben dem Speicherbedarf ist auch die Ausführungszeit interessant. Manche Befehle können in einem Taktzyklus ausgeführt werden, andere benötigen 2 oder 3 Taktzyklen. Wenn es um jedes bisschen Rechenleistung geht, dann kann man hier durch geschicktes Programmieren den Programmcode schneller bekommen.

Jeder Befehl kann nach seiner Ausführung Einfluss auf das Statusregister haben. Damit kann man z.B. bei mathematischen Operationen Überläufe oder Nullergebnisse erkennen.

Vergleichsbefehle

Bedingte Sprungbefehle