Advertisement
Guest User

Untitled

a guest
May 21st, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. %include "io.inc"
  2. section .data
  3. x dd 2011
  4. section .bss
  5. y resd 1
  6. section .text
  7. CLUE:
  8. push ebp
  9. mov ebp, esp
  10. push edx
  11. push ebx
  12. push ecx
  13.  
  14. mov ecx, [ebp + 8]
  15. mov eax, [ebp + 12]
  16. mov ebx, [ebp + 16]
  17. push ebx
  18.  
  19. push eax
  20. push ecx
  21. mov ecx, ebx
  22. xor edx, edx
  23. div ebx
  24. xor edx, edx
  25. .loop:
  26. cmp eax, 0
  27. je .exit
  28.  
  29. div ecx
  30. xor edx, edx
  31. imul ebx, ecx
  32.  
  33. cmp eax, 0
  34. jne .loop
  35. .exit:
  36. pop ecx
  37. mov eax, ecx
  38. imul ebx
  39. pop ebx
  40.  
  41. add eax, ebx
  42. div dword[x]
  43. mov eax, edx
  44. pop ebx
  45.  
  46. pop ecx
  47. pop ebx
  48. pop edx
  49. mov esp, ebp
  50. pop ebp
  51. ret
  52. global CMAIN
  53. CMAIN:
  54. sub esp, 12
  55.  
  56. GET_UDEC 4, esi
  57. GET_UDEC 4, y
  58. GET_UDEC 4, eax
  59. mov [esp + 8], esi
  60. cdq
  61. div dword[x]
  62. mov ecx, edx
  63. mov [esp], ecx
  64. mov [esp + 4], ecx
  65. xor edx, edx
  66. call CLUE
  67. mov ebx, edx
  68. dec dword[y]
  69. cmp dword[y], 0
  70. je .ex
  71. .fib:
  72. mov ebx, eax
  73. mov [esp], eax
  74. mov [esp + 4], ecx
  75. mov [esp + 8], esi
  76. call CLUE
  77. xchg ecx, ebx
  78. dec dword[y]
  79. cmp dword[y], 0
  80. jg .fib
  81. .ex:
  82. PRINT_DEC 4, eax
  83. add esp, 12
  84. xor eax, eax
  85. ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement