Advanced Light Controller Instruction Code |
|||||
Über ALICDas PrinzipSo funktioniert die Code-VerarbeitungVorgaben und
Definitionen
|
Regeln zum Aufbau des ALIC Assembler QuelltextesDer ALIC Quelltext besteht aus nur wenigen Elementen, die im Folgenden beschrieben werden:ZahlenwerteZahlenwerte
können als
Dezimalzahlen oder als Hexadezimalzahlen angegeben werden, auch
gemischt innerhalb eines Ausdrucks. Hexadezimalzahlen werden durch
ein
vorangestelltes 0x
gekennzeichnet.
Die folgenden Ausdrücke repräsentieren z.B. alle den gleichen Wert (=128): 0x80
128 64 + 0x40 ALIC BefehleDie Befehlszeile
besteht aus dem Befehlskürzel ("Mnemonic")
und ggf. für den Befehl notwendigen Parametern. Das Mnemonic
muß in Großbuchstaben geschrieben sein und
muß mindestens um ein Leerzeichen oder eine Tab-Position ab
Anfang der Zeile eingerückt sein. Wenn Parameter vorhanden
sind, werden diese durch Kommata getrennt nach dem
Befehlskürzel aufgelistet.
Beispiel:
KommentareKommentare werden
durch ein vorangestelltes Semikolon gekennzeichnet.
Alles nach dem Semikolon bis zum Ende der Zeile wird als Kommentar
behandelt und vom Assembler nicht weiter verarbeitet. Kommentare
können in jeder beliebigen Spalte beginnen.
Beispiel:
LabelsMit Labels
können Programmstellen mit einem Namen
bezeichnet werden, um diesen dann z.B. in Sprungbefehlen
verwenden zu können. Dem Label wird die Speicheradresse des
unmittelbar folgenden Befehls zugewiesen. Labels
müssen in
der ersten
Spalte stehen und dürfen Groß- und Kleinbuchstaben,
sowie Ziffern und Unterstrich-Zeichen enthalten. Labels
können
in
einer separaten Zeile vor dem Programmbefehl stehen oder gemeinsam
mit
dem Befehl in einer Zeile.
Es können für die gleiche Programmstelle auch verschiedene Namen vergeben werden, indem mehrere Zeilen mit Labels vor die Programmstelle gesetzt werden. Beispiel:
DefinesDamit werden
konstante Werte
definiert, die im Programmtext unter dem angegebenen Namen
aufgerufen
werden können. Die Syntax lautet:
#define <Zeichenkette1> <Zeichenkette2> Im weiteren Programmtext wird bei der Verarbeitung durch den Assembler dann Zeichenkette1 durch Zeichenkette2 ersetzt. Beispiel:
|
![]() |