Potřebné příkazy pro práci s porty v ASM

Použité registry:

DDRx – Data Direction Registr – směr toku dat. Určuje zda bude pin vstupní nebo výstupní. (defaultně 0 = vstupní, 1 = výstupní)
PINx – načtení hodnoty na vstupu
PORTx- nastavení hodnot na výstupu

Použité instrukce (seznam všech instrukcí je v datasheetu použitého procesoru – u ATmega128 str. 365) :

LDI – uložení konstanty do registru (proměnné)
OUT – zápis dat z registru (proměnné) do I/O prostoru
IN – načtení dat z I/O prostoru do registru (proměnné)
RJMP – relativní skok na adresu (část programu, atd. )
SBRC – Testování bitu v registru, zda je vynulován (clear), pokud ano přeskakuje následující instrukci
SBRS – Testování bitu v registru, zda je nastaven (set), pokud ano přeskakuje následující instrukci
SBIC – Testování bitu v I/O prostoru, zda je vynulován (clear), pokud ano přeskakuje následující instrukci
SBIS – Testování bitu v I/O prostoru, zda je nastaven (set), pokud ano přeskakuje následující instrukci
RCALL – relativní volání podprogramu. Návratová hodnota je uložena v zásobníku (stackpointer)
RET – návrat z podprogramu
INC / DEC – inkrementuje / dekrementuje obsah registru (proměnné)
BRNE – pokud je předešlá instrukce nenulová, provede se relativní skok na zvolenou část programu
ROR – rotace bitu vpravo
ROL – rotace bitu vlevo