Strojni jezik je jezik nizke ravni, sestavljen iz binarnih števil ali bitov, ki jih računalnik razume. Znana je tudi kot strojna koda ali objektna koda in je izjemno težka za razumevanje. Edini jezik, ki ga računalnik razume, je strojni jezik. Vsi programi in programski jeziki, kot sta Swift in C++, proizvajajo ali izvajajo programe v strojnem jeziku, preden se zaženejo v računalniku. Ko se izvede določena naloga, tudi najmanjši proces, se strojni jezik prenese v sistemski procesor. Računalniki lahko razumejo le binarne podatke, saj so digitalne naprave.
V računalniku so vsi podatki, kot so videi, programi, slike, predstavljeni v dvojiški obliki. CPE obdela to strojno kodo ali binarne podatke kot vhod. Nato aplikacija ali operacijski sistem dobi rezultat iz CPE in ga vizualno prikaže. Na primer, koda ASCII 01000001 predstavlja črko 'A' v strojnem jeziku, vendar je na zaslonu prikazana kot 'A'.
Različne procesorske arhitekture uporabljajo različne strojne kode; vendar strojna koda vključuje 1 in 0. Za primer, v primerjavi s procesorjem Intel x86, ki vsebuje arhitekturo CISC, potrebuje procesor PowerPC drugačno kodo, ki vsebuje arhitekturo RISC. Za pravilno arhitekturo procesorja mora prevajalnik za pravilno izvajanje programa prevesti izvorno kodo na visoki ravni.
niz v polje java
Za program ali dejanje se lahko strojni jezik razlikuje glede na operacijski sistem, ki opisuje, kako prevajalnik zapiše dejanje v strojni jezik. Podobno ima fotografija več deset tisoč binarnih podatkov, ki določajo barvo vsake slikovne pike.
Računalniški programi so ustvarjeni v enem ali več programskih jezikih (na primer Java, C++ ali Visual Basic). Programsko kodo je treba sestaviti tako, da jo lahko računalnik razume, saj programskih jezikov, ki se uporabljajo za ustvarjanje računalniških programov, računalnik ne more neposredno razumeti. Ko je koda programa prevedena, se pretvori v
01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100
strojni jezik, tako da ga lahko računalnik razume.
rani mukerji
Primeri strojnega jezika
Besedilo ' Pozdravljen, svet ' bi bilo zapisano v strojnem jeziku:
np.log
Spodaj je podan še en primer strojnega jezika, ki bo na zaslonu 1000-krat prikazal črko 'A'.
169 1 160 0 153 0 128 153 0 129 153 130 153 0 131 200 208 241 96
Izvedba strojne kode
Vsaka družina procesorjev sledi naboru navodil, ki so posebej programirani, in ta navodila so določena s strojno kodo. Vse manjše delujoče komponente, komponente, ki sestavljajo celotno delovanje stroja, so določene z določeno razporeditvijo osnovnih enot. Vse temeljne informacijske enote so predstavljene v dvojiški obliki, ki ima eno ali dve vrednosti '1' ali '0.' Ker vsak procesorski razred zahteva strukturno konfiguracijo, ki ustreza njegovemu edinstvenemu nizu ukazov, so osnovni nizi ukazov vseh konfiguracij strojne kode povezani s podobno ujemajočimi se procesorskimi razredi.
Uporaba strojnega jezika
Pogoste uporabe strojnega jezika so obravnavane spodaj:
- Strojni jezik je jezik nizke ravni, ki ga stroji razumejo, ljudje pa ga lahko dešifrirajo s pomočjo asemblerja.
- Prevajalnik ima pomembno vlogo med ljudmi in računalniki, saj pretvori strojni jezik v drugo kodo ali jezik, ki je ljudem razumljiv.
- Zbiralni jezik je posvečen razumevanju strojnega jezika, saj je le-ta ponaredek.
Razlika med strojnim jezikom in zbirnim jezikom
Obstajajo različne razlike med strojnim jezikom in zbirnim jezikom. Spodaj je podana tabela, ki vsebuje vse razlike med njimi.
Strojni jezik | Zbirni jezik |
---|---|
Strojni jezik je nizkonivojski programski jezik, sestavljen iz binarnih števil ali bitov, ki jih lahko berejo samo stroji. Znana je tudi kot strojna koda ali objektna koda, v kateri navodila izvaja neposredno CPE. | Zbiralni jezik je samo človeški jezik, ki ga računalniki ne razumejo. Posledično deluje kot povezava med programskimi jeziki na visoki ravni in strojnimi jeziki, ki zahtevajo uporabo asemblerja za pretvorbo navodil v strojno ali objektno kodo. |
Strojni jezik vključuje binarne številke (0 in 1), šestnajstiško in osmiško decimalno, ki jih lahko razumejo samo računalniki in jih ljudje ne morejo dešifrirati. | Mnemotehnike, kot so Mov, Add, Sub, End in druge, sestavljajo zbirni jezik, ki ga lahko ljudje razumejo, uporabljajo in uporabljajo. |
V strojnem jeziku popravljanja napak in spreminjanja ni mogoče izvesti, zato se funkcije strojnih jezikov ustrezno razlikujejo. | Zbirni jezik ima običajne nize navodil, pa tudi možnost popravljanja napak in spreminjanja programov. |
Strojni jeziki so odvisni od platforme in jih ljudje zelo težko razumejo. | Sintakse zbirnih jezikov so podobne angleškemu jeziku; zato ga človek zlahka razume. |
Strojnega jezika se ni mogoče naučiti, saj si ga je težko zapomniti in služi le kot strojna koda. | Zbirni jezik si je enostavno zapomniti in se uporablja za mikroprocesorske aplikacije/naprave in sisteme v realnem času. |
V strojnem jeziku so vsi podatki prisotni v binarni obliki, zaradi česar so hitri pri izvajanju. | V primerjavi s strojnim jezikom je hitrost izvajanja zbirnega jezika počasna. |
Strojni jezik uporablja zaporedja bitov za podajanje ukazov. Nič predstavlja izklopljeno ali napačno stanje, ena pa vklopljeno ali resnično stanje. Pretvorba visokonivojskega programskega jezika v strojni jezik je odvisna od procesorja. | Namesto uporabe neobdelanih zaporedij bitov zbirni jezik uporablja 'mnemotehnična' imena in simbole; zato si uporabnikom ni treba zapomniti operacijskih kod z zbirnim jezikom. V zbirnih jezikih lahko ljudje preslikajo kodo v strojno kodo in kode so nekoliko bolj berljive |
Programski jeziki prve generacije so strojni jeziki, ki ne potrebujejo prevajalnika. | Druga generacija programskih jezikov so zbirni jeziki, ki uporabljajo asembler kot prevajalnik za pretvorbo mnemotehnike v strojno razumljivo obliko. |
Strojni jezik je odvisen od strojne opreme in ne dovoljuje spreminjanja. | Zbiralni jezik ni prenosljiv in je odvisen od stroja ter ga je mogoče zlahka spreminjati. |
V sintaksi strojnega jezika je več možnosti za napake. | V primerjavi s strojnim jezikom je v zbirnem jeziku manj možnosti za sintaksne napake. |