Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 汇编-将xmm寄存器加载到32寄存器_Assembly_Masm_Sse - Fatal编程技术网

Assembly 汇编-将xmm寄存器加载到32寄存器

Assembly 汇编-将xmm寄存器加载到32寄存器,assembly,masm,sse,Assembly,Masm,Sse,我的结果是xmm0。它是一个32位浮点数。我正在尝试将其加载到32位寄存器edx movss dword ptr [result], xmm0 mov eax, dword ptr [result] 我在eax有一个奇怪的数字。。。我以为这是一个地址,但这不是因为我试图看看地址后面是什么 我的第二个想法是: movd eax, xmm0 但是它给了我和第一个一样的结果。 有人知道如何将浮点数从xmm寄存器正确加载到32位寄存器吗?如果要将结果从单精度浮点转换为整数,请使用 cvtss2si

我的结果是xmm0。它是一个32位浮点数。我正在尝试将其加载到32位寄存器edx

movss dword ptr [result], xmm0
mov eax, dword ptr [result]
我在eax有一个奇怪的数字。。。我以为这是一个地址,但这不是因为我试图看看地址后面是什么

我的第二个想法是:

movd eax, xmm0
但是它给了我和第一个一样的结果。
有人知道如何将浮点数从xmm寄存器正确加载到32位寄存器吗?

如果要将结果从单精度浮点转换为整数,请使用

cvtss2si r32, xmm
还有其他转换指令,例如,将4个压缩浮点转换为4个压缩32位整数:

cvtps2dq xmm, xmm

《英特尔intrinsics指南》可以方便地按函数进行搜索,当然,《英特尔insn ref指南》有所有内容的详细信息,索引中有摘要。链接到这些,以及其他重要的阅读资料,如Agner Fog的指南,在。

你到底期望什么-比如,一个四舍五入的结果,或者解释为整数的文字浮点位?我期望eax中的结果带有尾数和指数,所以文字浮点位解释为整数,这正是你得到的结果。如果您认为有错误,请提供更多信息,例如
xmm0
eax
的实际内容。