gpt4 book ai didi

assembly - 左/右旋转进位的实际用途

转载 作者:行者123 更新时间:2023-12-03 06:29:36 29 4
gpt4 key购买 nike

左旋转进位和右旋转进位指令有哪些实际用途?

在我的汇编课上,我们无法想出一个有用的好例子。

最佳答案

如果您想将位从一个操作数移出并移入另一个操作数:

       SHL  EAX, 1 ; move sign bit of EAX ...
RCL EDX ; into LSB of EDX

如果您想反转 EAX 中的位:

          MOV  ECX, 32
loop: SHR EAX, 1
RCL EDX
DEC ECX
JNE LOOP
; EDX == EAX with bits reversed here

真正的要点是,这些循环指令捕获来自其他操作数的数据“位”,并允许您与现有数据组合。您希望您的机器提供一组丰富的数据操作原语,以便您可以进行任意数据改组。

话虽如此,在搜索我的一个大约 30,000 行汇编源代码的应用程序时,我只看到了 3 或 4 个用途。但是,我没有使用英特尔指令集中的某些其他指令。很少使用并不意味着无用。

如果没有这些说明,您可以生活吗?当然,您的 CPU 具有图灵功能。

关于assembly - 左/右旋转进位的实际用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26913354/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com