IAR 编译cc 2530 C代码生产的反汇编代码疑问?

2019-07-26 15:06发布

本帖最后由 chenjiancan 于 2015-3-12 15:26 编辑

各位好:   我使用的开发环境是 IAR for 8051 8.30.3 , 在调试 CC2530F256 如下代码的时候,观察到的反汇编指令如图:
新版 新版
// DI 定义为 P1_1                                                

右边汇编代码显示,一个左移位指令,和赋值语句, 用了这么多条指令,而且调试结果显示 DI = CY 这个赋值不成功(CY=1,但是赋值之后DI=0)
但是我使用 IAR for 8.10 重新测试这段代码发现,如下图, 明显效果比较好。 测试的时候 优化等级都为None。

请问,这是什么问题,有解决的办法吗?  
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
hnkf118
2019-07-28 08:45
如果你真考虑移植问题的话 建议你换一种方式,也多不了几个代码

for (i=0; i<8; i++) {
    if ( getbit(cmd, i) ) {
       DI = 1;
    } else {
      DI = 0;
   }
}

一周热门 更多>