Advertisement
Guest User

Untitled

a guest
Jul 20th, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. section .text
  2. global _start
  3.  
  4. section .data
  5. msg db 'fizzbuzz'
  6. len equ $ - msg
  7. nl db 0x0a
  8.  
  9. _start:
  10.     mov r9, 1
  11.    
  12. loop:
  13.     mov r10, msg
  14.     mov r11, 0
  15.     mov r12, 0
  16.     mov rcx, 1
  17.  
  18. mod:
  19.     add rcx, 2
  20.     cmp rcx, 7
  21.     je is_n
  22.    
  23.     mov rdx, 0
  24.     mov rax, r9
  25.     div rcx
  26.    
  27.     cmp dl, 0
  28.     jne not_mod
  29.    
  30.     add r11, 4
  31.     jmp mod
  32.    
  33. not_mod:
  34.     sub r10, r11
  35.     add r10, 4
  36.     jmp mod
  37.  
  38. is_n:
  39.     cmp r11, 0
  40.     jne print
  41.    
  42. append_unsigned:
  43.     mov rax, r9
  44.    
  45.     mov rcx, 10
  46.     mov r8, 0
  47. append_digit:
  48.     mov rdx, 0
  49.     div rcx
  50.     add r8b, '0'
  51.     add r8b, dl
  52.     shl r8, 8
  53.     cmp rax, 0
  54.     jne append_digit
  55.     push r8
  56.     mov r10, rsp
  57.     mov r11, 8
  58.     mov r12, 8
  59.  
  60. print:
  61.     mov eax, 1
  62.     mov edi, 1
  63.     mov rsi, r10
  64.     mov rdx, r11
  65.     syscall
  66.     add rsp, r12
  67.  
  68.     mov eax, 1
  69.     mov edi, 1
  70.     mov rsi, nl
  71.     mov rdx, 1
  72.     syscall
  73.    
  74.     inc r9
  75.     cmp r9, 100
  76.     jle loop
  77.  
  78. exit:
  79.     mov eax, 60
  80.     mov edi, 0
  81.     syscall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement