导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→一个c51编译问题

* 86772: 一个c51编译问题

   chenjianli 
chenjianli发表的帖子 

 一个c51编译问题
我发现一个问题,不知道是我不对,还是c51的bug问题。见下图,其中d的声明是:
char bdata d;
sbit d7=d^7;
我要求返回的是d的值,可是不管是实际,还是从编译函数中看,返回的d值中的第7位(就是d7=1:)丢掉了。本来返回的是1;现在却返回的是0。c51为什么会这么编译呢?具体问题出在倒数第二行返回值处:MOV R7,A  这个A是在SETB d7之前的,不包含已经变化了的d7=1这一内容啊。
该怎么解决,凡是用到位变量的,c51都不能够返回正确值。


此主题相关图片如下:
按此在新窗口浏览图片

发表时间:2005年12月11日9:31:40

  
回复该帖

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

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

[上一篇帖子]:请给我发一根笔记本并口线请给我发一根笔记本并口线,我的 email  
[下一篇帖子]:一定能用!一定能用!