如何在不使用寄存器的情况下将128位xmm直接移动到存储器?

时间:2013-12-29 03:29:30

标签: assembly 64-bit

我已经完成了movdqu [dst], xmm0但我一直遇到错误,但是这样做有效:

mov esi, dst
movdqu [esi], xmm0

为什么?我怎样才能使用直接内存写入?

谢谢。

1 个答案:

答案 0 :(得分:1)

如果您尝试将从地址dst开始的128位内存移动到xmm0,则可以在MASM中执行以下操作。 (自20世纪90年代初以来,我没有使用过MASM,但我记得这应该有用):

movdqu oword ptr dst, xmm0

您也可以尝试

movdqu dst, xmm0

我认为这里的问题是,在大多数汇编程序中,您可以使用括号来表示变量的值,但在MASM中则不是!

的情况下
mov esi, dst
movdqu [esi], xmm0

括号是必需的,因为esi不是变量;这是一个登记册。