52
#pragma interrupt
#pragma +abs_data
#pragma -abs_data
#pragma fp_interrupt
2.5.
Translation Limits
C programs must not include constructs that exceed the following limits:
50 nesting levels for #include files
•
16 nesting levels for conditional source inclusion
•
20 nesting levels for switch statements
•
25 nesting levels for loop statements
•
20 nesting levels for function calls
•
32 nesting levels for macro invocations
•
255 significant initial characters in an identifier (internal and external)
•
255 significant initial characters in a macro name
•
255 parameters in one function definition and call
•
31 parameters in one macro definition and invocation
•
512
•
† The number of characters can be increased with the -XC flag.
TI-89 / TI-92 Plus Sierra C Assembler Reference Manual
Allow functions written in C to be used as interrupt handlers. When
the #pragma interrupt directive is placed before a function
definition, that function saves and restores the data and address
scratch registers (i.e., d0, d1, d2, a0, and a1), and exits using an
rte instruction instead of an rts. The #pragma interrupt directive
applies only to the next function and must be repeated to affect
additional functions.
Allow data objects declared in a file that is compiled to access
data relative to the program counter or address register a5 to be
accessed using the absolute long addressing mode. All data
objects declared between the #pragma +abs_data and #pragma
-abs_data directives will be accessed using the absolute long
addressing mode.
Undo the effect of the #pragma +abs_data directive.
Not supported by Texas Instruments.
†
characters in a character string (after concatenation)
Not for Distribution
Section 2: Compiler
Beta Version February 2, 2001