如何将浮点常量值移动到xmm寄存器中?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将浮点常量值移动到xmm寄存器中?相关的知识,希望对你有一定的参考价值。

是将值移入xmm寄存器的唯一方法是首先将值移入整数寄存器,不知道它们被称为什么,然后进入xmm寄存器,例如

mov   [eax], (float)1000   ; store to memory
movss xmm1,[eax]           ; reload

要么

mov        eax,  1000       ; move-immediate integer
cvtsi2ss   xmm1,eax         ; and convert

还是有另一种方式?有没有办法直接将值移动到xmm寄存器中,类似于:movss xmm1,(float)1000

答案

没有指令用立即加载SSE寄存器。常用的习惯用法是从全局常量中加载所需的值:

const   dd 1000.0

...

        movss xmm0,[const]

以上是关于如何将浮点常量值移动到xmm寄存器中?的主要内容,如果未能解决你的问题,请参考以下文章

将单个浮点数移动到 xmm 寄存器

将浮点数从高 xmm 四字移动到低 xmm 四字

将 XMM 寄存器设置为重复字节模式(广播常量字节)

如何将浮点常量移入 FP 寄存器?

将四字移动到 xmm

如何在 x86(32 位)程序集中将无符号整数转换为浮点数?