|
INT16 sub_1E1D3(INT16 *P2, INT16 P3, INT16 *P6)
{
INT16 tmp_A[4];
INT16 i;
INT32 tmp_C;
INT32 tmp_E;
for (i = 0; i<3; i++)
{
tmp_A[i] =p[6];
}
tmp_C = *p2-p3;
tmp_E = tmp_C*tmp_A[0];
tmp_E = tmp_E >>9;
tmp_E = tmp_E+((tmp_C - *(INT16*)(p2+0x1))*tmp_A[2]>>5);
*(INT16*)(p2+0x1) = tmp_c;
*(INT32*)(p2+0x2) = *(INT32*)(p2+0x2)+tmp_C*tmp_A[1];
tmp_C = 0x3FFFFFFF;
if (*(INT32*)(p2+0x2)>tmp_C)
{
*(INT32*)(p2+0x2)=tmp_C;
}
if (*(INT32*)(p2+0x2)<-tmp_C)
{
*(INT32*)(p2+0x2)=-tmp_C;
}
tmp_E = tmp_E + (*(INT32*)(p2+0x2)>> 15);
tmp_C = tmp_A[3];
if (tmp_E > tmp_C)
{
tmp_E = tmp_C;
}
if (tmp_E < - tmp_C)
{
tmp_E = -tmp_C;
}
return tmp_E; // ROM : 0001E22A lretr
}
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2023-9-24 17:57
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社