1. Debug version
intMain () {011752E0 push ebp 011752E1 mov ebp,esp 011752E3 sub esp,0c0h 011752E9 push EBX 011752EA push esi 011752EB push EDI 011752EC Lea EDI,[EBP-0c0h] 011752F2 mov ecx,30h 011752F7 mov eax,0cccccccch 011752FC rep stos dword ptr Es:[edi] cout<<5; 011752FE mov esi,esp01175300Push5 01175302mov ecx,dword ptr ds:[1180090h]01175308Call dword ptr ds:[11800c8h] 0117530E cmp esi,esp01175310Call __rtc_checkesp (011712e4h)return 0;01175315XOR Eax,eax}
00195317 Pop EDI
00195318 pop ESI
00195319 pop ebx
0019531A Add esp,0c0h
00195320 CMP EBP,ESP
00195322 call __rtc_checkesp (01912e4h)
00195327 mov esp,ebp
00195329 Pop EBP
0019532A ret
intMain () {00065360Push EBP00065361mov ebp,esp00065363Sub esp,0c0h00065369push ebx 0006536A push esi 0006536B push EDI 0006536C Lea EDI,[EBP-0c0h]00065372mov ecx,30h00065377mov eax,0cccccccch 0006537C rep stos dword ptr Es:[edi] cout<<endl;0006537e mov esi,esp00065380Push 6138Eh00065385mov ecx,dword ptr ds:[70090h] 0006538B call DWORD ptr ds:[7009ch]00065391CMP Esi,esp00065393Call __rtc_checkesp (0612e4h)return 0;00065398XOR Eax,eax}
01152DEA Pop EDI
01152DEB pop ESI
01152DEC pop ebx
01152DED Add esp,0c0h
01152DF3 CMP EBP,ESP
01152df5 call __rtc_checkesp (011512e4h)
01152DFA mov esp,ebp
01152DFC Pop EBP
01152DFD ret
intMain () {01183540Push EBP01183541mov ebp,esp01183543Sub esp,0c0h01183549push ebx 0118354A push esi 0118354B push EDI 0118354C Lea EDI,[EBP-0c0h]01183552mov ecx,30h01183557mov eax,0cccccccch 0118355C rep stos dword ptr Es:[edi] cout<<5<<endl;0118355e mov esi,esp01183560Push 118143Dh01183565mov edi,esp01183567Push5 01183569mov ecx,dword ptr ds:[1190090h] 0118356F call DWORD ptr ds:[11900c8h] cout<<5<<Endl;01183575CMP Edi,esp01183577Call __rtc_checkesp (011812e4h) 0118357C mov ecx,eax 0118357E call DWORD ptr ds:[119009ch ] 01183584CMP Esi,esp01183586Call __rtc_checkesp (011812e4h)return 0; 0118358B xor eax,eax}0118358d pop edi 0118358E pop esi 0118358F pop ebx 01183590Add esp,0c0h01183596CMP Ebp,esp01183598Call __rtc_checkesp (011812e4h) 0118359D mov esp,ebp 0118359F pop ebp 011835a0 ret
2. Release version
5 ; 00cf12a0 mov ecx,dword ptr ds:[0cf3030h] 00cf12a6 push 5 00CF12A8 call dword ptr ds:[0cf3038h] return0; 00cf12ae xor Eax,eax }
cout << endl;00ec12a0 mov ecx,dword ptr ds:[0ec303ch] 00ec12a6 push 0ec1700h 00EC12AB call dword ptr ds:[0ec3044h] return0; 00ec12b1 xor Eax,eax } 00EC12B3 ret
5<<endl;00a412a0 mov ecx,dword ptr ds:[0a43040h] 00a412a6 push 0a41700h 00a412ab Push 5 00a412ad call dword ptr ds:[0a43024h] 00A412B3 mov ecx,eax 00a412b5 call dword ptr ds:[0a43048h] return 0 ; 00A412BB xor eax,eax }00a412bd ret
C + + Disassembly notes (iv) cout, Endl