Kako napišete program za ugotavljanje časovnega intervala med dvema zaporednima dogodkoma z uporabo programskega jezika 8086?
.MODEL MALI
.SKLAD 100H
.PODATKI
STRING DB '$'; Niz za prikaz
MSG1 DB 0DH, 0AH, 'Vnesite 1. čas:$'; sporočilo 1
MSG2 DB 0DH, 0AH, 'Vnesite 2. čas:$'; sporočilo 2
RESULT DB 0DH, 0AH, 'Časovni interval je:$'; sporočilo 3
MSG3 DB 0DH, 0AH, '$'; sporočilo 4
INPUT1 DB 2 DUP (?); vhodni medpomnilnik za 1. čas
INPUT2 DB 2 DUP (?); vhodni medpomnilnik za drugič
IZHOD DB 5 DUP (?); izhodni medpomnilnik
CRLF DB 0DH, 0AH, '$'; Vrnitev na začetek in pomik vrstice
.CODE
GLAVNI PROC; Glavni postopek
MOV AX, @DATA; Inicializirajte segment podatkov
MOV DS, AX
LEA DX, MSG1; Prikaz sporočila 1
MOV AH, 9
INT 21H
MOV AH, 1; Dobite 1. čas
INT 21H
MOV AL, AH; Prihranite uro v AL
MOV BL, DL; Prihranite minuto v BL
MOV AH, 0; Počisti AH in AL
MOV AL, 0
MOV CX, 10; Pomnožite uro z 10
MUL CX
MOV DL, AL; Prihranite uro v DL
MOV IZHOD, DL; Shranite uro v izhodni medpomnilnik
MOV IZHOD+1, ':'; Shrani ':' v izhodni medpomnilnik
MOV AH, 1; Pridobite minuto
INT 21H
MOV IZHOD+2, BL; Shranite minute v izhodni medpomnilnik
MOV IZHOD+3, ':'; Shrani ':' v izhodni medpomnilnik
LEA DX, IZHOD; Prikaži 1. čas
MOV AH, 9
INT 21H
LEA DX, MSG2; Prikaz sporočila 2
MOV AH, 9
INT 21H
MOV AH, 1; Dobite 2. čas
INT 21H
MOV CH, AH; Prihranite uro v CH
MOV DH, DL; Prihranite minuto v DH
MOV AH, 0; Počisti AH in AL
MOV AL, 0
MOV CX, 10; Pomnožite uro z 10
MUL CX
MOV DL, AL; Prihranite uro v DL
CMP DL, IZHOD; Primerjaj ure
JB POD_URE; Če je 2. ura <1. ura, odštejte ure
SUB CH,IZHOD; Od 1. ure odštejte 2. uro
MOV DL, CH; Prihranite razliko v DL
MOV AH, 0; Počisti AH in AL
MOV AL, 0
MOV CX, 10; Pomnožite minuto z 10
MUL CX
MOV DL, AL; Prihranite minuto v DL
CMP DL, IZHOD+2; Primerjajte minute
JB SUB_MINUTES; Če je 2. minuta <1. minuta, odštejte minute
SUB DH,IZHOD+2; Odštejte 2. minuto od 1. minute
MOV DL, DH; Prihranite razliko v DL
JMP PRESKOČI; Skok za preskok prikaza 'negativnega' časovnega intervala
POD_URE:; Po potrebi odštejte ure
MOV DL, 24; 2. uri dodajte 24 ur
DODAJ CH, DL
SUB CH, IZHOD; Od 1. ure odštejte 2. uro
MOV DL, CH; Prihranite razliko v DL
POD_MINUT:; Po potrebi odštejte minute
MOV DL, 60; Dodajte 60 minut 2. minuti
DODAJ DH, DL
SUB DH, IZHOD+2; Odštejte 2. minuto od 1. minute
MOV DL, DH; Prihranite razliko v DL
PRESKOČI:
MOV IZHOD+4, DL; Shrani minutno razliko v izhodnem medpomnilniku
LEA DX, IZHOD; Prikaz časovnega intervala
MOV AH, 9
INT 21H
LEA DX, REZULTAT; Prikaz sporočila 3
MOV AH, 9
INT 21H
MOV AH, 4CH; Izhod s povratno kodo 0
INT 21H
GLAVNI ENDP; Konec glavnega postopka
```