| Segment | Directive | Description | 
|---|
| Header | .DEVICE | Defines the type of the target processor and the applicable set of
  instructions (illegal instructions for that type trigger an error message, syntax:
  .DEVICE AT90S8515) | 
  | .DEF | Defines a synonym for a register (e.g. .DEF MyReg = R16) | 
  | .EQU | Defines a symbol and sets its value (later changes of this value
  remain possible, syntax: .EQU test = 1234567, internal storage of the value is 4-byte-
  Integer) | 
  | .SET | Fixes the value of a symbole (later redefinition is not possible) | 
  | .INCLUDE | Includes a file and assembles its content, just like its content
  would be part of the calling file (typical e.g. including the header file: .INCLUDE
  "C:\avrtools\appnotes\8515def.inc") | 
| Code | .CSEG | Start of the code segment (all that follows is assembled to the code
  segment and will go to the program space) | 
  | .DB | Inserts one or more constant bytes in the code segment (could be
  numbers from 0..255, an ASCII-character like 'c', a string like 'abcde' or a combination
  like 1,2,3,'abc'. The number of inserted bytes must be even, otherwise an additional
  zero byte will be inserted by the assembler.) | 
  | .DW | Insert a binary word in the code segment (e.g. produces a table within
  the code) | 
  | .LISTMAC | Macros will be listed in the .LST-file. (Default is that macros
  are not listed) | 
  | .MACRO | Beginning of a macro (no code will be produced, call of the macro later
  produces code, syntax: .MACRO macroname parameters, calling by: macroname parameters) | 
  | .ENDMACRO | End of the macro | 
| EEPROM | .ESEG | Assemble to the EEPROM-segment (the code produced will go to the EEPROM
  section, the code produces an .EEP-file) | 
  | .DB | Inserts one or more constant bytes in the EEPROM segment (could be numbers
  from 0..255, an ASCII-character like 'c', a string like 'abcde' or a combination like
  1,2,3,'abc'.) | 
  | .DW | Inserts a binary word to the EEPROM segment (the lower byte goes to the next
  adress, the higher byte follows on the incremented address) | 
| SRAM | .DSEG | Assemble to the data segment (here only BYTE directives and labels are valid,
  during assembly only the labels are used) | 
  | .BYTE | Reserves one or more bytes space in the data segment (only used to produce
  correct labels, does not insert any values!) | 
| Everywhere | .ORG | Defines the address within the respective segment, where the assembler
  assembles to (e.g. .ORG 0x0000) | 
  | .LIST | Switches the listing to the .LST-file on (the assembled code will be
  listet in a readable text file .LST) | 
  | .NOLIST | Switches the output to the .LST-file off, suppresses listing. | 
  | .INCLUDE | Inserts the content of another source code file, as if its content
  would be part of the source file (typical e.g. including the header file: .INCLUDE
  "C:\avrtools\appnotes\8515def.inc") | 
  | .EXIT | End of the assembler-source code (stops the assembling process) |