Ero sivun ”Konekieli” versioiden välillä

22 merkkiä lisätty ,  13 vuotta sitten
Botti muokkasi sivua
p (Botti lisäsi: eo:Maŝinkodo)
(Botti muokkasi sivua)
Kaikki mitä tietokone lopulta tekee, muodostuu konekielisistä käskyistä. Konekieli, kuten kaikki mitä tietokone perimmiltään tekee, koostuu [[bitti|biteistä]] eli ykkösistä ja nollista. Konekieli on esitystapa tietokoneohjelmalle, joka on lähinnä bittitasoa.
 
Suorittimen käyttämä konekieli riippuu sen arkkitehtuurista, esimerkiksi [[x86]]|x86-arkkitehtuurin]] suorittimella varustettu kone ajaa x86-konekieltä ja [[PowerPC]]|PowerPC-kone]] PowerPC-konekieltä.
 
== Symbolinen konekieli ==
Ensimmäiset tietokoneet 1940-luvulla [[ohjelmointi|ohjelmoitiin]] konekielellä. Myöhemmin kehitettiin ihmiselle havainnollisempia tapoja esittää konekieliset käskyt. Esimerkiksi symbolinen komento ADD voidaan tulkita konekieliseksi komennoksi 10110111. Syntyi symbolinen konekieli eli [[assembly (ohjelmointikieli)|assembly]]. Havainnollisemmat ohjelmat oli sitten käännettävä erityisellä ohjelmalla, [[ohjelmointikielen kääntäjä|kääntäjällä]], konekieliseksi koodiksi, joka voitiin syöttää tietokoneseen sen ymmärtämässä muodossa, eli bitteinä.
 
Kullakin konekielellä on oma symbolinen vastineensa, esimerkiksi [[x86]]|x86-konekieltä]] vastaa x86-assembly.
 
Symbolisenkin konekielen käyttö on vaivalloista, joten yleensä ohjelmoinnissa käytetään korkean tason [[ohjelmointikieli]]ä, esimerkiksi [[C (ohjelmointikieli)|C]]:tä]], joka [[ohjelmointikielen kääntäjä|käännetään]] konekieleksi tai [[ohjelmointikielen tulkki|tulkataan]] konekielisellä ohjelmalla. Korkean tason ohjelmointikielet mahdollistavat myös saman ohjelman käytön eri konekieltä käyttävissä tietokoneissa.
 
== Konekieliset käskyt ==
* '''osoitusmuoto''', joka ilmoittaa, mille muistiosoitteille tai suorittimen sisäisille [[rekisteri (tietokonetekniikka)|rekistereille]] operaatio tulee tehdä
 
Esimerkiksi konekielinen käsky 10110100 10110111 voi merkitä käskynä suorittimelle, että se laskee kahden sisäisen rekisterin sisällöt yhteen ja siirtää tuloksen kolmannen rekisterin osoittamaan muistipaikkaan. Symbolisella konekielellä käsky olisi esim.esimerkiksi ADD A,B,@C
 
== Muistiarkkitehtuurit ==