gpt4 book ai didi

汇编条件跳转

转载 作者:行者123 更新时间:2023-12-02 05:40:34 25 4
gpt4 key购买 nike

我刚开始使用汇编,进展顺利,但有一件事我就是不明白。条件跳跃是如何工作的?

我这里有一个汇编代码示例。

TEST EAX, EAX
FCLEX
JGE SHORT 004022B1

我看到当某个条件大于或等于时,将跳转到 004022B1。
但是那个条件是什么,它在哪里被检查?
我假设条件必须是TEST EAX,EAX。但我不确定它的作用。

任何人都可以向我解释条件跳转的工作原理以及检查/存储条件的位置吗?

最佳答案

条件跳转(和其他一些指令)使用标志。这些标志是 (E/R) FLAGS 中的位登记。 test a, b 根据和a, b的结果设置标志,而不用结果更新afclex 不会更改任何普通标志(当然它会更改 FPU 标志)。

jge 测试*符号标志的值是否等于溢出标志。 test a, b 将溢出标志设置为零,将符号标志设置为and a, b 结果的符号位。因此,如果 eax 为正,则跳转。

*:注意它不测试“大于或等于”。当在 cmp(和其他一些指令)之后检查标志时,该解释是有效的。它实际上只查看标志。

关于汇编条件跳转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11035220/

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