e-gradiva     Sistemi Motorola Omrežja      
  logotip  
SERŠ Maribor Iskanje Primeri

Zbirni jezik

Pri zbirnem jeziku se prevajaja zapis v strojno kodo. Zaporedju ukazov, ki je zapisano v obliki mnemonikov, pravimo zbirniški program, oziroma program napisan v zbirnem jeziku. Pri šestnajstiškem zapisu programa je vseeno v kakšni obliki bo zapis iz katerega prevajamo. Lahko so to heksadecimalna števila, oktalna števila ali pa besede. V vseh primerih gre za en elementarni ukaz mikroprocesorja, ki je kodiran v takšno obliko, ki nam najbolj ustreza. Proizvajalci zato za vsak mikroprocesor podajo njegove ukaze v simbolični obliki. Vsak ukaz kodirajo običajno s tremi ali štirimi črkami, ki so izbrane tako, da čim bolje ponazarjajo operacijo. Takšni obliki pravimo mnemonik (angl. mnemonic) ali zapomnljivka.

MNEMONIKI

Mnemoniki so črkovne kode operacij posameznih ukazov in so za vsak mikroprocesor ali mikrokrmilnik definirane med podatki proizvajalce. Mnemonik predstavlja okrajšavo iz angleškega jezika za operacijo, ki jo določa ukaz. Tako si ukaz lažje zapomnimo. Kot primer vzemimo ukaz MC6803, ki pomeni nalaganje v akumulator (register) A in ima mnemonik LDAA (LoaD Accumulator A). Različni mikroprocesorji imajo različno definirane mnemonike, čeprav gre za podobne operacije.

Zaporedju ukazov, ki je zapisano v obliki mnemonikov, pravimo zbirniški program, oziroma program napisan v zbirnem jeziku. Primer, ki smo ga v prejšnjem podpoglavju navedli v strojnem jeziku, bi bil videti v zbirnem jeziku takole:

LDAA #1
LDAB #3
ABA

V tem primeru vidimo poleg mnemonikov tudi oznake #1 in #3, ki jih predstavljajo operande. Mnemonik predstavlja samo operacijsko kodo ukaza, podatki o operandu pa so v zbirnem jeziku vedno navedeni za mnemonikom. Ko se navadimo na mnemonike bomo hitro ugotovili pomen posameznega ukaza. V zgornjem primeru imajo naslednji pomen: LDAA - LoaD Accumulator A; LDAB - LoaD Accumulator B; ABA - Add accumulator B to A.

ZBIRNIK

Postopek, kako dobiti iz mnemoničnega zapisa strojni zapis, je enolično določen. Vsakemu mnemoniku pripada točno določen binarni zapis, ki ga najdemo v tabelah proizvajalca, saj oba zapisa predstavljata isti ukaz mikroprocesorja. Prekodiranje lahko opravimo ročno, vendar ga veliko hitreje in brez napak opravi ustrezni računalniški program, ki ga imenujemo zbirnik ali asembler (angl. assembler). Zbirnik zato, ker zbere skupaj (asemblira) ustrezen strojni zapis na podlagi mnemoničnega zapisa.

Zamislimo si že delujoč računalnik, sestavljen na podlagi določenega mikroprocesorja, ki ima kot eno izmed vhodnih enot tudi črkovno tipkovnico, preko katere vnesemo program v zbirnem jeziku za ta mikroprocesor. Zapis v zbirnem jeziku nato zbirnik (program) prevede v strojni program v pomnilniku. Kasneje lahko računalnik tako dobljeni strojni program tudi izvede.

PREČNI ZBIRNIKI

Poseben pomen imajo prečni zbirniki (angl.cross assemblers), ki prevedejo zbirni program nekega mikroprocesorja v njegovo strojno kodo; pri tem ne gre za mikroprocesor, ki je v tem računalniku uporabljen. Na osebnem računalniku, ki deluje na osnovi mikroprocesorja INTEL 80386, napišemo npr. zbirni program za mikrokrmilnik MC6803. Nato osebni računalnik ta program s prečnim zbirnikom prevede v strojni program MC6803. Razumljivo, da osebni računalnik tako dobljenega programa ne more sam izvesti (saj uporablja drug mikroprocesor, ki ne razume ukazov MC6803), pač pa moramo omenjeni strojni program nekako prenesti oz. naložiti v pomnilnik sistema, zgrajenega z MC6803.

Zbirni jezik nekega mikroprocesorja je tesno povezan z njegovo notranjo zgradbo in načinom kako komunicira s pomnilnikom in vhodno-izhodnimi enotami, zato programiranje v zbirnem jeziku zahteva dobro poznavanje arhitekture računalnika ali vsaj njegovega programskega modela. Zato je nesmiselno obravnavati nekakšen splošni zbirni jezik, temveč se moramo pri študiju zbirnega jezika vedno odločiti za nek konkreten mikroprocesor oziroma mikrokrmilnik. Program, napisan v zbirnem jeziku, je zatorej nujno omejen na konkretno procesorsko enoto.

SERŠ Maribor, Strokovna gimnazija, leto: 2002, avtor: Rok Kožuh