gpt4 book ai didi

linux - x86_64 Linux 汇编中的逻辑与实现

转载 作者:行者123 更新时间:2023-12-05 09:01:41 25 4
gpt4 key购买 nike

我正在尝试实现逻辑 NOT 和逻辑 AND在汇编中,我没有使用 x < 1 是合乎逻辑的但我想不出如何实现 AND,我可以使用二进制,但是对于负数来说这是错误的(它假设 -1 是 true ) 而且没有任何意义什么时候不明显有效因为-1 < 1会返回 1

所以我很困惑,我该怎么做,任何已知的实现我可以使用哪个?找了好久没找到

最佳答案

标准的解决方案是将a && b实现为

if (a)
return (b);
else
return (0);

即使用条件跳转。在足够新的 x86 上,您还可以使用这样的 cmov 指令:

; assumes input in eax and ebx
mov ecx, eax ; ecx = A
test ebx, ebx ; B?
cmovnz ecx, ebx ; ecx = A ? B : A

关于linux - x86_64 Linux 汇编中的逻辑与实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72960845/

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