了解反编译汇编代码

时间:2014-09-29 17:23:59

标签: c assembly decompiling

我有以下代码用于反编译:

movl $0x2feaf, -0x18(%ebp)
mov  0x8(%ebp), %eax
mov  %eax, -0x14(%ebp)

我的问题是,我不明白0x8(%ebp)在上下文中的含义。我尝试了以下c代码:

int b = 196271;
int a = b;

但是这给了我

movl $0x2feaf, -0x8(%ebp)
mov  -0x8(%ebp), $eax
mov  %eax, -0x4(%ebp)

0x8(%ebp)是什么意思?谢谢!

1 个答案:

答案 0 :(得分:3)

这意味着将[EBP + 8]处的任何内容移动到EAX寄存器中。

在大多数情况下,[EBP + 8]将成为当前函数的参数。