[Marke] [Befehl] [Kommentar]
Registernummer | Registername | |
---|---|---|
Dezimal | Hexadezimal | |
0 | %00 | P0 |
1 | %01 | P1 |
2 | %02 | P2 |
3 | %03 | P3 |
240 | %F0 | SIO |
241 | %F1 | TMR |
242 | %F2 | T1 |
243 | %F3 | PRE1 |
244 | %F4 | T0 |
245 | %F5 | PRE0 |
246 | %F6 | P2M |
247 | %F7 | P3M |
248 | %F8 | P01M |
249 | %F9 | IPR |
250 | %FA | IRQ |
251 | %FB | IMR |
252 | %FC | FLAGS |
253 | %FD | RP |
254 | %FE | SPH |
255 | %FF | SPL |
Befehl | Synonyme | Bedeutung |
---|---|---|
.align | ALIGN | Aktuelle Adresse ausrichten |
.binclude | BINCLUDE | Einbinden einer Binärdatei |
.cpu | CPU | Angabe des Prozessortyps |
.db |
.byte .db.b .defb DB DB.B DEFB |
Datenbytes erzeugen |
.ds |
.ds.b .defs DS DS.B DEFS |
Speicherbereich reservieren |
.ds.w | DS.W | Speicherbereich in Anzahl Datenwörtern reservieren |
.dw |
.db.b .defb .word DB DB.B DEFB |
Datenbytes erzeugen |
.end | END | Ende des Quelltextes bzw. der Quelltextdatei |
.ent |
.entry ENT |
Eintrittspunkt (Startpunkt) des Programms |
.equ |
.equal EQU |
Anlegen einer Marke mit einem vorgegebenen Wert |
.error | ERROR | Ausgabe eines Fehlers |
.include | INCLUDE | Einbinden einer Quelltextdatei |
.org | ORG | Programmzähler (Adresse) auf den angegebenen Wert setzen |
.title | TITLE | Titel oder Bezeichnung des Programms |
.warning | WARNING | Ausgabe einer Warnung |
.warnoff | WARNOFF | Ausgabe von Warnungen unterdrücken |
.warnon | WARNON | Ausgabe von Warnungen ermöglichen |
ABC |
.equ .db .db |
12 3*ABC "Ein Text",%0D,%0A,0 |
;ein Byte mit dem Wert %24 (dezimal 36) ;C-String |
Zeichensequenz | Erzeuger Zeichencode | Bedeutung |
---|---|---|
%T %t |
9 | Tabulator |
%L %l |
10 | Line Feed |
%P %p |
12 | Form Feed |
%R %r |
13 | Carrige Return |
%% | 37 | Prozentzeichen |
%Q %q |
39 | Einfaches Anführungszeichen |
addr_tab: | .dw | addr1, addr2, addr3 | ;Tabelle |
...: | |||
addr1: | ...: | ;Routine 1 | |
ret: | |||
addr2: | ...: | ;Routine 2 | |
ret: |
ABC DEF: |
.equ .equ |
12 %34 |
STR_LEN M1: M2: |
.equ .db .db |
M2-M1 'Ein String' 0 |
Operator | Beschreibung |
---|---|
+ | Positives Vorzeichen: Der nachfolgende Wert wird nicht verändert. |
- |
Negatives Vorzeichen:
Der nachfolgende Wert wird mathematisch negiert. Achtung! Aufgrund der vorzeichenlosen Berechnung ist das Ergebnis niemals negativ. -1 ergibt %FFFF bzw. 65535. |
NOT LNOT |
Logical NOT: Der nachfolgende Wert wird bitweise negiert |
Operator | Beschreibung |
---|---|
+ | Addition |
- |
Subtraktion Achtung! Aufgrund der vorzeichenlosen Berechnung ist das Ergebnis niemals negativ. 1 - 3 ergibt %FFFE bzw. 65534. |
* | Multiplikation |
/ | Division |
MOD | Modulo - Rest der Division |
AND LAND |
Logical AND: bitweise UND-Verknüpfung |
OR LOR |
Logical OR: bitweise Inklusiv-ODER-Verknüpfung |
XOR LXOR |
Logical XOR: bitweise Exklusiv-ODER-Verknüpfung |
SHL |
links schieben Der links vom Operator stehende Wert wird um soviele Bits nach links geschoben, wie der Wert rechts vom Operator angibt. Nach der Operation ist das unterste Bit immer 0. |
SHR |
links schieben Der links vom Operator stehende Wert wird um soviele Bits nach rechts geschoben, wie der Wert rechts vom Operator angibt. Nach der Operation ist das oberste Bit immer 0. |
< |
Vergleich auf kleiner als Ist der erste Wert kleiner als der zweite, ergibt das den Wert %FFFF (alle Bits gesetzt), anderenfalls 0. |
<= |
Vergleich auf kleiner oder gleich Ist der erste Wert kleiner oder gleich dem zweiten, ergibt das den Wert %FFFF (alle Bits gesetzt), anderenfalls 0. |
> |
Vergleich auf größer als Ist der erste Wert größer als der zweite, ergibt das den Wert %FFFF (alle Bits gesetzt), anderenfalls 0. |
>= |
Vergleich auf größer oder gleich Ist der erste Wert größer oder gleich dem zweiten, ergibt das den Wert %FFFF (alle Bits gesetzt), anderenfalls 0. |
= |
Vergleich auf Gleichheit Ist der erste Wert gleich dem zweiten, ergibt das den Wert %FFFF (alle Bits gesetzt), anderenfalls 0. |
<> |
Vergleich auf Ungleichheit Ist der erste Wert ungleich dem zweiten, ergibt das den Wert %FFFF (alle Bits gesetzt), anderenfalls 0. |
Bindungskraft | Zugehörige Operatoren |
---|---|
am höchsten |
+ (Vorzeichen) - (Vorzeichen) NOT LNOT |
* (Multiplikation) / (Division) AND LAND MOD SHL SHR |
|
+ (Addition) - (Subtraktion) OR LOR XOR LXOR |
|
am niedrigsten |
= <> <= < >= > |
Direktive/Syntax | Synonyme |
---|---|
$IF <Marke> [$THEN] $IF <Ausdruck> [$THEN] |
.if ... [.then] IF ... [THEN] $IFTRUE ... [$THEN] .iftrue ... [.then] IFTRUE ... [THEN] |
$IFFALSE <Marke> [$THEN] $IFFALSE <Ausdruck> [$THEN] |
.iffalse ... [.then] IFFALSE ... [THEN] |
$IFDEF <Marke> [$THEN] |
.ifdef ... [.then] IFDEF ... [THEN] |
$IFNDEF <Marke> [$THEN] |
.ifndef ... [.then] IFNDEF ... [THEN] |
$ELSE |
.else ELSE |
$ENDIF [<Bezeichnung>] |
$FI [<Bezeichnung>] .endif [<Bezeichnung>] ENDIF [<Bezeichnung>] |
$EVEN |
.even EVEN |
Befehl | Synonyme |
---|---|
.assume | ASSUME |
.globals | GLOBALS |
.listing | LISTING $LISTING |
.listoff | LISTOFF $LISTOFF |
.liston | LISTON $LISTON |
.page | PAGE $PAGE |
.newpage | NEWPAGE $NEWPAGE |
[1] | Zilog Inc.: Z8 PLZ/ASM Assembly Language Programming Manual, Campbell, California, USA, December 1980 |