【发布时间】:2014-02-21 17:46:22
【问题描述】:
使用 amd64 汇编,将 64 位寄存器的前 32 位清零的最佳方法是什么,例如将 eax 未覆盖的 rax 位清零?看来我不能和整个寄存器针对 64 位常量。
【问题讨论】:
-
不是 eax 低 32 位的 rax 吗?看这里:stackoverflow.com/questions/8580838/…
-
如果 eax 是一个有符号值,那么如果该值为负数,您需要 1,而不是 0。 MOVSXD。
标签: assembly x86-64 machine-language