Advertisement
Guest User

:))))

a guest
Jun 12th, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .LC0:
  2.  .string "fizz"
  3. .LC1:
  4.  .string "buzz"
  5. .LC2:
  6.  .string "fizzbuzz"
  7. .LC3:
  8.  .string "%d\n"
  9. main:
  10.   push rbp
  11.   mov rbp, rsp
  12.   sub rsp, 16
  13.   mov DWORD PTR [rbp-4], 1
  14. .L7:
  15.   cmp DWORD PTR [rbp-4], 100
  16.   jg .L2
  17.   mov ecx, DWORD PTR [rbp-4]
  18.   mov edx, 1431655766
  19.   mov eax, ecx
  20.   imul edx
  21.   mov eax, ecx
  22.   sar eax, 31
  23.   sub edx, eax
  24.   mov eax, edx
  25.   mov edx, eax
  26.   add edx, edx
  27.   add edx, eax
  28.   mov eax, ecx
  29.   sub eax, edx
  30.   test eax, eax
  31.   jne .L3
  32.   mov ecx, DWORD PTR [rbp-4]
  33.   mov edx, 1717986919
  34.   mov eax, ecx
  35.   imul edx
  36.   sar edx
  37.   mov eax, ecx
  38.   sar eax, 31
  39.   sub edx, eax
  40.   mov eax, edx
  41.   mov edx, eax
  42.   sal edx, 2
  43.   add edx, eax
  44.   mov eax, ecx
  45.   sub eax, edx
  46.   test eax, eax
  47.   je .L3
  48.   mov edi, OFFSET FLAT:.LC0
  49.   call puts
  50.   jmp .L4
  51. .L3:
  52.   mov ecx, DWORD PTR [rbp-4]
  53.   mov edx, 1717986919
  54.   mov eax, ecx
  55.   imul edx
  56.   sar edx
  57.   mov eax, ecx
  58.   sar eax, 31
  59.   sub edx, eax
  60.   mov eax, edx
  61.   mov edx, eax
  62.   sal edx, 2
  63.   add edx, eax
  64.   mov eax, ecx
  65.   sub eax, edx
  66.   test eax, eax
  67.   jne .L5
  68.   mov ecx, DWORD PTR [rbp-4]
  69.   mov edx, 1431655766
  70.   mov eax, ecx
  71.   imul edx
  72.   mov eax, ecx
  73.   sar eax, 31
  74.   sub edx, eax
  75.   mov eax, edx
  76.   mov edx, eax
  77.   add edx, edx
  78.   add edx, eax
  79.   mov eax, ecx
  80.   sub eax, edx
  81.   test eax, eax
  82.   je .L5
  83.   mov edi, OFFSET FLAT:.LC1
  84.   call puts
  85.   jmp .L4
  86. .L5:
  87.   mov ecx, DWORD PTR [rbp-4]
  88.   mov edx, 1717986919
  89.   mov eax, ecx
  90.   imul edx
  91.   sar edx
  92.   mov eax, ecx
  93.   sar eax, 31
  94.   sub edx, eax
  95.   mov eax, edx
  96.   mov edx, eax
  97.   sal edx, 2
  98.   add edx, eax
  99.   mov eax, ecx
  100.   sub eax, edx
  101.   test eax, eax
  102.   jne .L6
  103.   mov ecx, DWORD PTR [rbp-4]
  104.   mov edx, 1431655766
  105.   mov eax, ecx
  106.   imul edx
  107.   mov eax, ecx
  108.   sar eax, 31
  109.   sub edx, eax
  110.   mov eax, edx
  111.   mov edx, eax
  112.   add edx, edx
  113.   add edx, eax
  114.   mov eax, ecx
  115.   sub eax, edx
  116.   test eax, eax
  117.   jne .L6
  118.   mov edi, OFFSET FLAT:.LC2
  119.   call puts
  120.   jmp .L4
  121. .L6:
  122.   mov eax, DWORD PTR [rbp-4]
  123.   mov esi, eax
  124.   mov edi, OFFSET FLAT:.LC3
  125.   mov eax, 0
  126.   call printf
  127. .L4:
  128.   add DWORD PTR [rbp-4], 1
  129.   jmp .L7
  130. .L2:
  131.   mov eax, 0
  132.   leave
  133.   ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement