英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

标题: PICC的延时程序中for语句的用法怎么跟C有点不同 [打印本页]

作者: winnie    时间: 2009-4-18 14:48
标题: PICC的延时程序中for语句的用法怎么跟C有点不同
我看了一下用PICC写的延时程序for语句的用法,与标准C中好像不一样啊,大家知道怎么回事吗?
void DELAY()
{
for(i=60003;--i;)
continue;
}
这个语句中怎么没有条件判断,我改成下面的形式编译后,发现占用的空间还变大了一点,有人能说说原因吗?
void DELAY()
{
for(i=60003;i>1;--i)
continue;
}
作者: winnie    时间: 2009-4-18 14:52
因为对于for语句结束条件判断时,判零语句时会节约代码。
void DELAY()
{
for(i=60003;--i;)
continue;
}

结束条件判断是判零语句,单片机有直接的判零汇编语句。

void DELAY()
{
for(i=60003;i>1;--i)
continue;

}

结束条件判断不是判零语句。




欢迎光临 英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 (http://enroobbs.com/) Powered by Discuz! X3.2