2016-04-30 64 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的答案。 –