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

问题描述 投票:-1回答:1

是将值移入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

assembly x86 sse
1个回答
4
投票

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

const   dd 1000.0

...

        movss xmm0,[const]
© www.soinside.com 2019 - 2024. All rights reserved.