Advertisement
Guest User

Asembler, najmanji i najveci u nizu

a guest
May 29th, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. %include "io.inc"
  2.  
  3. section .data
  4. a: dd 6 , 2 , 3 , 443 , 5 , 1
  5. b: dd 0
  6. najmanji: dd "Najmanji broj je: "
  7. najveci: dd "Najveci broj je: "
  8.  
  9. section .text
  10. global CMAIN
  11. CMAIN:
  12.  
  13. mov eax , [a]
  14. mov ebx , [a] ; EAX = najmanji element u nizu . EBX = najveci element u nizu
  15. mov ecx , [b] ; Brojac u nizu, ide od 1 pa do broj elemenata niza - 1
  16.  
  17. petlja1:
  18. inc ecx ; brojac se inkrementira pri svakom prolazu kroz petlju, kao kod for petlje u c jeziku
  19. cmp ecx , 5
  20. jbe petlja2
  21. jmp kraj
  22.  
  23. petlja2:
  24.  
  25. cmp eax , [a+4*ecx] ;ako je broj na koji pokazuje adresa (a+4*ecx) manji od broja u eax, onda eax = taj broj
  26. ja zamenamanjeg
  27.  
  28.  
  29. cmp ebx , [a+4*ecx] ;ako je broj na koji pokazuje adresa (a+4*ecx) veci od broja u ebx, onda ebx = taj broj
  30. jb zamenaveceg
  31.  
  32. jmp petlja1 ; vratiti se na vrh petlje kada je prolaz zavrsen
  33.  
  34. zamenamanjeg:
  35. mov eax , [a+4*ecx]
  36. jmp petlja2
  37.  
  38. zamenaveceg:
  39. mov ebx , [a+4*ecx]
  40. jmp petlja2
  41.  
  42.  
  43. kraj:
  44. PRINT_STRING najmanji
  45. PRINT_DEC 4 , eax
  46. NEWLINE
  47. PRINT_STRING najveci
  48. PRINT_DEC 4 , ebx
  49.  
  50. xor eax , eax
  51. ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement