本帖最后由 wgggjfg 于 2010-5-23 19:23 编辑
我在用STVD时,写了个效大的程序,可有个子程序跳不出来,我单步看发现是下
图中的第一个for总是跳不出,主要是在 i = 5 时,在汇编0x9648处把 i 清零,这倒底是不是COSMIC编绎器的问题?
我选是的stm8s105的单片机,已把所有的优化取消了,还是跳不出来。
程序如下:
u8 Get_data_code(u8 *p,u16 in_data)
{ u8 reg,i,j,result=1;
u8 buffer[5];
for(i=0;i<6;i++)
{
buffer=(u8)(in_data%10);
in_data/=10;
}
for(i=0;i<5;i++)
{ if(buffer[4-i]!=0)
{ i++;i++;
break;
}
}
} |