gpt4 book ai didi

对 x86 汇编中的异或用法感到困惑

转载 作者:太空宇宙 更新时间:2023-11-04 06:26:07 26 4
gpt4 key购买 nike

我知道 xor 是互斥的 or and 可以用于xorl %ebx %ebx 可用于清除寄存器

但是在阅读时我遇到了 xorl 的不同用法并且感到困惑。xorl 12(%ebp),%eax 这意味着 eax = x^y

在此上下文中,它用于 x 的幂运算。这是不正确的用法吗?谢谢。

最佳答案

这里的 ^ 表示 XOR,就像在 C 中使用的那样。

假设我们使用的是 AT&T 表示法,那么

xorl 12(%ebp), %eax

xor eax 与来自 ebp 的值 12 个字节(如果我没记错我的汇编器的话),这通常是一个局部变量.所以,更正确的说法是

eax ^= y

(假设 y 位于 ebp+12),或者

x ^= y

如果 x 存储在 eax 寄存器中。

关于对 x86 汇编中的异或用法感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26662260/

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