内嵌的汇编错误
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
问题点数:50、回复次数:1Top
1 楼coolie(aa)回复于 2000-05-26 20:56:00 得分 50
試0試——asm bsr ebx,dword ptr[u+4]Top




