Fórum témák
» Több friss téma |
Cikkek » AVR Assembly kezdőknek AVR Assembly kezdőknek
Szerző: sgt, idő: Nov 23, 2011, Olvasva: 33296, Oldal olvasási idő: kb. 2 perc
Utasítások: 5 csoportba tudjuk osztani. Aritmerikai és logikai utasítások, elágazó utasítások, adat mozgató utasítások, bit és bittesztelő, uC vezérlő utasítások. Ezeket az adott uC adatlapjában lehet megtalálni az Instruction Set Summary könyvjelzőnél.
Aritmetika és logikai utasítások: egy vagy két operandusa van, ha két operandusú, akkor lehet mindkettő regiszter avagy egyik regiszter másik egy K állandó, amit mi adhatunk meg.
Elágazó utasítások: itt található meg minden olyan utasítások, amelyek ugranak, szubrutint hívnak/visszatérnek, SREG bit tesztelői stb… pl.:
Jobbak már észrevehetik, hogy ezzel egy do-while ciklust lehet megvalósítani. Nem nulla kifejezést úgy kell érteni, hogy ahogy fut a program akkor a brne-t megelőző utasítás beállítja az SREG-t, és az alapján dönti el, hogy elágazik, vagy engedi tovább futni a programot. Addig fog elágazni, amíg az r19 értéke nulla nem lesz.
Itt a program semmi mást nem csinál, csak a loop címke és az ugró utasítás között „bolyong”. Van itt egy olyan utasítás is, aminek az a lényege, mint pl. a brne-nek. Viszont mivel az argumentumában két operandus van, ezért nem tudták, hogy megoldani, hogy el lehessen ágaztatni, ezért az alábbit találták ki
Adat mozgató utasítások: általános regiszterek közötti, általános és speciális regiszterek közötti adat mozgatásra van lehetőség, továbbá ezekkel lehet a memória táblába írni, és onnan olvasni és végül stackbe tenni a regiszter tartalmát vagy éppen kiszedni azt.
Bit és bittesztelő utasítások: ide jönnek az SREG-ben valamelyik bitet állító, vagy éppen törlő utasítások, vagy éppen a shiftelők, és lehetőségünk van a speciális regisztereknél a biteket külön-külön állítani vagy éppen törölni.
uC vezérlő utasítások: ide tartozik minden (az a 4), ami nem konkrétan az adat manipulálásra, meg ilyenekre valók.
A cikk még nem ért véget, lapozz! Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |