将四字移动到 xmm
Posted
技术标签:
【中文标题】将四字移动到 xmm【英文标题】:Moving quadwords to xmm 【发布时间】:2013-09-03 23:26:22 【问题描述】:我只想知道用于将带有数字的 64 位寄存器移动到 xmm 寄存器的代码。我的想法是:
`movsd xmm1, [r14]`
但我不断收到segmentation fault: 11
。
我在 Mac OS-X 上使用 NASM x86。
请有人帮忙。
【问题讨论】:
你不是说movsd xmm1, r14
吗?
我刚刚尝试过,但仍然遇到分段错误。
【参考方案1】:
movsd xmm1, [r14]
尝试从r14
中存储的地址 加载双精度。那不是你想要的。相反,使用:
movq xmm1, r14
【讨论】:
我仍然遇到分段错误 @GolfinGamer:该指令不能出现段错误,因为没有内存访问。要么您输入错误,要么您的错误在其他地方。注意是r14
,不是 [r14]
。
我让段错误停止,但我的程序仍然无法运行。我认为 r14 的值没有得到正确的值。但感谢您的帮助。这是我需要的正确代码行
我实际上仍然无法从 r14 获取号码。我已经对其进行了测试,发现 r14 确实有然后编号,但是当我在使用这行代码后检查它是否在 xmm1 中时,它不在 xmm1 中。我做错了什么?以上是关于将四字移动到 xmm的主要内容,如果未能解决你的问题,请参考以下文章
如何将两个打包的 64 位四字加载到 128 位 xmm 寄存器中