Pushok icon

switch if

Pushok | PRO | 06/03/12 02:57:18 PM UTC | 0 ⭐ | 388 👁️ | Never ⏰ | []
ASM (NASM) |

0 B

|

None

|

0 👍

/

0 👎

    int a = 2;
00161006  mov         dword ptr [a],2  
 
    switch(a)
0016100D  mov         eax,dword ptr [a]  
00161010  mov         dword ptr [ebp-8],eax  
00161013  cmp         dword ptr [ebp-8],0  
00161017  je          main+27h (161027h)  
00161019  cmp         dword ptr [ebp-8],1  
0016101D  je          main+37h (161037h)  
0016101F  cmp         dword ptr [ebp-8],2  
00161023  je          main+47h (161047h)  
00161025  jmp         main+55h (161055h)  
    {
    case 0:
        printf("asd");
00161027  push        offset ___xi_z+34h (1620F4h)  
0016102C  call        dword ptr [__imp__printf (1620A0h)]  
00161032  add         esp,4  
        break;
00161035  jmp         main+55h (161055h)  
    case 1:
        printf("asd1");
00161037  push        offset ___xi_z+38h (1620F8h)  
0016103C  call        dword ptr [__imp__printf (1620A0h)]  
00161042  add         esp,4  
        break;
00161045  jmp         main+55h (161055h)  
    case 2:
        printf("asd2");
00161047  push        offset ___xi_z+40h (162100h)  
0016104C  call        dword ptr [__imp__printf (1620A0h)]  
00161052  add         esp,4  
        break;
    }
 
    //-----
 
    if( a == 0 )
00161055  cmp         dword ptr [a],0  
00161059  jne         main+6Bh (16106Bh)  
    {
        printf("asd");
0016105B  push        offset ___xi_z+48h (162108h)  
00161060  call        dword ptr [__imp__printf (1620A0h)]  
00161066  add         esp,4  
00161069  jmp         main+95h (161095h)  
    }
    else if(a==1)
0016106B  cmp         dword ptr [a],1  
0016106F  jne         main+81h (161081h)  
    {
        printf("asd1");
00161071  push        offset ___xi_z+4Ch (16210Ch)  
00161076  call        dword ptr [__imp__printf (1620A0h)]  
0016107C  add         esp,4  
0016107F  jmp         main+95h (161095h)  
    }
    else if(a==2)
00161081  cmp         dword ptr [a],2  
00161085  jne         main+95h (161095h)  
    {
        printf("asd2");
00161087  push        offset ___xi_z+54h (162114h)  
0016108C  call        dword ptr [__imp__printf (1620A0h)]  
00161092  add         esp,4  
    }
 
 
    return 0;
00161095  xor         eax,eax  
}

Comments