Konekieli on matalan tason kieli, joka koostuu binääriluvuista tai -bitteistä, joita tietokone voi ymmärtää. Se tunnetaan myös konekoodina tai objektikoodina, ja se on erittäin vaikea ymmärtää. Ainoa kieli, jonka tietokone ymmärtää, on konekieli. Kaikki ohjelmat ja ohjelmointikielet, kuten Swift ja C++, tuottavat tai ajavat ohjelmia konekielellä ennen kuin ne ajetaan tietokoneella. Kun tietty tehtävä, pieninkin prosessi, suoritetaan, konekieli siirretään järjestelmän prosessorille. Tietokoneet pystyvät ymmärtämään vain binääridataa, koska ne ovat digitaalisia laitteita.
Tietokoneessa kaikki tiedot, kuten videot, ohjelmat, kuvat, esitetään binäärimuodossa. Prosessori käsittelee tätä konekoodia tai binaaridataa syötteenä. Sitten sovellus tai käyttöjärjestelmä saa tuloksen suorittimelta ja näyttää sen visuaalisesti. Esimerkiksi ASCII-koodi 01000001 edustaa kirjainta 'A' konekielellä, mutta se näkyy näytöllä 'A':na.
Eri prosessoriarkkitehtuurit käyttävät eri konekoodia; konekoodi sisältää kuitenkin 1:t ja 0:t. Verrattuna Intel x86 -prosessoriin, joka sisältää CISC-arkkitehtuurin, PowerPC-suoritin tarvitsee erilaisen koodin, joka sisältää RISC-arkkitehtuurin. Oikeaa prosessoriarkkitehtuuria varten kääntäjän on käännettävä korkean tason lähdekoodi, jotta ohjelma toimisi oikein.
python-listan alustus
Ohjelman tai toiminnon tarkka konekieli voi vaihdella käyttöjärjestelmän mukaan, mikä kuvaa kuinka kääntäjä kirjoittaa toiminnon konekielelle. Samoin valokuvassa on yli kymmeniä tuhansia binääritietoja, jotka määräävät kunkin pikselin värin.
Tietokoneohjelmat luodaan yhdellä tai useammalla ohjelmointikielellä (esimerkiksi Java, C++ tai Visual Basic). Ohjelmakoodi on koottava siten, että tietokone pystyy ymmärtämään sen, sillä tietokoneohjelmien luomiseen käytettyjä ohjelmointikieliä ei tietokone pysty suoraan ymmärtämään. Kun ohjelman koodi on käännetty, se muunnetaan koodiksi
01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100
konekieli, jotta tietokone voi ymmärtää sen.
taulukoita javassa
Esimerkkejä konekielistä
Teksti ' Hei maailma ' olisi kirjoitettu konekielellä:
kuinka monta unssia on 10 millilitraa
Alla on toinen esimerkki konekielestä, joka näyttää A-kirjaimen 1000 kertaa näytöllä.
169 1 160 0 153 0 128 153 0 129 153 130 153 0 131 200 208 241 96
Konekoodin suoritus
Jokainen prosessoriperhe noudattaa tiettyä ohjelmointia, joka on ohjelmoitu konekoodin mukaan. Kaikki pienet toiminnalliset komponentit, komponentit, jotka muodostavat koneen yleisen toiminnan, määräytyvät tietyllä perusyksiköiden järjestelyllä. Kaikki perustietoyksiköt esitetään binäärimuodossa, jolla on yksi tai kaksi arvoa '1' tai '0'. Koska jokainen prosessoriluokka vaatii rakenteellisen konfiguraation, joka sopii sen ainutlaatuiseen käskysarjaan, kaikkien konekoodikokoonpanojen peruskäskysarjat on linkitetty samalla tavalla vastaaviin prosessoriluokkiin.
Konekielen käyttötavat
Konekielen yleisiä käyttötapoja käsitellään alla:
- Konekieli on matalan tason kieli, jota koneet ymmärtävät, mutta jonka ihmiset voivat tulkita kokoajan avulla.
- Kääntäjällä on tärkeä rooli ihmisten ja tietokoneiden välillä, koska se muuntaa konekielen toiseksi koodiksi tai kieleksi, jota ihmiset ymmärtävät.
- Assembly-kieli on omistettu konekielen ymmärtämiselle, koska se on sen huijaus.
Ero konekielen ja kokoonpanokielen välillä
Konekielen ja kokoonpanokielen välillä on useita eroja. Alla on taulukko, joka sisältää kaikki erot niiden välillä.
Koneen kieli | Assembly Language |
---|---|
Konekieli on matalan tason ohjelmointikieli, joka koostuu binääriluvuista tai bitteistä, joita vain koneet voivat lukea. Se tunnetaan myös konekoodina tai objektikoodina, jossa käskyt suoritetaan suoraan suorittimen toimesta. | Kokoonpanokieli on vain ihmisille tarkoitettu kieli, jota tietokoneet eivät ymmärrä. Tämän seurauksena se toimii linkkinä korkean tason ohjelmointikielten ja konekielten välillä, mikä vaatii kokoajan käyttöä ohjeiden muuntamiseksi kone- tai objektikoodiksi. |
Konekieli sisältää binäärilukuja (0 ja 1), heksadesimaalilukuja ja oktaalidesimaalilukuja, jotka ovat vain tietokoneiden käsitettävissä ja joita ihminen ei voi tulkita. | Muistomerkit, kuten Mov, Add, Sub, End ja muut, muodostavat kokoonpanokielen, jota ihmiset voivat ymmärtää, käyttää ja soveltaa. |
Konekielessä virheenkorjauksia ja muokkauksia ei voida tehdä, ja konekielten ominaisuuksia muutetaan sen mukaan. | Assembly-kielessä on tavanomaiset käskysarjat sekä mahdollisuus korjata virheitä ja muokata ohjelmia. |
Konekielet ovat alustariippuvaisia, ja niitä on ihmisten erittäin vaikea ymmärtää. | Assembly-kielten syntaksit ovat samanlaisia kuin englannin kielen; siksi se on ihmisen helppo ymmärtää. |
Konekieltä ei ole mahdollista oppia, koska se on vaikea muistaa ja toimii vain konekoodina. | Assembly-kieli on helppo muistaa, ja sitä käytetään mikroprosessoripohjaisissa sovelluksissa/laitteissa ja reaaliaikaisissa järjestelmissä. |
Konekielessä kaikki tiedot ovat binäärimuodossa, mikä tekee sen suorittamisesta nopeaa. | Konekieleen verrattuna kokoonpanokielen suoritusnopeus on hidas. |
Konekieli käyttää bittisarjoja komentojen antamiseen. Nolla edustaa pois päältä tai väärää tilaa, kun taas yksi edustaa päällä tai todellista tilaa. Se riippuu suorittimesta korkean tason ohjelmointikielen muuntamisesta konekieleksi. | Raakojen bittisekvenssien sijaan kokoonpanokieli käyttää 'muistomerkkejä' ja symboleita; siksi käyttäjien ei tarvitse muistaa kokoonpanokielellä olevia toimintakoodeja. Assembly-kielillä ihmiset voivat kartoittaa koodin konekoodiksi, ja koodit ovat hieman luettavampia |
Ensimmäisen sukupolven ohjelmointikielet ovat konekieliä, jotka eivät tarvitse kääntäjää. | Toisen sukupolven ohjelmointikieliä ovat assembler-kielet, jotka käyttävät assembleria kääntäjänä muiston muuttamiseksi koneellisesti ymmärrettävään muotoon. |
Koneen kieli on laitteistoriippuvaista, eikä sitä voi muuttaa. | Assembly-kieli ei ole kannettava, ja se on koneriippuvainen ja sitä on helppo muokata. |
Konekielen syntaksissa on enemmän virhemahdollisuuksia. | Konekieleen verrattuna syntaksivirheiden mahdollisuudet ovat kokoonpanokielessä pienemmät. |