Ero sivun ”Assembly (ohjelmointikieli)” versioiden välillä

[katsottu versio][katsottu versio]
Poistettu sisältö Lisätty sisältö
Ipr1 (keskustelu | muokkaukset)
Ipr1 (keskustelu | muokkaukset)
Rivi 25:
Assembly on [[ohjelmointikieli|ohjelmointikielten]] alaluokka ja tarkoittaa symbolisia [[konekieli]]ä. [[Tietokone]]iden ymmärtämät konekielet koostuvat yleensä [[binäärijärjestelmä|binäärimuotoisista]] käskyistä, jotka voidaan esittää esimerkiksi 1- ja 0-merkkien sarjoina.
 
Eräs [[Intel]]in [[8086]]-prosessorin konekielen käsky siirtää prosessorin AL-rekisteriin luvun 97:
 
<pre>
10110000 01100001
</pre>
 
Monesti tämä esitetään [[Heksadesimaalijärjestelmä|heksadesimaalilukuna]] lyhyemmän esitysmuodon vuoksi.:
<pre>
B0 61
Rivi 41 ⟶ 40:
</source>
 
jossaEsimerkissä "MOV" on käskyn ''muistikas'' ja 61h ''operandi''. Kyseistä syntaksia käytetään esimerkiksi [[MASM]]:issa, jossa operandit ovat järjestyksessä ''kohde, lähde'' eli "al, 61h"
 
Tässä[[GAS]]:ssa syntaksissakäytetyllä syntaksilla operandit ovat toisinpäin, eli järjestyksessä ''lähde, kohde''.
Edellinen oli [[IBM:n syntaksi]]a, jota käytetään esimerkiksi [[MASM]]:issa.
<source lang="asm">
 
IBM:n syntaksissa operandit ovat järjestyksessä ''kohde, lähde'' eli "al, 61h"
 
Sama käsky [[AT&T:n syntaksi]]lla, jota käytetään [[GAS]]:ssa
<pre>
movb $0x61,%al
</presource>
 
Tässä syntaksissa operandit ovat toisinpäin, järjestyksessä ''lähde, kohde''.
 
Symbolinen konekieli on konekielen havainnollisempi ja ihmisläheisempi esitysmuoto, joka määrittelee konekielen käskyille kirjoitetun kielen kaltaisen ulkoasun. Assembly-kielessä on siten lähes sama rakenne ja komennot kuin varsinaisessa konekielessä, mutta tekstimuotoisuus helpottaa ohjelman kirjoittamista ja ymmärtämistä. Lisäksi eri muistiosoitteisiin viitataan assemblyssa usein nimin ja itse muistiosoite voidaan antaa assemblerin määriteltäväksi. Konekieli ja siis myös assembly ovat sidonnaisia tiettyyn suoritinperheeseen.