Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ORG 100H
- ISPISI_PORUKU MACRO PORUKA
- LEA DX, PORUKA
- MOV AH, 9
- INT 21H
- ENDM
- .data
- NIZ1 DW 10 DUP(0)
- NIZ2 DW 10 DUP(0)
- NIZ3 DW 10 DUP(0)
- NIZ4 DW 10 DUP(0)
- REZULTATI_ODUZIMANJA DB 10 DUP(0)
- MINIMUM DB 0
- MAKSIMUM DB 0
- ;PORUKA1 DW 'Unesi niz 1:', '$'
- PORUKA2 DW 'Unesi niz 2:', '$'
- ;PORUKA3 DW 'Unesi niz 3:', '$'
- PORUKA4 DW 'Unesi niz 4:', '$'
- PORUKA_MINIMUM DW 'Minimum: ', '$'
- PORUKA_MAKSIMUM DW 'Maksimum: ', '$'
- .code
- ;======================================================================
- ; GLAVNA FUNKCIJA
- ;======================================================================
- GLAVNA PROC
- ;ISPISI_PORUKU Poruka1
- ;CALL UCITAJ_NIZ1
- ISPISI_PORUKU Poruka2
- CALL UCITAJ_NIZ2
- ;ISPISI_PORUKU Poruka3
- ;CALL UCITAJ_NIZ3
- ISPISI_PORUKU Poruka4
- CALL UCITAJ_NIZ4
- CALL IZVRSI_ODUZIMANJE
- CALL NADJI_MINIMUM_I_MAKSIMUM
- CALL ISPISI_REZULTATE
- RET
- ENDP GLAVNA
- ;======================================================================
- ; UNOS
- ;======================================================================
- UCITAJ_NIZ1 PROC
- MOV CX, 0
- UNOS_U_NIZ1:
- XOR BX, BX
- MOV AH, 1
- INT 21H
- PETLJA1:
- CMP AL, 0DH
- JE KRAJ_PETRLJE1
- CMP AL, ' '
- JE KRAJ_PETRLJE1
- CMP AL, '0'
- JB SLEDECI1
- CMP AL, 'F'
- JA SLEDECI1
- CMP AL, 39H
- JG SLOVO1
- AND AL, 0FH
- JMP POMERANJE1
- SLOVO1:
- SUB AL, 37H
- POMERANJE1:
- SHL BX, 4
- ADD BL, AL
- CMP BX, 0FFFH
- JA KRAJ_PETRLJE1
- SLEDECI1:
- INT 21H
- JMP PETLJA1
- KRAJ_PETRLJE1:
- MOV SI, CX
- MOV NIZ1[SI], BX
- INC CX
- INC CX
- CMP CX, 20
- JE IZLAZ1
- JMP UNOS_U_NIZ1
- IZLAZ1:
- RET
- ENDP UCITAJ_NIZ1
- UCITAJ_NIZ2 PROC
- MOV CX, 0
- UNOS_U_NIZ2:
- XOR BX, BX
- MOV AH, 1
- INT 21H
- PETLJA2:
- CMP AL, 0DH
- JE KRAJ_PETRLJE2
- CMP AL, ' '
- JE KRAJ_PETRLJE2
- CMP AL, '0'
- JB SLEDECI2
- CMP AL, 'F'
- JA SLEDECI2
- CMP AL, 39H
- JG SLOVO2
- AND AL,0FH
- JMP POMERANJE2
- SLOVO2:
- SUB AL, 37H
- POMERANJE2:
- SHL BX, 4
- ADD BL, AL
- CMP BX, 0FFFH
- JA KRAJ_PETRLJE2
- SLEDECI2:
- INT 21H
- JMP PETLJA2
- KRAJ_PETRLJE2:
- MOV SI, CX
- MOV NIZ1[SI], BX
- INC CX
- INC CX
- CMP CX, 20
- JE IZLAZ2
- JMP UNOS_U_NIZ2
- IZLAZ2:
- RET
- ENDP UCITAJ_NIZ2
- UCITAJ_NIZ3 PROC
- MOV CX, 0
- UNOS_U_NIZ3:
- XOR BX, BX
- MOV AH, 1
- INT 21H
- PETLJA3:
- CMP AL, 0DH
- JE KRAJ_PETRLJE3
- CMP AL, ' '
- JE KRAJ_PETRLJE3
- CMP AL, '0'
- JB SLEDECI3
- CMP AL, 'F'
- JA SLEDECI3
- CMP AL, 39H
- JG SLOVO3
- AND AL,0FH
- JMP POMERANJE3
- SLOVO3:
- SUB AL, 37H
- POMERANJE3:
- SHL BX, 4
- ADD BL, AL
- CMP BX, 0FFFH
- JA KRAJ_PETRLJE3
- SLEDECI3:
- INT 21H
- JMP PETLJA3
- KRAJ_PETRLJE3:
- MOV SI, CX
- MOV NIZ1[SI], BX
- INC CX
- INC CX
- CMP CX, 20
- JE IZLAZ3
- JMP UNOS_U_NIZ3
- IZLAZ3:
- RET
- ENDP UCITAJ_NIZ3
- UCITAJ_NIZ4 PROC
- MOV CX, 0
- UNOS_U_NIZ4:
- XOR BX, BX
- MOV AH, 1
- INT 21H
- PETLJA4:
- CMP AL, 0DH
- JE KRAJ_PETRLJE4
- CMP AL, ' '
- JE KRAJ_PETRLJE4
- CMP AL, '0'
- JB SLEDECI4
- CMP AL, 'F'
- JA SLEDECI4
- CMP AL, 39H
- JG SLOVO4
- AND AL,0FH
- JMP POMERANJE4
- SLOVO4:
- SUB AL, 37H
- POMERANJE4:
- SHL BX, 4
- ADD BL, AL
- CMP BX, 0FFFH
- JA KRAJ_PETRLJE4
- SLEDECI4:
- INT 21H
- JMP PETLJA4
- KRAJ_PETRLJE4:
- MOV SI, CX
- MOV NIZ1[SI], BX
- INC CX
- INC CX
- CMP CX, 20
- JE IZLAZ4
- JMP UNOS_U_NIZ4
- IZLAZ4:
- RET
- ENDP UCITAJ_NIZ4
- ;======================================================================
- ; ODUZIMANJE CLANOVA 2 NIZA
- ;======================================================================
- IZVRSI_ODUZIMANJE PROC
- PUSH AX
- PUSH BX
- PUSH DS
- PUSH SI
- MOV AX, @data
- MOV DS, AX
- XOR SI, SI
- XOR DI, DI
- XOR BX, BX
- MOV CX, 10
- ;MOV SI, OFFSET NIZ1
- ;MOV DI, OFFSET NIZ3
- MOV SI, OFFSET NIZ2
- MOV DI, OFFSET NIZ4
- ODUZMI:
- MOV AL, [SI]
- MOV BL, [DI]
- SUB AL, BL
- MOV REZULTATI_ODUZIMANJA[BX], AL
- INC SI
- INC DI
- INC BX
- loop ODUZMI
- POP SI
- POP DS
- POP BX
- POP AX
- RET
- ENDP IZVRSI_ODUZIMANJE
- ;======================================================================
- ; PRONALAZENJE MINIMUMA I MAKSIMUMA
- ;======================================================================
- NADJI_MINIMUM_I_MAKSIMUM PROC
- PUSH AX
- PUSH DS
- PUSH SI
- MOV AX, @data
- MOV DS, AX
- LEA SI, REZULTATI_ODUZIMANJA
- MOV AL, REZULTATI_ODUZIMANJA[SI]
- MOV MINIMUM, AL
- MOV MAKSIMUM, AL
- MOV CX, 10
- PONOVI:
- MOV AL, REZULTATI_ODUZIMANJA[SI]
- CMP MINIMUM, AL
- JL PROVERI_MAKSIMUM
- PROVERI_MAKSIMUM:
- CMP MAKSIMUM, AL
- JG GOTOVO
- GOTOVO:
- INC SI
- LOOP PONOVI
- POP SI
- POP DS
- POP AX
- RET
- ENDP NADJI_MINIMUM_I_MAKSIMUM
- ;======================================================================
- ; ISPIS REZULTATA
- ;======================================================================
- ISPISI_REZULTATE PROC
- PUSH AX
- PUSH DS
- PUSH SI
- MOV AX, @data
- MOV DS, AX
- ; Ne radi iz nekog razloga ispisuje smajli umesto broja, ali ostatak bi trebalo da radi
- ISPISI_PORUKU PORUKA_MINIMUM
- LEA DX, MINIMUM
- MOV AH, 9
- INT 21H
- ; Ne radi iz nekog razloga ispisuje smajli umesto broja, ali ostatak bi trebalo da radi
- ISPISI_PORUKU PORUKA_MAKSIMUM
- MOV DX, OFFSET MAKSIMUM
- MOV AH, 9
- INT 21H
- POP SI
- POP DS
- POP AX
- RET
- ENDP ISPISI_REZULTATE
- .exit
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement