matogens

laby_6 (jakie zadanie?)

Apr 2nd, 2019
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. default rel
  2. global main
  3. extern scanf
  4. extern printf
  5.  
  6. section .bss
  7.  
  8. zma resd 1
  9. zmb resd 1
  10.  
  11. section .data
  12.  
  13. iloczyn1 dd 0
  14. iloczyn2 db "iloczyn:%d", 0
  15. format db "%d", 0
  16. parzysta db "parzyste", 0, 10
  17. nieparzysta db "nieparzyste", 0, 10
  18.  
  19. section .text
  20.  
  21. main:
  22.  
  23.     push rbp
  24.     mov rbp, rsp
  25.    
  26.     mov rdi, format
  27.     mov rsi, zma
  28.     xor rax, rax
  29.     call scanf wrt ..plt
  30.    
  31.     mov rdi, format
  32.     mov rsi, zmb
  33.     xor rax, rax
  34.     call scanf wrt ..plt
  35.  
  36.     mov eax, [zma]
  37.     mov ebx, [zmb]
  38.     mul ebx
  39.     mov [iloczyn1], eax
  40.     mov rdi, iloczyn2
  41.     mov esi, eax
  42.     xor rax, rax
  43.     call printf wrt ..plt
  44.    
  45.     ;mov eax, [iloczyn1]
  46.     ;mov ebx, 2
  47.     ;xor rdx, rdx
  48.     ;div ebx
  49.  
  50.     ;cmp rdx, 0
  51.    
  52.     ;alternatywnie mozna za te powyzsze 5 komentow dac test eax, 1
  53.  
  54.     je _parzysta
  55.     jne _nieparzysta
  56.  
  57. _parzysta:
  58.    
  59.     mov rdi, parzysta
  60.     xor rax, rax
  61.     call printf wrt ..plt
  62.     jmp _koniec
  63.    
  64. _nieparzysta:
  65.    
  66.     mov rdi, nieparzysta
  67.     xor rax, rax
  68.     call printf wrt ..plt
  69.  
  70. _koniec:
  71.     mov rsp, rbp
  72.     pop rbp
  73.     mov eax, 1
  74.     int 80h
Add Comment
Please, Sign In to add comment