Investor's wiki

Assembly Language

Assembly Language

Mikä on kokoonpanokieli?

Kokoonpanokieli on eräänlainen matalan tason ohjelmointikieli, joka on tarkoitettu kommunikoimaan suoraan tietokoneen laitteiston kanssa. Toisin kuin konekieli, joka koostuu binääri- ja heksadesimaalimerkeistä, kokoonpanokielet on suunniteltu ihmisten luettavaksi.

Matalatason ohjelmointikielet, kuten kokoonpanokieli, ovat välttämätön silta tietokoneen taustalla olevan laitteiston ja korkeamman tason ohjelmointikielten, kuten Pythonin tai JavaScriptin, välillä, joilla nykyaikaiset ohjelmistot kirjoitetaan.

Kuinka kokoonpanokielet toimivat

Pohjimmiltaan tietokoneen suorittamat peruskäskyt ovat binäärikoodeja, jotka koostuvat ykkösistä ja nollista. Nämä koodit käännetään suoraan tietokoneen fyysisten piirien läpi kulkevan sähkön "on"- ja "off"-tiloihin. Pohjimmiltaan nämä yksinkertaiset koodit muodostavat perustan "konekielelle", joka on ohjelmointikielen perustavin lajike.

Kukaan ihminen ei tietenkään pystyisi rakentamaan nykyaikaisia ohjelmistoja ohjelmoimalla ykkösiä ja nollia. Sen sijaan ohjelmoijien on turvauduttava erilaisiin abstraktiokerroksiin, jotka voivat antaa itsensä ilmaista komentojaan ihmisille intuitiivisemmassa muodossa. Erityisesti nykyaikaiset ohjelmoijat antavat komentoja niin kutsutuilla "korkean tason kielillä", jotka käyttävät intuitiivista syntaksia, kuten kokonaisia englanninkielisiä sanoja ja lauseita, sekä loogisia operaattoreita, kuten "And", "Or" ja "Else", jotka ovat jokapäiväiseen käyttöön tuttu.

Viime kädessä nämä korkean tason komennot on kuitenkin käännettävä konekielelle. Sen sijaan, että tekisivät sen manuaalisesti, ohjelmoijat luottavat kokoonpanokieliin, joiden tarkoituksena on kääntää automaattisesti näiden korkean tason ja matalan tason kielten välillä. Ensimmäiset kokoonpanokielet kehitettiin 1940-luvulla, ja vaikka nykyaikaiset ohjelmoijat käyttävät hyvin vähän aikaa kokoonpanokielten käsittelyyn, ne ovat edelleen välttämättömiä tietokoneen yleiselle toiminnalle.

Tosimaailman esimerkki kokoonpanokielestä

Nykyään kokoonpanokielet ovat edelleen tietojenkäsittelytieteen opiskelijoiden opiskeluaiheena, jotta he ymmärtäisivät, kuinka modernit ohjelmistot liittyvät taustalla oleviin laitteistoalustoihinsa. Joissakin tapauksissa ohjelmoijien on jatkettava kirjoittamista kokoonpanokielillä, esimerkiksi silloin, kun suorituskykyvaatimukset ovat erityisen korkeat tai kun kyseessä oleva laitteisto ei ole yhteensopiva minkään nykyisen korkean tason kielen kanssa.

Yksi tällainen rahoituksen kannalta merkityksellinen esimerkki ovat joidenkin rahoitusyritysten käyttämät korkean taajuuden kaupankäynnin (HFT) alustat. Tällä markkinapaikalla transaktioiden nopeus ja tarkkuus ovat ensiarvoisen tärkeitä, jotta HFT-kaupankäyntistrategiat osoittautuvat kannattaviksi. Siksi jotkut HFT-yritykset ovat kirjoittaneet kaupankäyntiohjelmistonsa suoraan kokoonpanokielillä saadakseen etulyöntiaseman kilpailijoitaan vastaan, mikä tekee tarpeettomaksi odottaa, että ylemmän tason kielen komennot käännetään konekielelle.

##Kohokohdat

  • Se on välttämätön silta ohjelmistojen ja niiden taustalla olevien laitteistoalustojen välillä.

  • Assembly-kieli on ohjelmointikielen tyyppi, joka kääntää korkean tason kielet konekieleksi.

  • Nykyään assemble-kieliä harvoin kirjoitetaan suoraan, vaikka niitä käytetään edelleen joissakin kapean alan sovelluksissa, kuten silloin, kun suorituskykyvaatimukset ovat erityisen korkeat.