[讨论] 求助两条汇编指令,编译通不过(该如何嵌入汇编呢)

Faraway99   2011-3-18 21:36 楼主
各位大侠们帮我看看这两个函数,在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 编辑 ]

回复评论 (6)

上面的是IAR给出的警告,不是错误
只是告诉你你设置的变量value在使用前没有初始值
点赞  2011-3-18 23:08

回复 沙发 wstrom 的帖子

楼主 上说的很对,如果局部变量没有初始化就使用会有不必要的麻烦,里面的值是不确定的,所以会提示你
处处留心皆学问!
点赞  2011-3-19 09:02

回复 沙发 wstrom 的帖子

可是提示的明明是错误呀,编译无法通过!请问这俩函数有没有办法用其他的方式实现?还望指教
点赞  2011-3-19 09:59

回复 沙发 wstrom 的帖子

楼主果然强大,昨晚没看清,那句确实是警告!两个错误提示一样都是:expected a ")"!我觉得有可能是这两句汇编用法有点问题!
点赞  2011-3-19 10:11
嵌入汇编似乎是asm();

做System Architect太久了  汇编有些年没写了 印象如此
独自上路,径直潜行
点赞  2011-3-30 23:07

回复 6楼 blacksword 的帖子

同时嵌入多条汇编语句 印象是

__asm{
         //汇编语句
}
独自上路,径直潜行
点赞  2011-3-30 23:12
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复