Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; 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)
- ; multi-segment executable file template.
- data segment
- n dw 7
- k dw 4
- a db 9, 1, 3, 3, 6, 7, 7
- novired db 10, 13, "$"
- pkey db "press any key...$"
- ends
- stack segment
- dw 128 dup(0)
- ends
- code segment
- start:
- ; set segment registers:
- mov ax, data
- mov ds, ax
- mov es, ax
- mov bx, n
- sub bx, 2
- mov cx, 0
- for1:
- mov si, 0
- cmp bx, cx
- jge for2
- jmp kraj
- for2:
- cmp si, bx
- jle radi
- jmp smanji
- radi:
- mov al, a[si+1]
- cmp a[si], al
- jl razmeni
- jmp uvecaj
- razmeni:
- mov ah, a[si]
- mov a[si+1], ah
- mov a[si], al
- uvecaj:
- add si, 1
- jmp for2
- smanji:
- sub bx, 1
- jmp for1
- kraj:
- mov bx, k
- mov si, 0
- while:
- cmp si, bx
- jl stampaj
- jmp kraj1
- stampaj:
- mov dl, a[si]
- add dl, 48
- mov ah, 2
- int 21h
- lea dx, novired
- mov ah, 9
- int 21h
- add si, 1
- jmp while
- kraj1:
- lea dx, pkey
- mov ah, 9
- int 21h ; output string at ds:dx
- ; wait for any key....
- mov ah, 1
- int 21h
- mov ax, 4c00h ; exit to operating system.
- int 21h
- ends
- end start ; set entry point and stop the assembler.
Advertisement
Add Comment
Please, Sign In to add comment