Assembler für die Modellarchitektur

Zum Assembler
Beispiele

Kommentare:

Eine Zeile kann mit @ am Zeilenanfang auskommentiert werden.

Adressen:

Der Assembler startet in der ersten Zeile mit der Adresse 0.
An dieser sollte der erste Befehl stehen. Man kann zu adressen (hier 0x0123) springen:

Der Assembler prüft nicht, ob Befehle oder Datenwörter von anderen überschrieben werden!

Daten:

Daten können binär (0b...), hexadezimal (0x...) oder dezimal vorzeichenlos angegeben werden.
Jedes Datenwort muss auf eine eigene Zeile.

Befehle:

hlt
jma adr
jmp adr
jsr adr
swr
rar
inp
out
not
lda adr
sta adr
add adr
xor adr
and adr
ior adr
nop

Jeder Befehl muss auf eine neue Zeile.
Mehr als zwei Leerzeichen nebeneinander werden als eins interpretiert. Leerzeichen am Rand werden ignoriert

Label:

Man kann labels definieren:

oder

Makros:

Man kann Befehle in einem Makro zusammenfassen, was beliebig oft eingesetzt werden kann.
Makro definition:

Makro aufrufen (hier mit den Parametern 12345 und z):
@nameDesMakros 12345 z
WICHTIG: Der Makroaufruf muss am Anfang der Zeile Stehen (keine Labeldefinition davor).