各位大侠们帮我看看这两个函数,在IAR下编译两条汇编指令处均出现错误,其中前者提示:variable "value" is used before its value is set。
static unsigned int get_cp15(void)
{
unsigned int value;
__asm__("mrc p15, 0, %0, c1, c0, 0" : : "=r" (value));
return value;
}
static void set_cp15(unsigned int value)
{
__asm__("mcr p15, 0, %0, c1, c0, 0" : : "r" (value));
}
[ 本帖最后由 blacksword 于 2011-3-30 23:10 编辑 ]
上面的是IAR给出的警告,不是错误
只是告诉你你设置的变量value在使用前没有初始值
回复 沙发 wstrom 的帖子
楼主 上说的很对,如果局部变量没有初始化就使用会有不必要的麻烦,里面的值是不确定的,所以会提示你
回复 沙发 wstrom 的帖子
可是提示的明明是错误呀,编译无法通过!请问这俩函数有没有办法用其他的方式实现?还望指教
回复 沙发 wstrom 的帖子
楼主果然强大,昨晚没看清,那句确实是警告!两个错误提示一样都是:expected a ")"!我觉得有可能是这两句汇编用法有点问题!
嵌入汇编似乎是asm();
做System Architect太久了 汇编有些年没写了 印象如此
回复 6楼 blacksword 的帖子
同时嵌入多条汇编语句 印象是
__asm{
//汇编语句
}