Razlika između verzija stranice "Mašinski jezik"

[nepregledana izmjena][nepregledana izmjena]
Uklonjeni sadržaj Dodani sadržaj
m robot Mijenja: ml:യന്ത്രഭാഷ; kozmetičke promjene
Red 1:
'''Mašinski jezik''' ili ''mašinski kod'' (binarni kod, mašinac) je sistem instrukcija i podataka koje centralni [[procesor]] u [[računar]]u neposredno izvršava. Mašinski jezik je u određenu ruku primitivan i nezgrapan [[programski jezik]]. On je također i najosnovnija reprezentacija, odnosno [[računarski program]]i [[kompajler|kompajlirani]] i/ili [[asembler|asemblirani]] na najnižem nivou - nivou mašine (od [[engleski jezik|eng.]] machine, ponekad neformalan izraz za uređaj, aparat, vozilo - u našem slučaju računar). Mašinski jezik se ponekad naziva '''nativni''' (eng. native code) kada se odnosi na specifičan hadrver, tj. kada su dijelovi koda ili izrazi ovisni o platformi.
 
Računari i njihov 'mozak' - procesori - rade na 'struju'. To su [[elektronika|elektronički sklopovi]] čiji je rad zasnovan na stanjima [[napon]]a; 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]].
 
Primjer:
 
0010 0100 1011 0111<br />
1000 1110 1100 1011<br />
0101 1001 0010 0001<br />
0111 0010 0011 1101<br />
0001 0000 1001 0100<br />
1000 1001 1011 1110<br />
0001 0011 0101 1001<br />
0111 0010 0011 1101<br />
0001 0000 1001 0000<br />
1000 1001 1011 1111<br />
1001 1101 1001 1110<br />
0111 0010 0011 1101<br />
0001 0000 1001 0000<br />
0111 0010 0011 1101<br />
0001 0011 1001 1100<br />
 
 
== Instrukcije u mašinskom jeziku ==
 
Instrukcije su šabloni [[bit]]ova, gdje svaki šablon odgovara određenoj komandi koja se zadaje mašini.
Red 28:
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 razumije jezik procesora P2 kaže se da su P1 i P2 kompatibilni. Na primjer, takozvani [[IBM]] kompatibilni računari su dobili tu odrednicu upravo zbog toga što razumiju mašinski jezik koji je kreirao IBM i zatim primijenio na većinu personalnih računara.
 
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 izmijeniti 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 34:
Prostim jezikom rečeno, korisnici na ovaj problem najčešće ukazuju pitanjem: "Pa kako radi na kompjuteru kod komšije a kod mene ne?!"
 
Svi setovi instrukcija u datom mašinskom kodu mogu ali ne moraju biti jednake dužine. Kako će šabloni biti organizovani zavisi ponajviše od specifikacija mašinskog koda.
 
== 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čunarima sposobni izvršavati više instrukcija istovremeno, takozvano paralelno procesuiranje.
 
Kod izvršavanja programa instrukcije se mogu izvršavati po redoslijedu jedna za drugom ali i u 'skokovima', odnosno pod određenim uslovima izvršavanje po redoslijedu može biti prekinuto i nastavljeno na nekoj drugoj adresi po zadatom kriteriju.
 
== Asemblerski jezik ==
 
Pisanje programa direktno u mašinskom jeziku bilo bi veoma naporan i dugotrajan posao. Programeri bi morali voditi računa o svakom bitu u datoj instrukciji. Također bi bilo i veoma teško snalaziti se u nepreglednim kolonama i redovima jedinica i nula.
Red 54:
== Također pogledajte ==
 
* [[Assembler]]
* [[Digitalni sistem]]
* [[Kompajler]]
* [[Programski jezik]]
 
[[Kategorija:Računarstvo]]
Red 91:
[[ko:기계어]]
[[lt:Mašininis kodas (programavimas)]]
[[ml:യന്ത്രഭാഷ]]
[[ml:യന്ത്രതല ഭാഷ]]
[[nl:Machinetaal]]
[[no:Maskinkode]]