Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; Dat je prirodan broj n i n cijelih brojeva. Neka je max najveci, a min najmanji u datom nizu. Napisati program za pronalazanje svih cijelih brojeva iz intervala min, max koje ne pripadaju datom nizu. Odrediti min i max.
- ; multi-segment executable file template.
- data segment
- a db 1, 3, 3, 9, 1, 6, 3
- k dw 7
- b db 7 dup (?)
- 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
- ; sortiranje
- mov si, 0
- mov cx, 0
- mov bx, k
- sub bx, 2
- for1:
- cmp bx, cx
- jge for2
- jmp zad
- for2:
- cmp si, bx
- jle if
- jmp smanji
- if:
- mov dh, a[si]
- mov dl, a[si+1]
- cmp dh, dl
- jg razmeni
- jmp uvecaj
- razmeni:
- mov al, a[si]
- mov ah, a[si+1]
- mov a[si], ah
- mov a[si+1], al
- uvecaj:
- add si, 1
- jmp for2
- smanji:
- mov si, 0
- sub bx, 1
- jmp for1
- zad:
- ; zadatak
- mov di, 1
- mov bl, a[0]
- add bl, 1
- mov si, k
- mov bh, a[si-1]
- mov si, 0
- while:
- cmp bl, bh
- jl radi
- jmp zavrsi
- radi:
- mov ah, a[di-1]
- cmp a[di], ah
- je uvecaji
- jmp radi1
- uvecaji:
- add di, 1
- jmp while
- radi1:
- cmp bl, a[di]
- je da
- jmp ne
- da:
- add bl, 1
- add di, 1
- jmp while
- ne:
- mov b[si], bl
- add si, 1
- add bl, 1
- jmp while
- zavrsi:
- ; stampanje
- mov di, 0
- petlja:
- cmp di, si
- jl stampaj
- jmp kraj
- stampaj:
- mov ah, 2
- mov dl, b[di]
- add dl, 48
- int 21h
- add di, 1
- jmp petlja
- kraj:
- 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