|
|
发表于 2012-5-26 12:13:18
|
显示全部楼层
3: void main()
4: {
00401010 push ebp
00401011 mov ebp,esp
00401013 sub esp,50h
00401016 push ebx
00401017 push esi
00401018 push edi
00401019 lea edi,[ebp-50h]
0040101C mov ecx,14h
00401021 mov eax,0CCCCCCCCh
00401026 rep stos dword ptr [edi]
5: int i = 5, j = 5, p, q;
00401028 mov dword ptr [ebp-4],5
0040102F mov dword ptr [ebp-8],5
6: p = (i++) + (i++) + (i++);
00401036 mov eax,dword ptr [ebp-4]
00401039 add eax,dword ptr [ebp-4]
0040103C add eax,dword ptr [ebp-4]
0040103F mov dword ptr [ebp-0Ch],eax
00401042 mov ecx,dword ptr [ebp-4]
00401045 add ecx,1
00401048 mov dword ptr [ebp-4],ecx
0040104B mov edx,dword ptr [ebp-4]
0040104E add edx,1
00401051 mov dword ptr [ebp-4],edx
00401054 mov eax,dword ptr [ebp-4]
00401057 add eax,1
0040105A mov dword ptr [ebp-4],eax
7: q = (++j) + (++j) + (++j);
0040105D mov ecx,dword ptr [ebp-8]
00401060 add ecx,1
00401063 mov dword ptr [ebp-8],ecx
00401066 mov edx,dword ptr [ebp-8]
00401069 add edx,1
0040106C mov dword ptr [ebp-8],edx
0040106F mov eax,dword ptr [ebp-8]
00401072 add eax,dword ptr [ebp-8]
00401075 mov ecx,dword ptr [ebp-8]
00401078 add ecx,1
0040107B mov dword ptr [ebp-8],ecx
0040107E add eax,dword ptr [ebp-8]
00401081 mov dword ptr [ebp-10h],eax
8: printf("%d,%d,%d,%d",p,q,i,j);
00401084 mov edx,dword ptr [ebp-8]
00401087 push edx
00401088 mov eax,dword ptr [ebp-4]
0040108B push eax
0040108C mov ecx,dword ptr [ebp-10h]
0040108F push ecx
00401090 mov edx,dword ptr [ebp-0Ch]
00401093 push edx
00401094 push offset string "%d,%d,%d,%d" (0042201c)
00401099 call printf (004010e0)
0040109E add esp,14h
9: }
自己看吧,我就不解释了。。。。 |
|