我有以下问题: 难道 OR EAX, EAX 代表一个 if 语句?
我问的原因是,我在汇编代码中阅读了以下内容:
....
OR EAX, EAX
JNZ funct.A
.....
在 OR EAX, EAX 行之前,调用函数 strcmp,其返回值 00000001 存储在 EAX 中。所以我发现:如果返回值大于零表示不匹配的第一个字符在 string1 中的值大于在 string2 中的值。
所以,我的第一个问题是:“如果返回值大于零表示不匹配的第一个字符在 string1 中的值大于 string2 中的值”是什么意思。
第二个问题是:我可以将汇编代码翻译成伪 C 代码,如下所示:
if(EAX == 1){
funct.A;
}
那样行吗?还是完全错误?如果是,那么您有什么建议?