Relationship of parameters, return address, local variables, and EBP
Debug Version:
0x004000d0 local_3 ebp-20 <--local variable 3
0xCCCCCCCC
0xCCCCCCCC
0x004000dc local_2 ebp-14 <--local variable 2
0xCCCCCCCC
0xCCCCCCCC
0x004000e8 local_1 ebp-8 <--local variable 1
0xCCCCCCCC
0x004000f0 ebp_old ebp <--old EBP value
0x004000f4 retn_addr ebp+4 <--return address
0x004000f8 parem_1 ebp+8 <--parameter 1
0x004000fc param_2 ebp+c <--parameter 2
0x00400100 param_3 ebp+10 <--parameter 3
Release version:
0x004000e4 local_3 ebp-c <--local variable 3
0x004000e8 local_2 ebp-8 <--local variable 2
0x004000ec local_1 ebp-4 <--local variable 1
0x004000f0 ebp_old ebp <--old EBP value
0x004000f4 retn_addr ebp+4 <--return address
0x004000f8 parem_1 ebp+8 <--parameter 1
0X004000FC param_2 ebp+c <--parameter 2
0x00400100 param_3 ebp+10 <--Parameter 3
Stack from high address to low address growth
Windows Program Stack distribution