matogens

cwiczenia8_zadanie_a)

Apr 16th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; pierwszy sposob tworzenia tablic
  2. ; section .data
  3. ; zm db "Hello", 0
  4.  
  5. ; drugi sposob tworzenia tablic
  6. ; section .bss
  7. ; zm resb 100
  8.  
  9. ; trzeci sposob tworzenia tablic
  10. ; zm TIMES 100 db 0
  11.  
  12. ; above jest dla liczb ze znakami
  13. ; greater jest bez znaków
  14.  
  15.  
  16. default rel
  17. global main
  18. extern scanf, printf
  19.  
  20. section .data
  21. tab TIMES 10 dd 0 ;tworzymy tablice 10 elementow int
  22. format db "%d", 0
  23.  
  24. section .text
  25.  
  26. main:
  27.  
  28.     push rbp
  29.     mov rbp, rsp
  30.  
  31.     mov r12d, 0
  32.     mov r13, tab
  33.  
  34. _wprowadz:
  35.  
  36.     cmp r12d, 10
  37.     jae _szukaj
  38.    
  39.     mov rsi, r13
  40.     mov rdi, format
  41.     xor rax, rax
  42.     call scanf wrt ..plt
  43.  
  44.     inc r12d
  45.  
  46.     add r13, 4
  47.    
  48.     jmp _wprowadz
  49.    
  50. _szukaj:
  51.  
  52.     mov r12d, 0
  53.     mov r13, [tab]
  54.    
  55.  
  56. _petla:
  57.  
  58.     cmp r12d, 10
  59.     jae _koniec
  60.     cmp r13d, [tab + 4*r12]
  61.     jl _pomin
  62.     mov r13d, [tab+4*r12]
  63.    
  64. _pomin:
  65.  
  66.     inc r12d
  67.     jmp _petla
  68.  
  69. _koniec:
  70.    
  71.     mov rdi, format
  72.     mov esi, r13d
  73.     xor rax, rax
  74.     call printf wrt ..plt
  75.  
  76.     mov rsp, rbp
  77.     pop rbp
  78.     ret
Add Comment
Please, Sign In to add comment