SARM数据类型的具体操作方法
对于程序中的局部变量,编译器会自动处理的,我们也不可能加什么储存属性,但IAR提供了强大的外部变量定义。
5.1.定义变量在工作寄存器
IAR编译器内部使用了部分工作寄存器,留给用户的只有R4-R15供12个寄存器供用户使用,要使用工作寄存器必须在工程选项里打开锁定选项。
例:
定义两个变量使用工作寄存器R14,R15。
#i nclude<iom8.h>
__regvar __no_init char g @ 15;
__regvar __no_init char P @ 14;
void main(void)
{
g++;
P++;
}
在工程选项里c/c++ complier>code里打开要使用的寄存器R14-R15。
IAR编译器内部使用了部分工作寄存器,留给用户的只有R4-R15供12个寄存器供用户使用,要使用工作寄存器必须在工程选项里打开锁定选项。
例:
定义两个变量使用工作寄存器R14,R15。
#i nclude<iom8.h>
__regvar __no_init char g @ 15;
__regvar __no_init char P @ 14;
void main(void)
{
g++;
P++;
}
在工程选项里c/c++ complier>code里打开要使用的寄存器R14-R15。
![](http://hi.csdn.net/attachment/201112/2/0_132279299366EN.gif)
编译结果就如下,看看是不是直接使用了寄存器做为数据应用
//
//