これに出くわしたとき、私はCのいくつかの概念を経験していました。
int add (int a, int b)
{
return a+b;
}
int main()
{
int a,b;
a = 3;
b = 4;
int ret = add(a,b);
printf("Result: %u\n", ret);
exit(0);
}
そのために生成されたアセンブラコードは次のとおりです。
<main>:
1: push ebp
2: mov ebp, esp
3: sub esp, 0x18
4: mov eax, 0x0
.........(もう少しコードがありますが、質問には関係ありません)
私が聞きたい質問は、スタックポインタ(esp)の3番目のステップの値が24(0x18)減少した理由です。