导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→怎么使用关键字,使C51编译器不进行优化呢?

* 41486: 怎么使用关键字,使C51编译器不进行优化呢?

   seandy 
seandy发表的帖子 

 怎么使用关键字,使C51编译器不进行优化呢?
我的程序是这样的:
ACC = ACC + CMD   <  < 8;
ACC = ACC + CMD;
其中CMD是外部芯片的一个寄存器,在这两个语句中我都需要它到外部读取该寄存器的,但是现在看它编译后的汇编发现执行完第一个语句后,CMD的值保存在R5中,再执行第二个语句时,它直接使用R5的值,而不是再到外部读取寄存器的值了。

我记得在C语言中好像有什么关键字限制CMD,这样编译后就不会出现我上面的问题了,不知是不是有这么个关键字?

发表时间:2003年9月5日0:18:31

  
回复该帖

本主题共有 4 帖,分页:>>>>>该主题的所有内容[4]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  41511.[详细]这个问题遇到多次,我也很希望能有人知道如何解决!
摘要:......(无内容)
- [荒原野草][1100次] 2003年9月5日

  41520.[详细]试试这个
摘要:好像是用关键字volatile,声明该变量在程序执行中可被隐含地改变。......(62字)
- [yharbour][1125次] 2003年9月5日

  41544.[详细]试过了,这下更恨。编译器把第二个语句全部优化掉了!
摘要:......(无内容)
- [seandy][1212次] 2003年9月5日

[上一篇帖子]:KEILC 编译时间太长问题---太奇怪了,请斑竹各位大侠帮帮忙,拿个主意小弟学用KEIL
[下一篇帖子]:兄弟,你看看你的电容是不是取的太大了?电容取的太大了会使得起振较难,取的太小容易偏振到高次谐波上去。