c51程序 关于ACC累加器的使用?
我也曾遇到你说的这个问题,巧的很,也是写DS1302的程序,我觉得与ACC关系不大。因为我当时并没有使用ACC的位变量,而是你第二种方式(temp&0x01)。当用for(i=0;i<8:i++)时就是不行(怕写错,反复写了几次,都不行),只有改为for(i=8;i>0:i--)时就正常。当时也是百思不得其解。当我把整个程序写完以后,再回头研究这个问题时,发现改为for(i=0;i<8:i++)时竟然又正常了。到现在我也不明白开始为何不行,也记不清其间又改动了什么。
理论上讲两个应该完全等效。一般情况下效果应该完全相同。但我确确实是遇到上述现象,这也是我写程序历史唯一碰到的一次。
我后来在某些书上看到,使用for(i=8;i>0:i--)比for(i=0;i<8:i++)优化,速度也更快。 c51程序 关于ACC累加器的使用
页:
[1]