daxx
Član broj: 12395 Poruke: 50 *.17.EUnet.yu.
ICQ: 167771596
|
Kao sto verovatno znas, svaki program na digitalnom racunaru je niz masinskih instrukcija, koje se sastoje samo iz nula i jedinica. Njima se realizuju najjednostavnije moguce operacije, kao sto su sabiranje, oduzimanje, kopiranje itd. U stvari, procesor je u stanju da izvrsava samo te jednostavne operacije... U visim programskim jezicima, kao sto je C, nema potrebe da se spustas na tako nizak nivo apstrakcije, vec pises kod koji je sastavljen od raznoraznih reci na engleskom (for, while, double, int...), matematickih operatora itd. Kad to lepo napises, potrebno je to prevesti na masinski jezik, koji tvoj procesor razume, a to radi kompajler. Posle prevodjenja dobijes exe fajl, u kome se nalaze hiljede i hiljade masinskih instrukcija. I tako, svi srecni i zadovoljni, niko ne pise nule i jedinice...
Medjutim, najnizi slojevi softvera moraju se pisati na masinskom jeziku, iz vise razloga, kao sto je efikasnost. E sad, posto je jako zamorno pisati 010101010101011110111010111... ljudi su izmislili simbolicki masinski jezik (assembly language). U njemu isto pises program instrukciju po instrukciju, ali umesto silnih nula i jedinica pises mnemonike na engleskom jeziku, kao sto su ADD, MOV, SUB itd. Npr, ako hoces da saberes sadrzaj registra R1 sa sadrzajem reg. R2, i rezultat stavis u R3, jednostavno pises: ADD R3, R1, R2. E, ovakav kod lako se prevodi na masinski jezik (jedna linija - jedna instrukcija), a to prevodjenje vrsi asembler. Dakle, asembler je prevodilac za simbolicki masinski jezik. Cesto se u zargonu i sam simbolicki mas. jezik naziva "asembler".
P.S. Operativne sisteme na ETF-u preuzeo je Dragan Milicev, i kao obavezan deo ispita zastupljen je projekat, koji se sastoji u pisanju malog operativnog sistema. Koga zanima, nek pogleda na [url]http://os.etf.bg.ac.yu[/url]
|