Strojni jezik

Iz MaFiRaWiki

Ta članek ali del članka je v delu. Veseli bomo, če ga boste dopolnili in popravili.

Kaj pomeni to opozorilo?

Strojni jezik je programski jezik, ki ga računalnik neposredno razume, zato ga ni treba prevajati. Podan je v obliki strojnih kod, ki pomenijo strojne – procesorske ukaze, saj računalniki razumejo le bitni jezik. Če torej hočemo, da naš računalnik izvede neko nalogo ali opravilo, mu moramo to podati v obliki, ki jo razume, torej v enicah in ničlah.

Strojni jezik sestavlja ustrezno zaporedje znakov 0 in 1, torej niz strojnih inštrukcij – navodil. Vsako izmed njih sestoji iz niza dvojiških številk določene dolžine. Ta niz se deli na dva dela: operacijskega in naslovnega. Operacijski del predstavlja kodirano obliko določene elementarne operacije, naslovni del pa kodirano obliko efektivnih naslovov v spominu ali v registrih, na katerih vsebinah se želi opravljati določena elementarna operacija.

Vsebina

Assembler

Direktno delo s strojnim jezikom je skoraj nemogoče. Prav zato so je razvil prevod strojnega jezika v človeku nekoliko bolj razumljiv jezik - assembler. Assembler še vedno ne pozna višje-stopenjskih kontruktov in je samo prepis programa v bolj razumljivo formo (primer v x86 procesorki arhitekturi):

mov eax, ecx;
add eax, eax;

V strojnem jeziku bi bili tako mov (instrukcija) kot operandi (v tem primeru registri) kodirani kot same ničle in enice na primer: 01001010010010100101. Zgornji "program" je veliko bolj razumljiv.

Slabosti

Ker je strojni jezik zapleten, odvisen od vrste procesorja, nepregleden, ljudem, razmišljanje v strojnem jeziku ni najbolj naravno itd., so začeli nastajati 'višji' programski jeziki. Z razvojem programskih jezikov raste razumljivosti teh jezikov. Vendar so potrebni vedno bolj komplicirani prevajalniki, ki te programske jezike prevajajo v strojni jezik. Prevajalniki ukaze, napisane v nekem programskem jeziku, prevedejo v jezik (strojni), ki ga razume procesor računalnika. V strojnem jeziku so bili napisani prvi programi. Danes v strojnem jeziku pišejo redki programerji. Strojni jezik torej ni pomagal k širitvi uporabe računalnikov, zaradi pisanja zaporedij ničel in enic in ker se strojni jezik pogosto razlikuje glede na vrsto računalnikov kar pomeni nezdružljivost (neprenosljivost, medsebojno neusklajenost) narejenih programov. Pomanjkljivost je ta, da mora programer določati najmanjše podrobnosti, kot na primer lokacije ukazov in podatkov v pomnilniku. Programiranje je zato težavno in zamudno, programi pa so zapleteni in slabo razumljivi. Zaradi velikega števila ukazov je velika možnost, da program vsebuje napake.

Prednosti

Prednost pa je v tem, da lahko napišemo program, ki do najmanjših podrobnosti deluje natanko tako, kot želimo. To je pomembno takrat, kadar je zelo pomembna učinkovitost programa, ko nas ne zanima le rezultat, ampak tudi način, kako do njega pridemo. Vendar se sčasoma prevajalniki vedno boljši in boljši, tako da se te prednosti velikokrat obnejo nasproti nam (prevajalnik ima veliko več izkušenj z optimizacijami).

Glej tudi

Osebna orodja