Download CodeVisionAVR User Manual
Transcript
CodeVisionAVR /* place the C code here */ /* .... */ /* now restore SREG, R31 and R30 */ #asm pop r30 out SREG,r30 pop r31 pop r30 #endasm } /* re-enable register saving for the other interrupts */ #pragma savereg+ The default state is automatic saving of registers during interrupts. The #pragma savereg directive is maintained only for compatibility with versions of the compiler prior to V1.24.1. This directive is not recommended for new projects. The automatic allocation of global variables to registers can be turned on or off using the #pragma regalloc directive. The default state is determined by the Project|Configure|C Compiler|Code Generation|Automatic Register Allocation check box. Example: /* the following global variable will be automatically allocated to a register */ #pragma regalloc+ unsigned char alfa; /* the following global variable will not be automatically allocated to a register and will be placed in normal SRAM */ #pragma regallocunsigned char beta; The ANSI char to int operands promotion can be turned on or off using the #pragma promotechar directive. Example: /* turn on the ANSI char to int promotion */ #pragma promotechar+ /* turn off the ANSI char to int promotion */ #pragma promotecharThis option can also be specified in the Project|Configure|C Compiler|Code Generation|Promote char to int menu. Treating char by default as an unsigned 8 bit can be turned on or off using the #pragma uchar directive. Example: /* char will be unsigned by default */ #pragma uchar+ /* char will be signed by default */ #pragma ucharThis option can also be specified in the Project|Configure|C Compiler|Code Generation|char is unsigned menu. © 1998-2007 HP InfoTech S.R.L. Page 69