Advertisement
Guest User

even.asm

a guest
Nov 8th, 2020
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.76 KB | None | 0 0
  1. section .data
  2. even db "even",10 ;even number
  3. odd db "odd",10 ;odd number
  4. section .bss
  5. num resb 1
  6. section .text
  7. global _start
  8.  
  9. _start:
  10.  
  11. mov rax, num ;read
  12. mov rdi, 0 ;stdin
  13. mov rsi, num ;where to store
  14. mov rdx, 1 ;count
  15. syscall
  16.  
  17.  
  18. movzx eax, byte [num] ;num in eax. div requires dividend in eax
  19. xor edx, edx ;clear edx
  20. mov ebx, 2 ;mov 2 in ebx
  21. div ebx ;divide
  22. cmp edx, 0x00 ;remaider goes in edx
  23. je evenl ;jump if equals
  24.  
  25.  
  26. mov rax, 1 ;write
  27. mov rdi, 1 ;stdout
  28. mov rsi, odd ;message
  29. mov rdx, 4 ;count
  30. syscall
  31.  
  32. mov rax, 60 ;exit
  33. mov rdi, 0 ;code 0
  34. syscall
  35.  
  36.  
  37. evenl:
  38. mov rax, 1 ;write
  39. mov rdi , 1 ;stdout
  40. mov rsi , even ;message
  41. mov rdx, 5 ;count
  42. syscall
  43.  
  44. mov rax, 60 ;exit
  45. mov rdi, 0 ;code 0
  46. syscall
  47.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement