Írjon összeállítási kódot a közlekedési lámpa vezérlőrendszeréhez a 8086 használatával?
; Határozzon meg memóriacímeket a közlekedési lámpák vezérléséhez
TL_RED equ 00H
TL_YELLOW equ 01H
TL_GREEN equ 02H
TL_CONTROL equ 03H
; Határozza meg az I/O portokat a közlekedési lámpák vezérléséhez
OUTPUT_PORT equ 04H
; Határozza meg a késleltetési értékeket
DELAY_TIME ekv 10000
org 100H
; A fő program itt kezdődik
fő:
mov al, TL_RED; Inicializálja a közlekedési lámpát pirosra
mov [TL_CONTROL], al
jmp hurok; Ugrás a hurokhoz
hurok:
mov al, [TL_CONTROL]; Olvassa el az aktuális közlekedési lámpák állapotát
cmp al, TL_RED; Ellenőrizze, hogy a közlekedési lámpa piros-e
je piros; Ha piros, ugorjon piros állapotba
cmp al, TL_YELLOW; Ellenőrizze, hogy sárga-e a közlekedési lámpa
je sárga; Ha sárga, ugorjon sárga állapotba
cmp al, TL_GREEN; Ellenőrizze, hogy zölden világít-e a közlekedési lámpa
je zöld; Ha zöld, ugorjon zöld állapotba
piros:
mov al, OUTPUT_PORT; Válassza ki a kimeneti portot a piros fényhez
out al, 01H; Kapcsolja be a piros lámpát
hívás késleltetése; DELAY_TIME ezredmásodperc késleltetés
mov al, OUTPUT_PORT; Válassza ki a kimeneti portot a piros fényhez
out al, 00H; Kapcsolja le a piros lámpát
mov al, TL_YELLOW; Állítsa a következő közlekedési lámpa állapotát sárgára
mov [TL_CONTROL], al
jmp hurok; Ugrás a hurokhoz
sárga:
mov al, OUTPUT_PORT; Válassza ki a sárga fény kimeneti portját
out al, 01H; Kapcsolja be a sárga fényt
hívás késleltetése; DELAY_TIME ezredmásodperc késleltetés
mov al, OUTPUT_PORT; Válassza ki a sárga fény kimeneti portját
out al, 00H; Kapcsolja ki a sárga fényt
mov al, TL_GREEN; Állítsa a következő közlekedési lámpa állapotát zöldre
mov [TL_CONTROL], al
jmp hurok; Ugrás a hurokhoz
zöld:
mov al, OUTPUT_PORT; Válassza ki a kimeneti portot a zöld fényhez
out al, 01H; Kapcsolja be a zöld lámpát
hívás késleltetése; DELAY_TIME ezredmásodperc késleltetés
mov al, OUTPUT_PORT; Válassza ki a kimeneti portot a zöld fényhez
out al, 00H; Kapcsolja ki a zöld lámpát
mov al, TL_RED; Állítsa a következő közlekedési lámpa állapotát pirosra
mov [TL_CONTROL], al
jmp hurok; Ugrás a hurokhoz
késleltetés:
mov cx, DELAY_TIME; Inicializálja a számlálót a késleltetéshez
xor dx, dx; Regiszter törlése dx
delay_loop:
loop delay_loop; Hurok addig, amíg a számláló el nem éri a nullát
ret
-
Az élő feliratok használata a Google Pixel 4 készüléken
-
Hogyan engedélyezhetem a letiltott vezeték nélküli adapteremet?
-
Hogyan használjunk mobiltelefont jelek zavarására
-
Hogyan illesszünk be Bullet Point-ot a LaTeX-be
- Ön US Cellular ügyfele, nem tud hívást fogadni vagy kezdeményezni a telefonján, van térerő, és a számlát is kifizették, ha otthonról is hív, mindig azt mondja, hogy nem sikerült?
- Hogyan keressünk egy helyet egy mobil szám
- Hogyan védheti telefonok Home
- Hogyan lehet visszaállítani a Verizon BlackBerry
- Hogyan kell kinyitni a Sony Ericsson Z310A A T - Mobile