introducere in microprocesoare_part35
DESCRIPTION
2TRANSCRIPT
-
25 de taste, de exemplu, li se pot repartiza cifrele hexazecimale (0 . F)gi funcliuni de com-and5" curir ar ii: inscriere ad.resd, incrementcazbidecrementeazS" adres5", cite;te, inscrie, ruleaz6, start programare ROIIetc. Introducerea unei functii de comandS. se reduce la o anumiti. va-loare inscrisS. in locatia I-VNRTA in momentul eliberirii tastei res-pective. Pe baza acestei valori se calculeazS. ad,resa de inceput a sub-rutinei care va realiza_functia comandat5., dup5" care se iniepc iari;iexplorarea tastaturii. Dac5. o comandi. a fost -introclusi gresii se afi-;cazi. eroare ;i sistemul trebuie reiniliatizat prin comariau'ngSeL.
0000 31 FF0003 AF
0001 FTI0005 D3 F00007 D3 F 10009 D3 F20008 32 00000E 32 010011 32 0200 14 32 0300t7 3c0018 32 04
NIOUT OFOHOUT OF1HOUT OF2HSTA LNRVTASTA LPCACTSTA LVNRTASTA I-VCOMPINR ASTA LPLACT
002c 3A002F FE0031 CA0034 3A0037 4F0038 34'0038 89003c cAOO3F AF0040 320043 c30046 34.0049 3C004A. 32004D FE004i,- c20052 CD
005-5 CD0058 c3
005I] 3'A.005E 32006 1 3E0053 320066 3E0068 32006I} C.3
006E 3E0070 320073 300074 320077 3?OOTA CI)007r) cn0080 3,A"0083 r.E0085 c.2
I,I)A LNRVTA.CI)I OO FITZ APlLDA LNRTAMOV C,ALDA LVCOMPCMP CJz AI,2XRA ASTA LNRVTAJMP AP3LDA LNITVTAINR ASTA I,NRV'|ACPI 50JNZ AP3CAI-L SEOtr
CALI- DIST)LJMP r1'ASTA
LDA I-NITTAS1]A LVCOMI)MVI A,O1STA I.NRVTAI'IVI A,OISTA I,PI-ACTJMP ITAS'IA ;
00 10005t] 0002 10
i INCDPUTUL PROGRAMUT-LU CARF COnES_PUND.E; otlGlNt(;tlAMEI DIN FIGURA A.I7
EO.A. PRESCRIIi NITVTA.NRVTA : O ?DA, SALT LA API.CITESTE NR-IA.NRTA IN REGIS?-.RUL C.CITESTI' VCOMP.NRTA: VCOMP?ACEEASI TASTA, SALT.TASTA DIFERITA.NRVTA:0.
AP2:DIN NOU ACTIVARE LlNi]JCITESTE NRTA.NRTA: NRTA + 1.MEMOITEAZA NItl]A I- 1.NRVTA : 50 ?NU INCA.ELIMINA OSCII,ATIII,E SIELIBERARI].AFISEAZA I'E DISPI,AY.CAUTA I)IN NOII ' ASTAAPASA1IA.CIT]ISTI] NITI'A.CILTESf'E VCOMP.
PRIMA VERIFICAR}i-
pnrscRrr feo.CAU'I]A DIN NOU 1'ASTAAPASATA-
03 1046 00
; PIIOGRAIIUL DE IN7-I?ODUCEItE A t'ASTEI ApASATtj; .S1 1NSC1?1 ERE PE DISPLAY, CORESPUNDE; OITGANIGITAMA DIN FIG. A20.
00 t066 0000 1000 103266 006F 00
A7 001R 00
10
10
10
1000
oiic 00Fr13 STARI-: LXI SP, 13FF
XRA A
ST VA]?IAB]LE
ADRESA DE INCEPUT OO}I.INITIALIZARE VIRF STIVA.RESETEAZA ACUMI]LATOR S]CY.VALIDEAZA INTRERUPERILE.ZERO PE DP5 SI DP6.ZERO PE DP3 SI DP4.ZERO PE DPl SI DP2.NRVTA:0.CAI : O.VNRTA:0.vcoMP: 0.(A) + l.LAr: 0000 0001.
SUBRI]TINA ACTIVARE I.IN II1,SUBRUTINA EXPLOREAZACOLOANEI,E.INCARCA CUVINI'UL CAT.EXISTA TASTA APASATA?NU, REIA EXPLORAREATASTATURII.DA, DETERMINA_I NUMARUL;
rl
10
10
l0l0
10
3AJL1)FIC23A3C3247
CD EB OOCD DB OO
3A 0l 10FE OOcA 18 00
; RI|P,II?TIZAREA ADR]aSELOR PEN'IRU L)CAILILE tN; CARE SE S7-OCTIEAZA VARIABILELE.
r_NrtvTA Egu 1000HLPCAC',.t EgU LNRV1'A + ILVNRTA EQU LPCACT _F ILVCOMP EQU LVNRTA -], 1LPLACT EOU LVCOMP-.]- 1LNRLAC EOU LPLACT + I
; AICI INCEPE PROGRAMUL PENTRT] INTROD(ICE]IEA: UNEI TASTE, CORESPUNDE ORGANIGRAMA DIN: FIGURA A.19
; SUBRUTINA PENTRU ELIMINAREA )SCILATIII-}II; LA ELIBERAREA UNEI 7-AS7-E-SEoE-CoRES],L]ND]j; ORGANIGRAMA DIN FTGURA A.18.
0203010001
04iB
0l04 1005 1000 10rtB 00DB OO01 10006E 00
05 1005 100571 0000 1000 10
AI) 1
AP3
EOE: M\rI A,01STA LPLACTDCR ASTA I-NRLAC;SlA LNRVTA
SALTI: CALL ACTLINCALL EXPCOLI-DA LNRTACPI OOJNZ SALTl
ACTIVEAZA r_0.
NRLAC: O.NUMARUL DE VERIFICARI :0,ACTIVEAZA LINIA lIRX{ATOARE.EXPLOREAZA COI-OANEI-I].INCARCA L-AI,TASTA EI-IBERATA ?NU, CICLEAZA PINA SIiELIBEREAZA.DA, TASTA ELIBERATA.NRLAC + 1.NRLAC: NRLAC + 1.S.AU ACTIVAT TOATE LINIII"E.NU INCA, SALT LA SAI,TI.
NRVTA + 1.NRVTA: NITVTA + 1(B) + NRVTA.
00 lR00 lE
002100240026
0029
418
II.ASTA: CALL ACTLIN ;CALL EXPCOL ;
;
LDA I-PCACTCPI OOHJZ START
CALL SVNRTA
00880088008c008F009 10094009700980098
LDA LNRI,ACINR ASTA I-NRLACCPI 05JNZ SALTlLDA LNRVTAINR ASTA LNRVTAMOV B,A
CD BI O()
419