DMG

Odredjivanje k maksimalnih brojeva niza

DMG
Mar 17th, 2012
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; Dati su prirodni brojevi n i k i niz cijelih brojeva a[1], a[2] ... a[n]. Napisati program za odredjivanje k najvecih clanova datog niza. (k<n)
  2. ; multi-segment executable file template.
  3.  
  4. data segment
  5.     n dw 7
  6.     k dw 4
  7.     a db 9, 1, 3, 3, 6, 7, 7
  8.     novired db  10, 13, "$"
  9.     pkey db "press any key...$"
  10. ends
  11.  
  12. stack segment
  13.     dw   128  dup(0)
  14. ends
  15.  
  16. code segment
  17. start:
  18. ; set segment registers:
  19.     mov ax, data
  20.     mov ds, ax
  21.     mov es, ax
  22.  
  23.     mov bx, n
  24.     sub bx, 2
  25.     mov cx, 0
  26.    
  27. for1:
  28.     mov si, 0
  29.     cmp bx, cx
  30.     jge for2
  31.     jmp kraj
  32.    
  33. for2:
  34.     cmp si, bx
  35.     jle radi
  36.     jmp smanji
  37.    
  38. radi:
  39.     mov al, a[si+1]
  40.     cmp a[si], al
  41.     jl razmeni
  42.     jmp uvecaj
  43.    
  44. razmeni:
  45.     mov ah, a[si]
  46.     mov a[si+1], ah
  47.     mov a[si], al
  48.    
  49. uvecaj:
  50.     add si, 1
  51.     jmp for2
  52.    
  53. smanji:
  54.     sub bx, 1
  55.     jmp for1
  56.    
  57. kraj:
  58.     mov bx, k
  59.     mov si, 0
  60.  
  61. while:
  62.     cmp si, bx
  63.     jl stampaj
  64.     jmp kraj1
  65.    
  66. stampaj:
  67.     mov dl, a[si]
  68.     add dl, 48
  69.     mov ah, 2
  70.     int 21h
  71.     lea dx, novired
  72.     mov ah, 9
  73.     int 21h
  74.     add si, 1
  75.     jmp while
  76.    
  77. kraj1:
  78.        
  79.            
  80.     lea dx, pkey
  81.     mov ah, 9
  82.     int 21h        ; output string at ds:dx
  83.    
  84.     ; wait for any key....    
  85.     mov ah, 1
  86.     int 21h
  87.    
  88.     mov ax, 4c00h ; exit to operating system.
  89.     int 21h    
  90. ends
  91.  
  92. end start ; set entry point and stop the assembler.
Advertisement
Add Comment
Please, Sign In to add comment