Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; NAP kojim se unosi n clanova niza sastavljenog od jednocifrenih pozitivnih brojeva, a zatim se unose
- ; dva broja a i b. Program treba da izbroji koliko je clanova u intervalu (a, b)
- ; multi-segment executable file template.
- data segment
- niz db 99 dup (?)
- n dw ?
- 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 ah, 1
- int 21h
- sub al, 48
- mov bl, 1
- mul bl
- mov n, ax
- mov si, 0
- unos:
- cmp si, n
- jl unesi
- jmp broji
- unesi:
- mov ah, 1
- int 21h
- sub al, 48
- mov niz[si], al
- add si, 1
- jmp unos
- broji:
- mov bh, 0
- mov ah, 1
- int 21h
- sub al, 48
- mov cl, al ;ovde je granicna vrijednost a
- mov ah, 1
- int 21h
- sub al, 48
- mov ch, al ;ovde je granicna vrijednost b
- mov si, 0
- for2:
- cmp si, n
- jl radi
- jmp kraj
- radi:
- cmp niz[si], cl
- jg provjeri2
- jmp uvecaj
- provjeri2:
- cmp niz[si], ch
- jl saberi
- jmp uvecaj
- saberi:
- add bh, 1
- uvecaj:
- add si, 1
- jmp for2
- kraj:
- mov ah, 2
- mov dl, bh
- add dl, 48
- int 21h
- 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