VC6.0 -if-else嵌套汇编

1:    #include

2:    using namespace std;

3:

4:

5:    int main()

6:    {

00401030   push        ebp

00401031   mov         ebp,esp

00401033   sub         esp,44h

00401036   push        ebx

00401037   push        esi

00401038   push        edi

00401039   lea         edi,[ebp-44h]

0040103C   mov         ecx,11h

00401041   mov         eax,0CCCCCCCCh

00401046   rep stos    dword ptr [edi]

7:        int a=3;

00401048   mov         dword ptr [ebp-4],3

8:            if(1==a)

0040104F   cmp         dword ptr [ebp-4],1

00401053   jne         main+2Fh (0040105f)

9:            {

10:               a=2*a;

00401055   mov         eax,dword ptr [ebp-4]

00401058   shl         eax,1

0040105A   mov         dword ptr [ebp-4],eax

11:           }else if(2==a)

0040105D   jmp         main+5Ah (0040108a)

0040105F   cmp         dword ptr [ebp-4],2

00401063   jne         main+40h (00401070)

12:           {

13:               a=3*a;

00401065   mov         ecx,dword ptr [ebp-4]

00401068   imul        ecx,ecx,3

0040106B   mov         dword ptr [ebp-4],ecx

14:           }else if(3==a)

0040106E   jmp         main+5Ah (0040108a)

00401070   cmp         dword ptr [ebp-4],3

00401074   jne         main+51h (00401081)

15:           {

16:              a=4*a;

00401076   mov         edx,dword ptr [ebp-4]

00401079   shl         edx,2

0040107C   mov         dword ptr [ebp-4],edx

17:           }else

0040107F   jmp         main+5Ah (0040108a)

18:           {

19:               a=5*a;

00401081   mov         eax,dword ptr [ebp-4]

00401084   imul        eax,eax,5

00401087   mov         dword ptr [ebp-4],eax

20:           }

21:

22:

23:       return 0;

0040108A   xor         eax,eax

24:   }

0040108C   pop         edi

0040108D   pop         esi

0040108E   pop         ebx

0040108F   mov         esp,ebp

00401091   pop         ebp

00401092   ret

--- No source file  ---

转载于:https://my.oschina.net/Draymond/blog/1017479

你可能感兴趣的:(VC6.0 -if-else嵌套汇编)