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