User`s manual

222 digi.com Keywords
12.1 Compiler Directives
Compiler directives are special keywords prefixed with the symbol #. They tell the compiler how to pro-
ceed. Only one directive per line is allowed, but a directive may span more than one line if a backslash (\)
is placed at the end of the line(s).
There are some compiler directives used to decide where to place code and data in memory. They are
called origin directives and include #rcodorg, #rvarorg and #xcodorg. A detailed description of
origin directives may be found in the Rabbit 3000 Designer’s Handbook (look in the index under “origin
directives”).
#asm
Syntax: #asm options
Begins a block of assembly code. The available options are:
const: When seperate I&D space is enabled, assembly constants should be placed in their own assem-
bly block (or done in C). For more information, see Section 11.2.2, “Defining Constants.”
debug: Enables debug code during assembly.
nodebug: Disables debug code during assembly. This is the default condition. It is still possible to
single step through assembly code as long as the assembly window is open.
xmem: Places a block of code into extended memory, overriding any previous memory directives. The
block is limited to 4KB.
If the #asm block is unmarked, it will be compiled to root.
#class
Syntax: #class options
Controls the storage class for local variables. The available options are:
auto: Place local variables on the stack.
static: Place local variables in permanent, fixed storage.
The default storage class is auto.