当我搜索时,除了关于 64/32 位内容的意见问题外,似乎找不到任何东西。
__asm__ {
mov rbx, 0xFFFFffffFFFFffffull
movq mm2, rbx
}
根据我的 xcode 调试器(这是 C++ 中的内联 asm),在这 2 条指令之后,mm2 寄存器保存值 0x30500004ffffffff。现在我是 x86 程序集的新手,我的程序集课程是在我很久以前学习的 MIPS 中教授的,但我想这不起作用,因为我正在以 32 位模式和 rbx 编译(这是 photoshop 插件的一部分)( ebx、bx 等的 64 位版本,对吗?)在技术上可能不存在。我尝试了其他方法来获得所有 1,例如将 0xfffffffful 加载到 mm2 和另一个寄存器并进行乘法,但这似乎也不起作用。
我正在修复使用一些 SIMD 指令优化我的插件,但我似乎无法弄清楚或找到任何不会让我眼睛受伤的文档。任何帮助深表感谢!