Mašinski jezik – razlika između verzija
Uklonjeni sadržaj Dodani sadržaj
m Bot: popravljanje preusmjeravanja |
m robot kozmetičke promjene |
||
Red 1:
'''Mašinski jezik''', '''strojni jezik''' ili '''mašinski kod''' ('''binarni kod, mašinac''') je sistem instrukcija i podataka koje centralni procesor u računaru neposredno izvršava.
Mašinski jezik je u određenu ruku primitivan programski jezik. On je takođe i najosnovnija reprezentacija, odnosno računarski programi kompajlirani i/ili asemblirani na najnižem nivou — nivou mašine (od {{Jez-engl|machine}}, ponekad neformalan izraz za uređaj, aparat, vozilo — u našem slučaju računar). Mašinski jezik se ponekad naziva nativni ({{Jez-engl|native code}}) kada se odnosi na specifičan hardver, tj. kada su delovi [[kod
Računari i njihov [[mozak]] — [[procesor]]i — rade na [[Električna struja|struju]]. To su elektronski sklopovi čiji je rad zasnovan na stanjima napona; stanje s naponom i stanje (skoro) bez napona. Mašinski jezik, odnosno njegov binarni kod — sistem 1 i 0 — direktno korespondira sa naponskim stanjima u [[integralno kolo|integralnom kolu]].
Red 10:
Svaki model centralnog procesora ima sopstveni mašinski jezik ili set instrukcija. Poboljšane verzije jednog procesora ili novi modeli zasnovani na prethodnim mogu koristiti sve instrukcije svog prethodnika kao i njima dodane instrukcije.
Ako procesor P1 u potpunosti razume jezik procesora P2 kaže se da su P1 i P2 kompatibilni. Na primer, takozvani [[
Ali, čak i manje razlike kod skoro potpuno kompatibilnih procesora mogu uzrokovati drugačije efekte kada im se zadaju iste instrukcije. Ponekad će novi model izmeniti ili prekinuti instrukcije svog prethodnika a to sve čini migraciju mašinskog jezika između dva procesora težom. Pa i kada se radi istom modelu procesora, oni neće jednako raditi ni pod istim mašinskim jezikom ako su memorije u sistemima drugačije postavljene, ako se koristi drugačiji operativni sistem ili su periferne jedinice različite. Ovo je zbog toga što mašinski jezik u sebi ne sadrži informacije o konfiguraciji sistema.
Red 20:
== Programi ==
Računarski program je niz instrukcija koje izvršava centralni procesor. Jednostavni procesori mogu izvršavati instrukcije samo jednu za drugom dok su složeni procesori poput onih u [[super-računar
Kod izvršavanja programa instrukcije se mogu izvršavati po redosledu jedna za drugom ali i u 'skokovima', odnosno pod određenim uslovima izvršavanje po redosledu može biti prekinuto i nastavljeno na nekoj drugoj adresi po zadatom kriterijumu.
Red 30:
Mašinski jezik se često meša sa [[asemblerski jezik|asemblerskim]] jezikom. Tačno, čoveku mnogo jasniji prikaz mašinskog jezika je dat u asemblerskom jeziku ali asembler je programski jezik niskog nivoa koji mašinski jezik specifične procesorske arhitekture predstavlja u čitljivom obliku.
Programi napisani u asembleru se odlikuju mogućnošću slanja direktnih komandi [[procesor
Neke od glavnih mana takvih programa su loša čitljivost, (posebno izraženo pri velikim projektima), te kompleksnost koda i praktična nemogućnost konvertovanja istog koda na drugu procesorsku [[arhitektura|arhitekturu]]. Zbog tih mana se asembler danas koristi samo u sistemima realnog vremena i ostalim specifičnim sistemima.
|