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: 33219, Oldal olvasási idő: kb. 1 perc
Lapozás: OK   1 / 12
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!
Következő: »»   1 / 12
Értékeléshez bejelentkezés szükséges!
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem