Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.86 KB | None | 0 0
  1. .intel_syntax noprefix
  2.  
  3. .text
  4.  
  5. .global najveci
  6.  
  7. ###########################
  8. # int najveci(int*, int)
  9. # eax         rdi   esi
  10. ###########################
  11.  
  12. najveci:
  13.  
  14. # Prolog funkcije
  15. enter 0, 0
  16.  
  17. # Prosiruje se n na 64-bitnu
  18. # vrednost zbog indeksnog adresiranja
  19. movsx rsi, esi
  20. # Ukoliko je n nula, niz je prazan
  21. cmp esi, 0
  22. jle prazan
  23.  
  24. # Smanjuje se n za jedan i poslednji
  25. # clan postaje maksimum
  26. dec esi
  27. mov eax, [rdi + 4*rsi]
  28.  
  29. petlja:
  30. # Proverava se da li ima jos clanova
  31. cmp esi, 0
  32. je kraj
  33.  
  34. # Smanjuje se broj za jedan i to je
  35. # indeks tekuceg clana. Poredi se
  36. # da li je on veci od maksimuma
  37. dec esi
  38. cmp eax, [rdi + 4*rsi]
  39. jge petlja
  40.  
  41. # Ako jeste, postavlja se tekuci
  42. # clan za maksimum
  43. mov eax, [rdi + 4*rsi]
  44. jmp petlja
  45.  
  46. prazan:
  47. # Ako je niz prazan, maksimum je 0
  48. xor eax, eax
  49.  
  50. kraj:
  51. # Epilog i kraj funkcije
  52. leave
  53. ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement