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

 *第36406篇: 一个c51编译问题

  
楼 主:chenjianli 2005年12月11日09:31
 一个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都不能够返回正确值。


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


>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:LCD屏幕字符滚动程序

[下一篇主题]:请问深圳南山地区的哪家PCB做的比较好些.