A teljes kód, 8051-es assemblyben megírva, hozzászólásokkal ellátva:
org 00h ;itt kezdődik a program
mov a,#11000000b ;előkészítjük az 1-es portot, 312×80-as felbontásban (ez utóbbit nem fontos beállítani)
mov p1,a ; -||-
prg: ;itt kezdődik a program ismétlődő része
mov a,$19h ;beolvassuk az 1. játékvezérlő bemenetét az "A" tárolóba
anl a,#00111111b ;az utolsó 2 bitet kitöröljük egy AND logika segítségével
orl a,#11000000b ;itt az utolsó 2 bitet meg bekapcsoljuk, mivel a felbontásmutató és a képkimenet egy porton van rajta
;erre a két "anl" és "orl" instrukcióra azért volt szükség, hogy a felbontásmutató ne változzon, de a kivetített szín igen
mov p1,a ;végül átmásoljuk az "A" tárolóban található számot az 1-es portra, kvázi frissítsük a képet
ljmp prg ;és visszaugrunk a program elejére
anl a,#00111111b ;az utolsó 2 bitet kitöröljük egy AND logika segítségével
orl a,#11000000b ;itt az utolsó 2 bitet meg bekapcsoljuk, mivel a felbontásmutató és a képkimenet egy porton van rajta
;erre a két "anl" és "orl" instrukcióra azért volt szükség, hogy a felbontásmutató ne változzon, de a kivetített szín igen
mov p1,a ;végül átmásoljuk az "A" tárolóban található számot az 1-es portra, kvázi frissítsük a képet
ljmp prg ;és visszaugrunk a program elejére
Nincsenek megjegyzések:
Megjegyzés küldése