Lepo ti je vec odgovoreno. Posto si pitao za PIC, treba da znas
da su ti kontroleri zasnovani na tzv. Harvard arhitekturi kod koje
su odvojene programska i data memorija.
Programska memorija se generalno pravi tako da ne gubi sadrzaj
po ukidanju napajanja (znaci najcesce fles, ili kod OTP varijanti
neka vrsta PROM-a). U programsku memoriju se smesta program,
raznorazne konstante i pocetne vrednosti promenjivih koje se
kasnije kopiraju u RAM (initialized data).
Data memorija je RAM i u njoj se smestaju promenjive i stek. U
tom adresnom prostoru su i registri specijalne namene (za
upravljanje periferijama kontrolera), sto je i razlog da PIC-evi cesto
imaju neke neokrugle vrednosti RAM-a (npr. serija 18 moze da adresira
do 4k, ali realno ima 4096 bajta - registri pa to ispadne 3900 i nesto).
Kod PIC-eva obicno postoji i odredjena kolicina EEPROM memorije
ciji se sadrzaj ne gubi po gubitku napajanja i moze se koristiti za
npr. kojekakve konfiguracione podatke.
U svakom slucaju na
http://www.microchip.com postoji obilje podataka
i ponesto besplatnih razvojnih alata. Posebno obrati paznju na MPLAB,
posto u okviru njega imas asembler i simulator.