如何将通用64位寄存器的值写入MMX?
How to write the value of a general-purpose 64 bit register into MMX?
我正在使用 x64 汇编,Visual C++ 2010/MASM 告诉我指令
movq mm0, rax
包含 "invalid instruction operands".
这真的是违法的,还是一个错误?
如何在不使用指令的情况下执行此过程?
这是一个错误,或者您没有指定 64 位模式或 MMX 扩展。
movq mm0, rax
是一条有效指令,机器代码为 48 0F 6E C0
。
请参阅英特尔指令集参考。如果一切都失败了,您可以将机器代码作为数据字节包含在内。
就是说,MMX 已过时(特别是因为在 64 位模式下您默认使用 SSE2)。确保你真的想使用它。
我正在使用 x64 汇编,Visual C++ 2010/MASM 告诉我指令
movq mm0, rax
包含 "invalid instruction operands".
这真的是违法的,还是一个错误? 如何在不使用指令的情况下执行此过程?
这是一个错误,或者您没有指定 64 位模式或 MMX 扩展。
movq mm0, rax
是一条有效指令,机器代码为 48 0F 6E C0
。
请参阅英特尔指令集参考。如果一切都失败了,您可以将机器代码作为数据字节包含在内。
就是说,MMX 已过时(特别是因为在 64 位模式下您默认使用 SSE2)。确保你真的想使用它。