gpt4 book ai didi

assembly - `teSTL` eax 与 eax?

转载 作者:行者123 更新时间:2023-12-02 14:58:43 29 4
gpt4 key购买 nike

我正在尝试理解一些汇编。

程序集如下,我对teSTL行感兴趣:

000319df  8b4508        movl   0x08(%ebp), %eax  
000319e2 8b4004 movl 0x04(%eax), %eax
000319e5 85c0 testl %eax, %eax
000319e7 7407 je 0x000319f0

我试图理解 %eax%eax 之间的 teSTL 点?我认为这段代码的细节并不重要,我只是想理解测试本身 - 该值不总是正确的吗?

最佳答案

test 的含义是将参数进行 AND 运算,并检查结果是否为零。所以这段代码测试 EAX 是否为零。 je 如果为零则跳转。

顺便说一句,这会生成比 cmp eax, 0 更小的指令,这就是编译器通常会这样做的原因。

关于assembly - `teSTL` eax 与 eax?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/147173/

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