Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- section .data
- even db "even",10 ;even number
- odd db "odd",10 ;odd number
- section .bss
- num resb 1
- section .text
- global _start
- _start:
- mov rax, num ;read
- mov rdi, 0 ;stdin
- mov rsi, num ;where to store
- mov rdx, 1 ;count
- syscall
- movzx eax, byte [num] ;num in eax. div requires dividend in eax
- xor edx, edx ;clear edx
- mov ebx, 2 ;mov 2 in ebx
- div ebx ;divide
- cmp edx, 0x00 ;remaider goes in edx
- je evenl ;jump if equals
- mov rax, 1 ;write
- mov rdi, 1 ;stdout
- mov rsi, odd ;message
- mov rdx, 4 ;count
- syscall
- mov rax, 60 ;exit
- mov rdi, 0 ;code 0
- syscall
- evenl:
- mov rax, 1 ;write
- mov rdi , 1 ;stdout
- mov rsi , even ;message
- mov rdx, 5 ;count
- syscall
- mov rax, 60 ;exit
- mov rdi, 0 ;code 0
- syscall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement