2016-04-30 36 views
0

使用C++ Builder中6,并试图运行此代码MMX无效的浮点运算

__int64 m64_1 = 1424115525456; 
    __int64 m64_2 = 2222222222222; 
    __int64 m64_3 = 1111111111111; 


    __asm movq mm1, m64_1 
    __asm paddd mm1, m64_2 
    __asm movq m64_3, mm1 

Getting and exception

但我不被零执行部门。 什么关于这个错误

+2

如果您MMX还必须EMMS – harold

+0

我看不出它表明,这些指令之一导致异常。你为什么认为它在那里? – wallyk

+0

@wallyk当我调试它。我穿过__asm线并撞向'Memo1-> Text =“assemble”'; – keipa

回答

0

只需输入您__asm emms命令MMX像 后说:

__asm movq mm1, m64_1; 
__asm paddd mm1, m64_2; 
__asm movq m64_3, mm1; 
__asm emms 
+0

你应该真的把它变成社区wiki的答案,因为它实际上是@ harold的答案。 –