1. Kamere
  2. Avto avdio in elektronika
  3. Domači avdio
  4. Osebni avdio
  5. Televizorji
  6. Pametni dom
  >> Elektronska Tehnologija >  >> Osebni avdio >> Radioure

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

```

  • --热点Elektronske tehnologije Online
  1. Koliko minut je v 44 urah?
  2. KakoElectric Chime Clock Work
  3. Približen čas, ko telefonski signal prepotuje 3000 milj?
  4. Kaj je strojni cikel in koraki za risanje časovnega diagrama?
  5. Internet download manager 5.17.5.0 serijske številke?