本帖最后由 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。
请问,这是什么问题,有解决的办法吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
ok
000012 EE MOV A,R6
000013 C3 CLR C
000014 33 RLC A
000015 FE MOV R6,A
112 DI=CY; //取最高位
000016 A2D7 MOV C,0xd0.7
000018 E4 CLR A
000019 33 RLC A
00001A F8 MOV R0,A
00001B A2D7 MOV C,0xd0.7
00001D 9291 MOV 0x90.1,C
113 asm("NOP");
00001F 00 NOP
114 DCKI=1; //时钟下降沿,数据被传输
000020 D290 SETB 0x90.0
115 cmd=cmd<<1; //先发高位
000022 EE MOV A,R6
000023 C3 CLR C
000024 33 RLC A
000025 FE MOV R6,A
116 DI=CY; //取最高位
一周热门 更多>