我正在尝试解码从二进制文件生成的一些汇编代码。代码中有对sscanf
函数的调用:
400f08: e8 13 fc ff ff callq 400b20 <sscanf@plt>
400f0d: 89 45 fc mov %eax,-0x4(%rbp)
你能告诉我sscanf
在装配中是如何工作的吗?我很确定参数的数量存储在%eax
...中。它是否以相反的顺序将输入推入堆栈?所以说我的输入是0 1
,在运行 sscanf, %eax
=2 之后,堆栈看起来像:
1
0 <----%rsp (top of the stack)
这个对吗?谢谢!