给局部变量预留空间的问题
6: void myfunction(int a,int b)
7: {
00401020 push ebp
00401021 mov ebp,esp
00401023 sub esp,44h
00401026 push ebx
00401027 push esi
00401028 push edi
00401029 lea edi,[ebp-44h]
0040102C mov ecx,11h
00401031 mov eax,0CCCCCCCCh
00401036 rep stos dword ptr [edi]
8: int c = a+b;
00401038 mov eax,dword ptr [ebp+8]
0040103B add eax,dword ptr [ebp+0Ch]
0040103E mov dword ptr [ebp-4],eax
9: }
1;sub esp,44h ;这个预留空间大小怎么确定? 我的myfunction里面只有一个int类型的变量,怎么现在预留44字节?
2;下面三个寄存器为什么也要压入栈里面去?
ebx,esi,edi