void main()
{
00412050
push
ebp
00412051
mov
ebp,esp
00412053
sub
esp,0F0h
00412059
push
ebx
0041205A
push
esi
0041205B
push
edi
0041205C
lea
edi,[ebp-0F0h]
00412062
mov
ecx,3Ch
00412067
mov
eax,0CCCCCCCCh
0041206C
rep stos
dword ptr es:[edi]
int x1=1,x2=1;
0041206E
mov
dword ptr [x1],1
00412075
mov
dword ptr [x2],1
int s1,s2;
s1=(x1++)+(x1++)+(x1++);
0041207C
mov
eax,dword ptr [x1]
0041207F
add
eax,dword ptr [x1]
00412082
add
eax,dword ptr [x1]
00412085
mov
dword ptr [s1],eax
00412088
mov
ecx,dword ptr [x1]
0041208B
add
ecx,1
0041208E
mov
dword ptr [x1],ecx
00412091
mov
edx,dword ptr [x1]
00412094
add
edx,1
00412097
mov
dword ptr [x1],edx
0041209A
mov
eax,dword ptr [x1]
0041209D
add
eax,1
004120A0
mov
dword ptr [x1],eax
printf("x1=%d\n",x1);
004120A3
mov
esi,esp
004120A5
mov
eax,dword ptr [x1]
004120A8
push
eax
004120A9
push
offset string "x1=%d\n" (416660h)
004120AE
call
dword ptr [__imp__printf (4192F0h)]
004120B4
add
esp,8
004120B7
cmp
esi,esp
004120B9
call
@ILT+355(__RTC_CheckEsp) (411168h)
s2=(++x2)+(++x2)+(++x2);
004120BE
mov
eax,dword ptr [x2]
004120C1
add
eax,1
004120C4
mov
dword ptr [x2],eax
004120C7
mov
ecx,dword ptr [x2]
004120CA
add
ecx,1
004120CD
mov
dword ptr [x2],ecx
004120D0
mov
edx,dword ptr [x2]
004120D3
add
edx,1
004120D6
mov
dword ptr [x2],edx
004120D9
mov
eax,dword ptr [x2]
004120DC
add
eax,dword ptr [x2]
004120DF
add
eax,dword ptr [x2]
004120E2
mov
dword ptr [s2],eax
printf("x2=%d\n",x2);
004120E5
mov
esi,esp
004120E7
mov
eax,dword ptr [x2]
004120EA
push
eax
004120EB
push
offset string "x2=%d\n" (416658h)
004120F0
call
dword ptr [__imp__printf (4192F0h)]
004120F6
add
esp,8
004120F9
cmp
esi,esp
004120FB
call
@ILT+355(__RTC_CheckEsp) (411168h)
printf("s1=%d,s2=%d\n",s1,s2);
如果你能看懂汇编 就立即了。。这个是反汇编出来的。