【发布时间】:2020-08-11 02:52:30
【问题描述】:
如何在 x64-Assembly 中有效地用另一个寄存器的最低有效位填充寄存器的最高有效位。预期用途是将 128 位值除以 2(本质上是跨寄存器移位)。
RDX:RAX (result after MUL-Operation)
【问题讨论】:
-
查看来自 GCC 或 clang
-O3的__uint128_t的编译器输出。他们应该知道如何使用shrd/shr
标签: assembly x86-64 bit-shift extended-precision