Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;reszta z dzielenia liczby przez liczbe
- extern printf
- extern scanf
- section .data
- napis1 db "podaj liczbe", 10, 0
- napis2 db "reszta z dzielenia tych liczb to: ", 10, 0
- brak db "brak reszty", 10, 0
- format1 db "%d", 0
- format2 db "%d", 0
- reszta dd 0
- section .bss
- zmienna1 resb 4
- zmienna2 resb 4
- section .text
- global main
- main:
- mov rdi, napis1
- xor rax, rax
- call printf
- mov rdi, format1
- mov rsi, zmienna1
- xor rax, rax
- call scanf
- mov rdi, napis1
- xor rax, rax
- call printf
- mov rdi, format1
- mov rsi, zmienna2
- xor rax, rax
- call scanf
- mov rdi, napis2
- xor rax, rax
- call printf
- _dzielenie:
- mov rdx, 0 ;ten sobie zeruje
- mov rax, [zmienna1] ;dziele zmienna1
- mov rbx, [zmienna2] ;przez zmienna2
- div rbx ;reszte mam z rdx
- cmp rdx, 0 ;sprawdzam czy jest reszta z dzielenia
- je _brak
- mov r8, rdx
- mov [reszta], r8
- mov rdi, format2
- mov rsi, [reszta]
- xor rax, rax
- call printf
- jmp _koniec
- _brak:
- mov rdi, brak
- xor rax, rax
- call printf
- _koniec:
- mov rax, 1
- mov rbx, 0
- int 80h
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement