Mihiztadura-lengoaia

Mihiztadura-lengoaia (ingelesez: assembly languagea eta asm laburdura) edo mihiztatzailea informatikako behe-mailako programazio-lengoaia sinbolikoa da.[1][2]

Lengoaia honetan idatzitako agindu bakoitzetik makina-lengoaiako agindu bakarra sortzen da gero. Prozesadorearen oinarrizko agindu mota bakoitza (makina-lengoaiako agindu bakoitza) izen mnemotekniko baten bidez adierazten da, ez kode bitarrean makina-lengoaian bezala; zenbakiak digitu hamartarrekin idazten dira, ez kode bitarrean makina-lengoaian bezala. Mihiztadura-lengoaiazko aginduen eta makina-kodezko aginduen arteko korrespondentzia zuzena da, ia erabatekoa. Hala, prozesadore-arkitektura bakoitzak bere mihiztadura-lengoaia du, goi-mailako programazio-lengoaia gehienek ez bezala. Goi mailako lengoaia horiek hainbat arkitekturaren artean eramangarriak izan ohi dira, baina, interpretatu edo konpilatu egin behar dira.[3][4]

Mihiztatzaile izeneko programa bat erabiltzen da mihiztadura-lengoaiaren sententziak ordenagailuaren makina-kodera itzultzeko. Mihiztatzaileak erraz itzultzen ditu aginduen izen mnemonikoak makina-lengoaiako aginduetara (kode bitarrean), eta berdin aginduetan azaltzen diren datuekin. Hori goi-mailako lengoaiekin kontrastean dago, non agindu bakoitzerako gehienetan makina-ĺengoaiazko agindu asko sortuko dira konpilazioan.

Agindu bat MIPS mihiztadura-lengoaian addi $s2, $t8, 37
Agindu bera MIPS makina-lengoaian 001000 11000 10010 0000 0000 0010 0101
Adibidearen azalpena 'addi' operazioaren kodea '001000' da (batuketa bat egitea).

'37' da batu behar den balioa ('0000 0000 0010 0101')[5]

Mihiztatzaile sofistikatu askok mekanismo gehigarriak eskaintzen dituzte programak errazago garatzeko, mihiztatze-prozesua kontrolatzeko eta arazketa-laguntza emateko. Mihiztatzaile moderno gehienek makroak definitzeko erraztasuna eskaintzen dute (beherago deskribatua), eta makro mihiztatzaile deitzen zaie.

Historikoki, softwarearen garapeneko hasierako urteetan erabili zen mihiztadura-lengoaia, batez ere. Artean goi-mailako lengoaia indartsurik ez zegoenean eta konputagailuen baliabideak oso mugatuak izaten zirenean. Gaur egun, maiz erabiltzen da giro akademikoan eta ikerketetan, batez ere hardwarea zuzenean manipulatu behar denean, errendimendu handia behar denean edo baliabide kontrolatuak eta murriztuak erabili behar direnean. Gailu-kontrolagailuen garapenean (ingelesez, device drivers) eta sistema eragileen garapenean ere erabiltzen da, makina-aginduetara zuzenean sartu behar delako. Gailu programagarri askok (mikrokontrolatzaileak, esaterako) oraindik mihiztatzailea erabiltzea dute aldaketak egiteko modu bakarra.

  1. «Mihiztadura-lengoaia - ZT Hiztegi Berria» zthiztegia.elhuyar.eus (Noiz kontsultatua: 2023-12-09).
  2. Fundazioa, Elhuyar. «ensamblador» Elhuyar Hiztegia (Noiz kontsultatua: 2023-12-09).
  3. Introduction to Assembly Language. www.swansontec.com.
  4. Verle, Milan. 5.1 Elements of Assembly Language | Architecture and programming of 8051 MCUs. learn.mikroe.com.
  5. (Ingelesez) «4.4: Machine Code for the Addi Instruction» Engineering LibreTexts 2020-06-26 (Noiz kontsultatua: 2024-01-04).

© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search