C++程序汇编代码输出请教
请教各位一个简单的程序:
void main()
{
004113C0 push ebp
004113C1 mov ebp,esp
004113C3 sub esp,0FCh
004113C9 push ebx
004113CA push esi
004113CB push edi
004113CC lea edi,[ebp-0FCh]
004113D2 mov ecx,3Fh
004113D7 mov eax,0CCCCCCCCh
004113DC rep stos dword ptr es:[edi]
int a,b;
a=5,
b=20;
004113DE mov dword ptr [a],5
004113E5 mov dword ptr [b],14h
int *p1=&a;
004113EC lea eax,[a]
004113EF mov dword ptr [p1],eax
int *p2=&b;
004113F2 lea eax,[b]
004113F5 mov dword ptr [p2],eax
char* p3="hello";
004113F8 mov dword ptr [p3],offset string "hello" (415860h)
……(其它汇编代码输出)
}
以上是C++源程序及相应的汇编代码输出。哪位能否帮忙说明下,代码段和堆栈段是怎么分配这些常量和变量的?先谢谢了!