| Segment | Direktive | Beschreibung |
| Kopf |
.DEVICE | Definiert den Typ des Zielprozessors und legt verfügbaren
Satz an Instruktionen fest (ungültige Instruktionen für den Typ werden mit
Fehlermeldung quittiert, Syntax .DEVICE AT90S8515) |
| .DEF | Legt ein Synonym für ein Register fest (z.B. .DEF MeinReg =
R16) |
| .EQU | Definiert ein Symbol und legt seinen Wert fest (kann später
umdefiniert werden, Syntax .EQU test = 1234567, interne Speicherung des Wertes erfolgt als
4-Byte-Integer-Zahl) |
| .SET | Fixiert den Wert eines Symboles (keine spätere Neudefinition
möglich) |
| .INCLUDE | Fügt eine externe Datei ein, als ob deren Inhalt an dieser
Stelle stünde (Typisch z.B. Einbinden der Headerdatei: .INCLUDE
"C:\avrtools\appnotes\8515def.inc") |
| Code |
.CSEG | Beginn des Codesegmentes (alles was danach folgt, wird als Code
übersetzt und in den Programmraum gespeichert) |
| .DB | Fügt ein oder mehrere konstante Bytes in das Programm
(kann eine Zahl von 0..255 sein, ein ASCII-Zeichen 'c', eine Zeichenkette "abcde"
oder ein Gemisch wie z.B. 1,2,3,'a',"abc". Im Programmraum muss die Anzahl der
eingefügten Bytes geradzahlig sein, weil der Programmspeicher immer nur ganze
16-Bit-Worte enthalten kann, andernfalls wird vom Assembler ein Nullbyte angefügt.)
|
| .DW | Fügt ein binäres Wort in den Programmraum ein
(produziert z.B. eine Tabelle im Code!) |
| .LISTMAC | Makros werden in die Listdatei aufgenommen (ohne diese Angabe
wird Code aus Makros nicht im .LST-file ausgegeben) |
| .MACRO | Beginn eines Makros (Code wird nicht erzeugt, erst bei Aufruf des
Makros mit seinem Name (Syntax: .MACRO makroname parameter, Aufruf mit: makroname parameter)
|
| .ENDMACRO | Ende des Makros |
| EEPROM |
.ESEG | Beginn des EEPROM-Speichers (die erzeugten Inhalte landen beim
Programmieren im EEPROM-Segment) |
| .DB | Fügt ein oder mehrere konstante Bytes in das EEPROM ein
(kann eine Zahl von 0..255 sein, ein ASCII-Zeichen 'c', eine Zeichenkette "abcde" oder
ein Gemisch wie z.B. 1,2,3,'a',"abc".) |
| .DW | Fügt ein binäres Wort in den EEPROM-Raum ein (Im
EEPROM-Segment wird erst das niedrigere, dann das höhere Byte eingefügt) |
| SRAM |
.DSEG | Beginn des Datensegments (hier dürfen dann nur BYTE-Direktiven
und Labels stehen, bei der Übersetzung werden nur die Labels entsprechend ausgewertet)
|
| .BYTE | Reserviert ein oder mehrere Bytes im Datensegment (fügt den
Bytewert im Unterschied zu .DB nicht wirklich ein!) |
| Überall |
.ORG | Legt die Anfangsadresse im jeweiligen Segment fest (z.B. .ORG 0x0000)
|
| .LIST | Schaltet die Listing-Ausgabe ein (der produzierte Code wird
menschenlesbar in einer .LST-Datei ausgegeben) |
| .NOLIST | Schaltet die Ausgabe in die .LST-Datei aus |
| .INCLUDE | Fügt eine externe Datei ein, als ob deren Inhalt an dieser
Stelle stünde (Typisch z.B. Einbinden der Headerdatei: .INCLUDE
"C:\avrtools\appnotes\8515def.inc") |
| .EXIT | Ende des Assembler-Codes (stellt weitere Übersetzung ein) |