打印

GD32F130,IAR,变量赋值无效果

[复制链接]
2388|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
onesimplesong|  楼主 | 2015-2-27 17:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 onesimplesong 于 2015-2-27 17:24 编辑

在某个函数中有这样一段代码
int var = 0;
if (xxx) {
   var = 1;                    (1)
}
(1)对应生成的汇编为:
MOVLT.W       R10, #1
打断点跟踪发现,(1)这条赋值语句没有起到作用,跑完var(即R10)还是等于0。
同样的代码在使用ST的MCU时没有遇到这种问题,不知道是为啥。

期待大神们的回复 :),谢谢!
沙发
kekeke| | 2015-2-27 19:42 | 只看该作者
被优化掉了?不应该呀,加static看看

使用特权

评论回复
板凳
onesimplesong|  楼主 | 2015-2-28 10:31 | 只看该作者
kekeke 发表于 2015-2-27 19:42
被优化掉了?不应该呀,加static看看

应该不是被优化掉了,因为已经生成了汇编,但奇怪的是这条汇编赋值没有发生任何作用。
那么多地方要赋值,要是都这样可不好办。

使用特权

评论回复
地板
onesimplesong|  楼主 | 2015-2-28 22:38 | 只看该作者
估计是调试器有问题,结贴。。

使用特权

评论回复
5
xyz549040622| | 2015-3-1 18:01 | 只看该作者
onesimplesong 发表于 2015-2-28 22:38
估计是调试器有问题,结贴。。

是不是因为**的原因呢?

使用特权

评论回复
6
zchong| | 2015-3-2 12:40 | 只看该作者
R10里的值变化了没?
很可能有优化原因,可以价格volatile试试看。

使用特权

评论回复
7
戈卫东| | 2015-3-2 16:36 | 只看该作者
指令执行了,条件没有满足,数据传送没有做。

使用特权

评论回复
8
戈卫东| | 2015-3-2 16:37 | 只看该作者
带条件码的指令执行会有两种结果的。。。。。。。

使用特权

评论回复
9
vivilzb1985| | 2015-3-6 15:37 | 只看该作者
这个是直接在汇编中进行的,就不太清楚了。

使用特权

评论回复
10
shenmu2012| | 2015-3-8 16:55 | 只看该作者
这一句汇编赋值操作的,还不太明白的

使用特权

评论回复
11
comeon201208| | 2015-3-11 23:04 | 只看该作者
这样的做法呢我没用过的。。

使用特权

评论回复
12
angerbird| | 2015-3-12 20:54 | 只看该作者
算了,,直接是不很清楚的啊。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝