我需要具有 64 位宽的立即地址的指令 movlps,根据英特尔手册,这应该是完全可能的。所以,像这样:
movlps xmm0, [0x7fffffffffa0]
但我得到的只是 NASM 将操作数大小截断为 32 位并打印相应的警告:
sample.s:6: warning: dword data exceeds bounds
我尝试了不同形式的 qword 前缀,但没有成功。
最佳答案
大多数 x64 指令不需要 64 位 immed。
除非我大错特错,否则您必须通过 rax 寄存器。
关于x86-64 - movlps 的 NASM 64 位立即地址给出 "dword data exceeds bounds",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3623899/