Advertisement
matogens

cwiczenia8_zadanie_c)

Apr 16th, 2019
136
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 .data
  7. tab TIMES 10 dd 0
  8. format db "%d", 0
  9.  
  10. section .text
  11.  
  12. main:
  13.  
  14.     push rbp
  15.     mov rbp, rsp
  16.  
  17.     mov r12d, 0
  18.     mov r13, tab
  19.  
  20. _wprowadz:
  21.  
  22.     cmp r12d, 10
  23.     jae _szukaj
  24.    
  25.     mov rsi, r13
  26.     mov rdi, format
  27.     xor rax, rax
  28.     call scanf wrt ..plt
  29.  
  30.     inc r12d
  31.  
  32.     add r13, 4
  33.    
  34.     jmp _wprowadz
  35.  
  36. _szukaj:
  37.    
  38.     xor r12d, r12d
  39.  
  40. _szukaj2:
  41.  
  42.     cmp r12d, 10
  43.     je _dalej
  44.  
  45.     mov r13d, [tab+4*r12]
  46.  
  47.     push r13
  48.     push r12 ;zeby wyrównac stos do 16 bajtów, na starszych komputerch zadziała
  49.     inc r12d
  50.    
  51.     jmp _szukaj2
  52.  
  53. _dalej:
  54.    
  55.     cmp r12d, 0
  56.     je _koniec
  57.  
  58.     mov rdi, format
  59.     pop rax ;zeby wyrównac stos do 16 bajtów, na starszych komputerach zadziała
  60.     pop rsi
  61.     xor rax, rax
  62.     call printf wrt ..plt
  63.  
  64.     dec r12d
  65.     jmp _dalej
  66.  
  67. _koniec:
  68.  
  69.     mov rsp, rbp
  70.     pop rbp
  71.     ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement