【解析新特性】300W单路输出工业电源>>
电子产品世界 » 论坛首页 » 企业专区 » Renesas » RL78G13嵌入汇编的问题

共2条 1/1 1 跳转至

RL78G13嵌入汇编的问题

菜鸟
2013-08-28 21:08:50    评分
因要保存PSW的内容,C语言没法实现,就嵌入汇编,但实际编译时还是有警告,就简单地测试一下内容


#pragma asm


void main(void)
{
    R_MAIN_UserInit();


    while (1U)
    {
          __asm("PUSH PSW");
          __asm("DI");
          __asm("POP PSW");
    }
}


编译结果:
r_main.c(75) : CC78K0R warning W0837: Output assembler source file , not object file
r_main.c(64) : CC78K0R warning W0915: Asm statement found. skip to jump optimize this function 'main'


即使是使用 
#asm
    PUSH PSW
    DI
    POP PSW
#endif

编译结果同样是上面的警告,不知道如何消除,哪个大神指点下,多谢了!

估计有人看出来了,不错 这汇编本就是想封装进进入临界和退出临界宏的内容

ENTER_CRITICAL() 和 EXIT_CRITICAL()





关键词: RL78G13     嵌入     汇编    

菜鸟
2013-09-10 20:33:09    评分
2楼

实际设置选项输出汇编文件后,查看反汇编,发现可以代码里已经嵌入了汇编代码,但是跟没嵌入汇编的C文件的反汇编结果相比,就是没有进行自动优化代码,警告也说得很清楚是由于发现嵌入汇编,跳过了本文件的优化。目前两者相比,嵌入汇编后由于没被优化,代码所占的字节数多了点,但所花的时钟数和堆栈最大变化值还是一样的。


但是每次编译都出来蓝色字体警告,看着很不舒服,期待高人的回答!帮助文档中关于嵌入汇编的部分也反复研究了,终是没得到答案。帖子发了也好多天了,还没碰到有人回答的,难道没人用cubesuit的时候嵌入过汇编吗。


我这里嵌入汇编主要是为了想移植 ucousII。 再次期待高人的回答!!!


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]