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: 33245, Oldal olvasási idő: kb. 1 perc
Egy összefoglaló a 8 bites AVR-ek által használt assemblyről kezdőknek.
Ezen írásomban szeretném bemutatni a 8 bites Atmel mikrokontrollerek (későbbiekben uC) működését, és hogy hogyan tudjuk ezeket assemblyben programozni. Assembly, mint alacsonyszintű programozási nyelv. Ez az a programozási nyelv, amit minden processzor (későbbiekben CPU) tud, és ez alatt már csak a ténylegesen nullákból és egyesekből álló gépi kód van. Fontos megjegyezni, hogy minden CPU-nak tulajdonképpen teljesen más elvű, felépítésű az assemblyje (természetesen van kivétel). Elég csak megnézni a 8 bites PIC, és 8 bites AVR assemblyjét. Előbbiben nincsenek regiszterek, csak egy un. akkumulátor, az utóbbiban pedig 32 darab van. Már itt látszódik, hogy a két uC család totálisan más elképzeléssel valósította meg a bennük lévő CPU-t. Tapasztalatból mondom, hogy mindkettővel bármit meg lehet csinálni, csak meg kell szokni, hogy máshogy kell a dolgoknak neki állni. Miért jó assemblyben programozni? Ebben a nyelvben van lehetőség az adott CPU tulajdonságait 100%-osan kihasználni. Továbbá ezzel lehet megvalósítani a leggyorsabb működést, a legkisebb méreten. Kezdőnek érdemes először ebben a nyelvben programozniuk, mivel ezzel rá vannak kényszerítve, hogy megismerjék az adott eszközt, és belássák azok korlátait, főleg ha az adott emberke először PC-n tanult programozni. Mik a hátrányai? Egyszerűbb programok még átláthatók, de amikor már egy-egy komolyabb programot szeretnénk írni, akkor bizony sok bosszúságot okozhat. A folyamatos ugrálások (ez már nem C ahol szinte keresztre feszítik, aki goto-t használ) átláthatatlanná teszik. Egy-egy bonyolultabb algoritmus nagyon sok időt elvesz az embertől. Nem beszélve arról, hogy egyáltalán nem portolható más assemblyt használó CPU-ra. Mindezeket rutinnal és kellő tapasztalattal nagyon jól lecsökkenhetők, de még így sem veheti fel a versenyt egy magas szintű programozási nyelvvel, ha programíráshoz szükséges időt vesszük figyelembe. A cikk még nem ért véget, lapozz! Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |