1
我需要編寫函數,該函數應該使用SSE2將弧度轉換爲度數。 這是分配。我不知道該怎麼做。MASM32函數將兩個雙精度數字相乘並返回它
_180_PI等於180/3.141592 ...... 我的函數需要剛剛返回return rad * _180_PI
這個函數在DLL數,這是它的聲明如何:
__declspec(dllexport) double __stdcall RadToDegAsm(double rad);
我:
.DATA
_180_PI dq 57.2957795130823208767981548141
.CODE
RadToDegAsm PROC rad: QWORD
movupd xmm0, rad
mulsd xmm0, _180_PI
;I need to somehow return it
RadToDegAsm ENDP
主要問題: 如何返回64位(雙)x的內容mm0寄存器,以便它與給定的聲明一起工作?
您應該使用'movsd'加載參數,並且最後缺少'ret',除非'ENDP'將它放在那裏。否則它應該沒問題,你遇到了什麼問題? – Jester
將C代碼構建爲64位或32位代碼? – Michael
它是x86。而且我沒有完成該功能,因爲我不知道如何從asm __stdcall函數返回double。正常的32位數字在eax中返回。但雙(64位)? – Hooch