A feladat megnevezése            (MCS85-re)

 

Szekvenciális (működtető, - nyugtázó) áramkör realizálása szoftver programozással..

 

Lehetséges megoldás:

4000   IN 00               //Adat beolvasás a nulla nullás portról

4002   ANI 01            //Logikai „ÉS” művelet „00000001”-el
4004   JNZ 4000         //Ugrás a 4000 címre ha Z=0-val
4007   IN 00               // Adat beolvasás a nulla nullás portról
4009   ANI 01            // Logikai „ÉS” művelet „00000001”-el
400B   JZ 4007           // Ugrás a 4000 címre ha Z=1-el
400E   OUT 04          
4010   OUT 05
4012   IN 01               // Adat beolvasás a nulla egyes portról
4014   ANI 01            // Logikai „ÉS” művelet „00000001”-el
4016   JZ 4012            // Ugrás a 4012 címre ha Z=1-el
4019   IN 01               // Adat beolvasás a nulla egyes portról
401B   ANI 01            // Logikai „ÉS” művelet „00000001”-el

401D   JNZ 4019       // Ugrás a 4019 címre ha Z=0-val
4020   OUT 04
4022   OUT 05
4024   JMP 4000

 

Nos, a program magyarázatra szorul,mert eléggé bonyolult!

A 4000 és a 4004 es cím között vizsgáljuk,hogy a 00-ás port első bitje 0-e! ha 0 akkor továbblépünk és várjuk h 1 legyen! Ha egy akkor kivisszük a kijelzőre!(lámpa bekapcsolva) ! Utána vizsgáljuk a 01 es port első bitjét,hogy 1-e! Ha egy akkor utána továbblép és azt vizsgálja h mikor lesz nulla,amikor nullába vált át akkor megy tovább és kiírja a kijelzőre az eredmény (lámpa ki)