;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Soubor: sem-tam.asm ; Datum: 02.01.2012 23:06 ; Autor: Marek Nožka, nozka <@t> spseol cz ; Licence: GNU/GPL ; Úloha: světlo se pohybuje zleva doprava a ; zprava doleva ; Popis: ukázka skolků a logických operací ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; smer bit 7 ; symbolické jmeno pro ukazatel směru mov R0, #1d setb smer ;; bit 5 označuje směr 1=vlevo 0= vpravo ; hlavní proramová smyčka start: call zobrazuj call del200m jmp start ; podprogram pro zobrazení světla na LED zobrazuj: mov A, R0 jb smer, rotujVlevo jmp rotujVpravo rotujVlevo: RL A jmp uloz rotujVpravo: RR A jmp uloz uloz: mov R0, A ; uchovává číslo logicky cpl A mov P0, A ; P0 zobrazuje ; kontroluju jestli jsem došel doleva -- pomocí CJNE CJNE R0, #10000000b, preskoc jmp vpravo preskoc: ; kontroluju jestli jsem došel doprava -- pomocí ANL mov A, #00000001b ANL A, R0 jnz vlevo RET ; otáčí směr pohyby doprava vpravo: clr smer RET ; otáčí směr pohybu doleva vlevo: setb smer RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; include delay12MHz.inc END