Kako napisati program za određivanje vremenskog intervala između dva uzastopna događaja koristeći 8086 programski jezik?
.MODEL MALI
.STOG 100H
.PODACI
STRING DB '$'; Niz za prikaz
MSG1 DB 0DH, 0AH, 'Unesite 1. put:$'; poruka 1
MSG2 DB 0DH, 0AH, 'Unesite 2. vrijeme:$'; poruka 2
REZULTAT DB 0DH, 0AH, 'Vremenski interval je:$'; poruka 3
MSG3 DB 0DH, 0AH, '$'; poruka 4
ULAZ1 DB 2 DUP (?); ulazni međuspremnik za 1. put
INPUT2 DB 2 DUP (?); ulazni međuspremnik za 2. put
IZLAZ DB 5 DUP (?); izlazni međuspremnik
CRLF DB 0DH, 0AH, '$'; Povratak na prvi redak i pomicanje redaka
.KODIRATI
GLAVNI PROC; Glavni postupak
MOV AX, @DATA; Inicijaliziraj segment podataka
MOV DS, AX
LEA DX, MSG1; Prikaz poruke 1
MOV AH, 9
INT. 21H
MOV AH, 1; Dobiti 1. put
INT. 21H
MOV AL, AH; Uštedite sat vremena u AL
MOV BL, DL; Uštedite minutu u BL
MOV AH, 0; Obrišite AH i AL
MOV AL, 0
MOV CX, 10; Pomnožite sat s 10
MUL CX
MOV DL, AL; Uštedite sat u DL-u
MOV IZLAZ, DL; Pohranite sat u izlazni međuspremnik
MOV IZLAZ+1, ':'; Pohranite ':' u izlazni međuspremnik
MOV AH, 1; Dobijte minutu
INT. 21H
MOV IZLAZ+2, BL; Spremi minute u izlazni međuspremnik
MOV IZLAZ+3, ':'; Pohranite ':' u izlazni međuspremnik
LEA DX, IZLAZ; Prikaz 1. puta
MOV AH, 9
INT. 21H
LEA DX, MSG2; Prikaz poruke 2
MOV AH, 9
INT. 21H
MOV AH, 1; Dobiti 2. put
INT. 21H
MOV CH, AH; Uštedite sat u CH
MOV DH, DL; Uštedite minutu u DH
MOV AH, 0; Obrišite AH i AL
MOV AL, 0
MOV CX, 10; Pomnožite sat s 10
MUL CX
MOV DL, AL; Uštedite sat u DL-u
CMP DL, IZLAZ; Usporedite sate
JB PODSATI; Ako je 2. sat <1. sat, oduzmite sate
SUB CH,IZLAZ; Oduzmite 2. sat od 1. sata
MOV DL, CH; Uštedite razliku u DL
MOV AH, 0; Obrišite AH i AL
MOV AL, 0
MOV CX, 10; Pomnožite minutu s 10
MUL CX
MOV DL, AL; Uštedite minutu u DL-u
CMP DL, IZLAZ+2; Usporedite minute
JB POD_MINUTA; Ako je 2. minuta <1. minute, oduzmite minute
SUB DH,IZLAZ+2; Oduzmite 2. minutu od 1. minute
MOV DL, DH; Uštedite razliku u DL
JMP PRESKOČITI; Skoči za preskakanje prikaza 'negativnog' vremenskog intervala
POD_SATI:; Oduzmite sate ako je potrebno
MOV DL, 24; Dodajte 24 sata na 2. sat
DODAJ CH, DL
SUB CH, IZLAZ; Oduzmite 2. sat od 1. sata
MOV DL, CH; Uštedite razliku u DL
POD_MINUTE:; Oduzmite minute ako je potrebno
MOV DL, 60; Dodajte 60 minuta 2. minuti
DODAJTE DH, DL
SUB DH, IZLAZ+2; Oduzmite 2. minutu od 1. minute
MOV DL, DH; Uštedite razliku u DL
PRESKOČITI:
MOV IZLAZ+4, DL; Spremi minutnu razliku u izlazni međuspremnik
LEA DX, IZLAZ; Prikaz vremenskog intervala
MOV AH, 9
INT. 21H
LEA DX, REZULTAT; Prikaz poruke 3
MOV AH, 9
INT. 21H
MOV AH, 4CH; Izađite s povratnim kodom 0
INT. 21H
GLAVNI ENDP; Kraj glavnog postupka
```