uint16 moniliangruanjianjizhun(uint16 a,uint16 b) //模拟量软件基准计算
{
unsigned long int c,d;
if(a>=b) a=0xffff;
else
{
//_asm("sim"); //禁止中断后计算正常
c=a; d=c<<16; d-=c; //==d=c*0xffff;
c=b; d=d/c;
a=d;
//_asm("rim");//禁止中断后计算正常
}
return(a);
}
//如上程序,32位长整数计算会被中断骚扰, 当添加如上禁止中断后计算正常,
//请问要如何解决?? (32位运行要很长时间,我的程序不能禁止中断这么长时间) |