混编汇编转c++
大家好,vs中遇到了混编汇编的情况,现在我想将原本32位平台转为64位,但是64位不再支持汇编的混编,因此我想将混编的汇编用c++实现并进行替换。
请看这段程序,遇到控制字那块就不会转化了,应该怎样写呢?
int Log2_I2I(int value, BOOL roundUp)
{
WORD tmpcw, tmprnddowncw;
if (roundUp)
tmprnddowncw = 0;
else
tmprnddowncw = 0x0400;
_asm
{
fnstcw tmpcw // set control word to round to nearest down
mov ax,tmpcw
and ax, 0xF3FF
or tmprnddowncw, ax
fld1
fild value
fyl2x
fistp value
fldcw tmpcw // restore control word
}
return value;
}