Assembly (ohjelmointikieli)

Tämä artikkeli käsittelee tietokoneohjelmointia. Katso Assembly sanan muista merkityksistä.
Motorola 6800 8-bittisen suorittimen assembly-kielellä kirjoitetun koodin käännöslistausta.

Assembly (usein virheellisesti assembler) on tietokoneen ohjelmointikieli, joka koostuu symbolisesta vastineesta tietylle konekielelle.[1] Toinen nimitys assembly-kielelle on symbolinen konekieli.[2] Eri suoritintyyppejä käyttäville tietokoneille tarvitaan eri assembly-kieli.[1]

Assembly on matalan tason kieli, jota sanotaan myös toisen sukupolven ohjelmointikieleksi.[3] Kieli on isomorfinen ja vastaa läheisesti konekieltä: kielen ominaisuudet ovat yksi-yhteen tai yksi-moneen suhteessa käskykannan ominaisuuksiin.[3] Ylemmän tason kielet käyttävät ei-isomorfista muunnosta.[3]

Konekieli on suorittimen tai vastaavan laitteen ymmärtämä kieli. Konekielen käskyt ovat lukujonoja, ja siksi vaikeita muistaa sekä hahmottaa koodia kirjoitettaessa. Siksi konekielen kirjoittamisen sijaan käytetään yleensä assemblyä. Assembly-ohjelma muutetaan konekieliseksi assembler-kääntäjällä.

Assembly-ohjelma koostuu käskyistä (engl. mnemonics) ja niihin liittyvät operandeista, jotka vastaavat konekielen käskyjä. Lisäksi assembly-kielisessä ohjelmassa on muistiosoitteiden nimiä ja muita apusanoja.

Assemblyn käytön varjopuolia verrattuna C:n tyyppisiin korkean tason kieliin ovat muun muassa ohjelmoinnin vaikeus, hitaus ja virhealttius. Assemblyn käyttö vaatii taitoa ja erityistä tarkkuutta.

Assembly-kieli on huonosti siirrettävä kieli eri suorittimien välillä. Eri suoritintyypeille on erilaiset assembly-ohjelmat.

  1. a b Assembly language britannica.com. Viitattu 12.9.2020. (englanniksi)
  2. Viittausvirhe: Virheellinen <ref>-elementti; viitettä ch ei löytynyt
  3. a b c Roger Clarke: A Contingency Approach to the Application Software Generations rogerclarke.com. 1991. Viitattu 4.2.2020. (englanniksi)

Developed by StudentB