x86汇编中scanf调用后cmp指令的作用是什么?
关于phase2函数汇编转C的疑问
我正在进行x86汇编代码逆向转换为C语言的基础工作,但难以理解名为phase2的函数开头的操作。
对应的汇编代码如下:
call 0x5555555550b0 <__isoc99_sscanf@plt> cmp $0x2,%eax jne 0x555555555761 <phase2+86>
我初步猜测这段代码对应的C语言代码是:
if (scanf() == 2) {
一开始我认为这是在判断scanf()的返回值是否等于2,但结合上下文来看这似乎不合理,因为实际结果好像从来不会是2。
内容的提问来源于stack exchange,提问作者RTT
相关产品推荐
相关产品推荐

