Ember

Bluaegh

Feb 27th, 2014
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.36 KB | None | 0 0
  1. const long long iterCount = pow(2, 29);
  2. for(long long i = 0; i<iterCount; ++i)
  3. {
  4.     if(i < 0)
  5.     {
  6.         ++x; // x is 32 or 64 bits (different disassembly below)
  7.     }
  8. }
  9.  
  10. // Incrementing x as a 32-bit value
  11.  
  12. 00E3140D C5 F9 13 44 24 18    vmovlpd     qword ptr [esp+18h],xmm0  
  13. 00E31413 85 FF                test        edi,edi  
  14. 00E31415 7C 29                jl          main+1A0h (0E31440h)  
  15. 00E31417 7F 04                jg          main+17Dh (0E3141Dh)  
  16. 00E31419 85 F6                test        esi,esi  
  17. 00E3141B 74 23                je          main+1A0h (0E31440h)  
  18. 00E3141D 8B 4C 24 1C          mov         ecx,dword ptr [esp+1Ch]  
  19. 00E31421 8B 44 24 18          mov         eax,dword ptr [esp+18h]  
  20. 00E31425 85 C9                test        ecx,ecx  
  21. 00E31427 7F 07                jg          main+190h (0E31430h)  
  22. 00E31429 7C 04                jl          main+18Fh (0E3142Fh)  
  23. 00E3142B 85 C0                test        eax,eax  
  24. 00E3142D 73 01                jae         main+190h (0E31430h)  
  25. 00E3142F 43                   inc         ebx  
  26. 00E31430 83 C0 01             add         eax,1  
  27. 00E31433 83 D1 00             adc         ecx,0  
  28. 00E31436 3B CF                cmp         ecx,edi  
  29. 00E31438 7C EB                jl          main+185h (0E31425h)  
  30. 00E3143A 7F 04                jg          main+1A0h (0E31440h)  
  31. 00E3143C 3B C6                cmp         eax,esi  
  32. 00E3143E 72 E5                jb          main+185h (0E31425h)  
  33.  
  34. // Incrementing x as a 64-bit value
  35.  
  36. 00EB144B C5 F9 13 44 24 18    vmovlpd     qword ptr [esp+18h],xmm0  
  37. 00EB1451 85 FF                test        edi,edi  
  38. 00EB1453 7C 41                jl          main+1F6h (0EB1496h)  
  39. 00EB1455 7F 04                jg          main+1BBh (0EB145Bh)  
  40. 00EB1457 85 F6                test        esi,esi  
  41. 00EB1459 74 3B                je          main+1F6h (0EB1496h)  
  42. 00EB145B 8B 54 24 10          mov         edx,dword ptr [esp+10h]  
  43. 00EB145F 8B 5C 24 14          mov         ebx,dword ptr [esp+14h]  
  44. 00EB1463 8B 4C 24 1C          mov         ecx,dword ptr [esp+1Ch]  
  45. 00EB1467 8B 44 24 18          mov         eax,dword ptr [esp+18h]  
  46. 00EB146B 89 54 24 0C          mov         dword ptr [esp+0Ch],edx  
  47. 00EB146F 90                   nop  
  48. 00EB1470 85 C9                test        ecx,ecx  
  49. 00EB1472 7F 10                jg          main+1E4h (0EB1484h)  
  50. 00EB1474 7C 04                jl          main+1DAh (0EB147Ah)  
  51. 00EB1476 85 C0                test        eax,eax  
  52. 00EB1478 73 0A                jae         main+1E4h (0EB1484h)  
  53. 00EB147A 83 C2 01             add         edx,1  
  54. 00EB147D 89 54 24 0C          mov         dword ptr [esp+0Ch],edx  
  55. 00EB1481 83 D3 00             adc         ebx,0  
  56. 00EB1484 83 C0 01             add         eax,1  
  57. 00EB1487 83 D1 00             adc         ecx,0  
  58. 00EB148A 3B CF                cmp         ecx,edi  
  59. 00EB148C 7C E2                jl          main+1D0h (0EB1470h)  
  60. 00EB148E 7F 12                jg          main+202h (0EB14A2h)  
  61. 00EB1490 3B C6                cmp         eax,esi  
  62. 00EB1492 72 DC                jb          main+1D0h (0EB1470h)  
  63. 00EB1494 EB 0C                jmp         main+202h (0EB14A2h)  
  64. 00EB1496 8B 44 24 10          mov         eax,dword ptr [esp+10h]  
  65. 00EB149A 8B 5C 24 14          mov         ebx,dword ptr [esp+14h]  
  66. 00EB149E 89 44 24 0C          mov         dword ptr [esp+0Ch],eax
Advertisement
Add Comment
Please, Sign In to add comment