gpt4 book ai didi

assembly - Intel x86 汇编 - 读取和复制进位标志

转载 作者:行者123 更新时间:2023-12-02 16:18:22 26 4
gpt4 key购买 nike

我目前正在创建一个程序将十进制转换为二进制。我目前正在使用移位方法来获取 0 和 1。

我查看了其他线程,这些线程导致使用 LAHF 和 PUSHF 来访问标志并设置它;然而,我想做的就是获取进位标志的当前值并将其存储到寄存器中(即:当前位置的 1 或 0),稍后将其复制到数组中。由于我对 LAFH 或 PUSHF 不太熟悉,我想知道您是否可以使用 LAFH 或 PUSHF 完成我上面要求的相同任务。

例如,我想将当前的CF移动到eax中:mov edx,cf(我知道这不起作用,但我正在寻找类似的东西)。复制 1 或 0 后,我会将其移动到从 C++ 程序传递的数组中。

最佳答案

与这个问题几乎相同: check if carry flag is set

您可以使用 JC、JNC 根据进位标志进行分支,然后将 1 或 0 移动到您要使用的寄存器中。

或者使用ADC命令。

mov eax, 0
adc eax, 0

我会补充说,PUSHF 然后弹出到寄存器中,并用 XOR 屏蔽掉您想要的位也可以。 ADC 方法可能是最好的

关于assembly - Intel x86 汇编 - 读取和复制进位标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33787812/

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