logo

Kas yra mašinos kalba?

Mašinos kalba yra žemo lygio kalba, sudaryta iš dvejetainių skaičių arba bitų, kuriuos kompiuteris gali suprasti. Jis taip pat žinomas kaip mašininis kodas arba objekto kodas ir yra labai sunkiai suvokiamas. Vienintelė kalba, kurią supranta kompiuteris, yra mašinos kalba. Visos programos ir programavimo kalbos, tokios kaip „Swift“ ir „C++“, kuria arba paleidžia programas mašinine kalba, kol jos nepaleidžiamos kompiuteryje. Vykdant konkrečią užduotį, net ir mažiausią procesą, mašinos kalba perduodama į sistemos procesorių. Kompiuteriai gali suprasti tik dvejetainius duomenis, nes jie yra skaitmeniniai įrenginiai.

Kas yra mašinų kalba

Kompiuteryje visi duomenys, tokie kaip vaizdo įrašai, programos, nuotraukos, pateikiami dvejetainiu formatu. CPU apdoroja šį mašinos kodą arba dvejetainius duomenis kaip įvestį. Tada programa arba operacinė sistema gauna gautą išvestį iš procesoriaus ir parodo ją vizualiai. Pavyzdžiui, ASCII kodas 01000001 reiškia raidę „A“ mašinų kalba, tačiau ji ekrane rodoma kaip „A“.

Skirtingos procesorių architektūros naudoja skirtingą mašininį kodą; tačiau mašininis kodas apima 1 ir 0. Palyginti su Intel x86 procesoriumi, kuriame yra CISC architektūra, PowerPC procesoriui reikia kito kodo, kuriame yra RISC architektūra. Norint tinkamai paleisti programą, kompiliatorius turi sudaryti aukšto lygio šaltinio kodą, kad būtų tinkama procesoriaus architektūra.

Programai ar veiksmui tiksli mašinos kalba gali skirtis priklausomai nuo operacinės sistemos, kuri apibūdina, kaip kompiliatorius įrašo veiksmą į mašinos kalbą. Panašiai nuotraukoje yra daugiau nei dešimtys tūkstančių dvejetainių duomenų, kurie nustato kiekvieno pikselio spalvą.

Kompiuterinės programos kuriamos viena ar keliomis programavimo kalbomis (pavyzdžiui, Java, C++ arba Visual Basic). Programos kodas turi būti sukompiliuotas, per kurį kompiuteris jį suprastų, kadangi programavimo kalbos, naudojamos kuriant kompiuterines programas, kompiuteris negali suprasti tiesiogiai. Kai programos kodas sukompiliuojamas, jis konvertuojamas į

 01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100 

mašinos kalba, kad kompiuteris galėtų ją suprasti.

Mašinos kalbos pavyzdžiai

Tekstas ' Labas pasauli “ būtų parašyta mašinine kalba:

Kitas mašinos kalbos pavyzdys pateiktas žemiau, kai ekrane 1000 kartų bus rodoma raidė „A“.

 169 1 160 0 153 0 128 153 0 129 153 130 153 0 131 200 208 241 96 

Mašininio kodo vykdymas

Kiekviena procesorių šeima vadovaujasi instrukcijų rinkiniu, kuris yra specialiai užprogramuotas, ir šios instrukcijos yra išdėstytos mašinos kodu. Visi smulkūs komponentai, sudarantys bendrą mašinos veikimą, yra nustatomi pagal tam tikrą pagrindinių mazgų išdėstymą. Visi pagrindiniai informaciniai vienetai pateikiami dvejetainiu formatu, kurio viena arba dvi reikšmės yra „1“ arba „0“. Kadangi kiekvienai procesoriaus klasei reikalinga struktūrinė konfigūracija, atitinkanti jos unikalų instrukcijų rinkinį, visų mašininio kodo konfigūracijų pagrindinių komandų rinkiniai yra susieti su panašiai suderintomis procesorių klasėmis.

Mašinų kalbos naudojimas

Toliau aptariami įprasti mašinų kalbos naudojimo būdai:

  • Mašinų kalba yra žemo lygio kalba, kurią mašinos supranta, bet kurią žmonės gali iššifruoti naudodami surinkėją.
  • Kompiliatorius vaidina svarbų vaidmenį tarp žmonių ir kompiuterių, nes mašinų kalbą konvertuoja į kitą kodą arba žmonėms suprantamą kalbą.
  • Asamblėjos kalba skirta mašinų kalbos suvokimui, nes tai yra jos apiplėšimas.

Skirtumas tarp mašinos kalbos ir asamblėjos kalbos

Kas yra mašinų kalba

Yra įvairių skirtumų tarp mašinos kalbos ir surinkimo kalbos. Žemiau pateikiama lentelė, kurioje yra visi skirtumai tarp jų.

Mašinos kalba Asamblėjos kalba
Mašinų kalba yra žemo lygio programavimo kalba, sudaryta iš dvejetainių skaičių arba bitų, kuriuos gali nuskaityti tik mašinos. Jis taip pat žinomas kaip mašininis kodas arba objekto kodas, kuriame instrukcijas tiesiogiai vykdo centrinis procesorius. Asamblėjos kalba yra tik žmonėms skirta kalba, kurios nesupranta kompiuteriai. Dėl to jis veikia kaip aukšto lygio programavimo kalbų ir mašininių kalbų jungtis, todėl instrukcijoms konvertuoti į mašinos arba objekto kodą reikia naudoti surinkėją.
Mašinų kalba apima dvejetainius skaitmenis (0 ir 1), šešioliktainį ir aštuntąjį dešimtainį skaičių, kuriuos gali suprasti tik kompiuteriai, o žmonės negali iššifruoti. Mnemonikos, tokios kaip Mov, Add, Sub, End ir kitos, sudaro asamblėjos kalbą, kurią žmonės gali suprasti, naudoti ir pritaikyti.
Mašinų kalba klaidų taisyti ir modifikuoti negalima, o mašininių kalbų savybės atitinkamai keičiamos. Assembly kalba turi įprastus instrukcijų rinkinius, taip pat galimybę taisyti klaidas ir modifikuoti programas.
Mašinų kalbos priklauso nuo platformos ir žmonėms jas labai sunku suprasti. Asamblėjos kalbų sintaksės yra panašios į anglų kalbą; todėl žmogui nesunku suprasti.
Mašinos kalbos neįmanoma išmokti, nes ją sunku įsiminti ir ji tarnauja tik kaip mašininis kodas. Surinkimo kalbą lengva įsiminti ir ji naudojama mikroprocesorių pagrindu veikiančioms programoms / įrenginiams ir realaus laiko sistemoms.
Mašinų kalba visi duomenys pateikiami dvejetainiu formatu, todėl jie greitai vykdomi. Palyginti su mašinos kalba, surinkimo kalbos vykdymo greitis yra lėtas.
Mašinos kalba bitų sekas naudoja komandoms duoti. Nulis reiškia išjungtą arba klaidingą būseną, o vienas reiškia įjungtą arba tikrąją būseną. Aukšto lygio programavimo kalbos konvertavimas į mašinos kalbą priklauso nuo procesoriaus. Užuot naudojusi neapdorotas bitų sekas, surinkimo kalba naudoja „mnemoninius“ pavadinimus ir simbolius; todėl vartotojams nereikia atsiminti operacijų kodų su surinkimo kalba. Asamblėjos kalbomis žmonės gali susieti kodą su mašininiu kodu, o kodai yra šiek tiek lengviau skaitomi
Pirmos kartos programavimo kalbos yra mašinų kalbos, kurioms nereikia vertėjo. Antroji programavimo kalbų karta yra asamblėjos kalbos, kurios naudoja asamblierį kaip vertėją, kad mnemoniką paverstų mašinai suprantama forma.
Įrenginio kalba priklauso nuo aparatinės įrangos ir neleidžia keisti. Surinkimo kalba nėra nešiojama, ji priklauso nuo mašinos ir gali būti lengvai keičiama.
Mašinų kalbos sintaksėje yra daugiau klaidų. Palyginti su mašinos kalba, asamblėjos kalboje yra mažesnė sintaksės klaidų tikimybė.