Pa, imam par stvari, ali buduci da niste naveli sta vam konkretno
treba (asembler za PC, ili za mikrokontrolere, a ako je za
mikrookontrolere, za koje mikrokontrolere), evo onoga sto Vam mogu
preporuciti. Linkove nemam, a da Vam posaljem sa dial-up veze ne mogu,
ali lako cete ih naci korisateci pretrazivace sa kljucnim terminima.
Za PC "Hyde R.The art of assembly language.chm" i "Abrash M.The zen of
assembly language.pdf"
Za PIC mikrokontrolere pogledajte uputstvo sa mog sajta i gomilu
datasheetova (AN - Aplication Notes) sa
www.microchip.com
Za AVR mikrokontrolere mislim da je najbolje "Schmidt G.Beginners
introduction to the assembly language of Atmel AVR
microprocessors.2004.pdf", a posle njega "AVR_india.pdf" kao i
datasheetove sa sajta proizvodjaca
http://www.atmel.com ili
http://www.avr-asm-tutorial.net/avr_en/beginner/index.html
Za Texas Istruments mikrokontrolere (MSP430)
http://www.ti.com
Za ARM mikrokontrolere
http://www.luminarymicro.com
Ovo niposto nisu jedini mikrokontroleri, vec samo par
najrasprostranjeniji kod nas. Skoro svaki proizvodjac poluprovodnika
ima svoje verzije mikrokontrolera (Philips, Nec, Maxim...). Vama je
buduci da ste pocetnik najbitnije koliko kosta sam pocetak.
Najpre trebate imati asembler. Svi mikrokontroleri i mikroprocesori
prepoznaju samo 0 i 1, a Vama je svakako lakse da koristite tzv.
mnemorike, odnosno da umesto 0101110011001110 napisete goto Start. Za
PIC mozete koristiti besplatan MPLAB IDE, za AVR besplatan AVR STUDIO,
dok se asembleri za ostale mikrokontrolere (TI, Motorola...) uglavnom
moraju platiti. Funkcija asemblera je da od gomile asemblerskih
instrukcija (obicno se cuvaju u fajlu sa .asm ekstenzijom) napravi
fajl (obicno ima .hex ekstenziju) spreman za snimanje u
mikrokontroler.
Onda trebate imati simulator. On Vam omogucava da mozete videti kako
se program izvrsava instrukciju po instrukciju, cak iako nista niste
konkretno (hardverski) napravili. Svi simulatori imaju prikaz
izvrsavanja instrukciju po instrukciju (STEP IN, STEP OUT), dolazak u
osnovno stanje (RESET), i par naprednijih mogucnosti simulacije (npr.
simuliranje do zeljene instrrukcije - breakpoint).
Od hardvera trebate imati programator. To je hardver koji se
prikljucuje na PC (preko serijskog, paralelnog ili USB porta) i preko
koga se program (sa .hex ekstenzijom) snima u mikrokontroler. Kao
rezanje CD-a. Za PIC imate gomilu jednostavnih programatora na
www.ic-prog.com ili npr. originalni Microchipov PicKit2. I ostali
mikrokontroleri imaju svoje programatore. Veliki broj mikrokontrlera
ima prilicno jednostavan interfejs za programiranje, pa je moguce da
sami napravite programator.
Pre pravljenja konkretnog hardvera pozeljno je (ne i neophodno) da
imate tzv. razvojni sistem. To je hardver na kome mozete lako i brzo
testirati radi li to onako kako bi trebalo u realnom svetu, a ne samo
na ekranu. Pravi se tako da se u njega mikrokontroler lako i brzo
ubacuje, da se program mikrokontrolera lako menja i da ima na sebi
najcesce koriscene periferije (LED diode, tranzistore, LCD
displej...).
I na samom kraju trebate napraviti pravi hardverski uredjaj. Znaci,
stampana plocica, elektronske komponente kalaj i lemilica.
Asembler za PC je naravno laksi, jer ne trebate imati nikakav hardver.
Sve Vam je tu, na dohvat ruke (tastature), ali zbog mnogo mnogo mnogo
naprednijih mogucnopsti trebate voditi racuna o bas mnogo sitnica.
Mikrokontroleri na primer imaju mnogo manje instrukcija i do
tridesetak izvora interapta (prekida koji omogucava da se
prioritetniji program izvrsi pre obicnog), dok ih PC moze imati
stotine.
Ono sto cini asembler toliko mocnim jesu neverovatno optimizovani
algoritmi. Programer ih sam optimizuje, nista nije sakriveno od
njegovog pogleda, tako da moze do zadnjeg instrukcijskog ciklusa
ubrzati izvrsenje programa. Pravilan izbor algoritama predstavlja
osnovu uspeha. Toplo bi Vam preporucio "Algorithms Copyright 2006 S.
Dasgupta, C. H. Papadimitriou, and U. V. Vazirani May 22, 2006".