帮助从汇编转换为C.

Get*_*awn 3 c x86 assembly translation

我有一些函数的代码

subl $24, %esp
movl 8(%ebp), %eax
cmpl 12(%ebp), %eax
Run Code Online (Sandbox Code Playgroud)

在代码只是'ENTER'命令之前,如果ebp> eax则返回1,如果它更少,则返回0.我假设cmpl意味着比较,但我不知道具体的值是什么.谁能告诉我发生了什么?

ken*_*ytm 18

是cmpl表示比较(使用4字节参数).假设这段代码后跟一个jg <addr>:

movl 8(%ebp), %eax
cmpl 12(%ebp), %eax
jg <addr>
Run Code Online (Sandbox Code Playgroud)

然后代码类似于

eax = ebp[8];
if (eax > ebp[12])
   goto <addr>;
Run Code Online (Sandbox Code Playgroud)