内嵌的汇编错误
extern "C" int ilog3(__int64 d)
{ int _Eax;
union{__int64 i64;int i[2];} u;
u.i64=d;
__asm mov ebx,0;
__asm inc u+4;
__asm bsr ebx,DWORD PTR u+4;//出错的行
__asm cmp ebx,0;
__asm jz m1;
__asm add ebx,32
#if !defined(__BORLANDC__)
__asm mov _Eax,ebx
return _Eax;
#else return _EAX;
#endif
__asm m1:
__asm inc u.i[0];
__asm bsr ebx,DWORD PTR u.i[0];
#if !defined(__BORLANDC__)
__asm mov _Eax,ebx
return _Eax;
#else
return _EAX;
#endif
}
第七行在vc4.1下边一总时报error structize