Mikä on kokouskieli
Kokoonpanokielet ovat matalan tason kieliä, jotka ovat ominaisia tietylle tietokonearkkitehtuurille. Vertailun vuoksi, monia korkean tason ohjelmointikieliä voidaan käyttää useissa arkkitehtuureissa, mutta ne vaativat tulkintaa tai kääntämistä ennen prosessorin saavuttamista.
JAKAUTUMINEN Kokoonpanokieli
Kokoonpanokielet on korvattu suurelta osin korkean tason ohjelmointikielellä. Ohjelmistosuunnittelijat kirjoittavat mieluummin yhden sovelluksen, joka toimii kaikissa tietokoneissa - riippumatta siitä, onko niissä Intel- tai AMD-prosessoreita -, jotka käyttävät korkean tason kieliä. Vertailun vuoksi heidän olisi kirjoitettava erilliset sovellukset jokaiselle tietokonearkkitehtuurityypille kokoonpanokieliä käyttämällä. Näiden sovellusten ylläpito tulee erittäin vaikeaksi, koska jokainen päivitys edellyttäisi useiden eri sovellusten päivittämistä.
Tyypillisimmät tietokoneen suorittamat ohjeet ovat binaarikoodeja, jotka koostuvat koodeista ja noloista, koska nämä ovat suoraan käännettävissä prosessorin läpi kulkevan sähkön päälle ja pois päältä -tiloihin. Tietysti on epäkäytännöllistä ohjelmistosuunnittelijoille - tai muille ihmisille - kääntää tietoa yhdeksi ja nollaksi, joten kokoonpanokielet kehitettiin prosessin yksinkertaistamiseksi. Nämä kokoonpanokielet vaativat silti paljon työtä koodin kääntämisessä eri arkkitehtuureissa, joten korkeamman tason ohjelmointikielet tulivat heidän jälkeensä.
Kokoonpanokielet ovat kuitenkin yleisiä joillakin markkinoilla, jotka vaativat suurta nopeutta ja suorituskykyä. Lentosimulaattorit voivat käyttää erittäin erikoistuneita arkkitehtuureja, jos ylemmän tason kielet eivät toimi, mikä tarkoittaa, että kokouskielet saattavat olla välttämättömyys. Suurtaajuuksisilla kaupankäyntitoiminnoilla voidaan käyttää myös kokoonpanokieliä, koska ne voivat suorittaa analyysejä ja tapahtumia paljon nopeammin kuin korkean tason kielet, mikä voi johtaa parempiin kaupankäynnin tuloihin ja kannattavuuteen suhteessa kilpailuun.
Esimerkki kokouskieleistä
Kokoonpanokielet lähettävät ohjeet suorittimeen, muistiin ja muihin tietokonekomponentteihin. Nämä suunnat ovat hieman abstraktimpia versioita binaarikoodista, joka koostuu puhtaasti niistä ja noloista. Esimerkiksi koodi 10110000 01100001 käskee prosessoria siirtämään 8-bittisen arvon rekisteriin. Heksadesimaalimuotoa käyttämällä nämä ohjeet voidaan lyhentää arvoon B0 61. Kokoonpanokielet tekevät siitä entistä ymmärrettävämmän ottamalla käyttöön operaattoreita, kuten MOV AL, 61h, jossa MOV on lyhenne sanasta "move".
Korkeamman tason ohjelmointikielet käsittelevät nämä tehtävät usein automaattisesti ja antavat ohjelmistosuunnittelijoiden keskittyä paljon korkeamman tason tehtäviin, kuten muuttujien osoittamiseen ja niiden suorittamiseen. Esimerkiksi ohjelmistosuunnittelija voi määritellä muuttujan JavaScriptin avulla käyttämällä arvoa myVariable = 123, ja kyseiselle muuttujalle annetaan automaattisesti paikka muistiin kokonaisluvun 123 koon ja muiden tekijöiden perusteella. Ohjelmistosuunnittelijan ei tarvitse huolehtia muistin hallinnasta, vaan hän voi keskittyä sen sijaan, mitä muuttuja tekee.
