1. Prevedi

2. Naloži

3. Naslednji korak F7

4. Počasi izvajaj

5. Hitro izvajaj

6. Pavza

7. Stop

8. Prekinitvena točka (breakpoint) F5

 

"Prevedi"

Ko napišemo program v zbirniku, zaženemo prevajalnik.

Naloga prevajalnika je, da razporedi spremenljivke, konstante in kodo v pomnilniški naslovni prostor procesorja, jim določi ustrezne naslove v tem prostoru, ukaze zapisane v obliki mnemonikov z določili operandov pa prevede v strojno kodo.

Ker simulator MC6803 ne vključuje povezovalnika (linker), je tako generirana koda že kar izvršljiva koda.

Prevajalnik opravi dva prehoda skozi program: v prvem prehodu dodeli imenom spremenljivk in drugim imenom v programu pomnilniške naslove, v drugem prehodu pa določi medsebojne povezave med tako določenimi naslovi in ostalim delom programa.

Prevajalnik tudi odkrije in opozori na sintaktične in semantične napake. Nalaganje in izvajanje programa ni možno prej, preden so odpravljene vse napake v izvornem programu.

Pri prevajanju se v generira tudi datoteka z imenom "test.lst". Ta datoteka združuje izvorno in strojno kodo programa, ki je bil nazadnje preveden.

V spodnjih dveh vrsticah se nahaja izrez primera dveh zaporednih ukazov iz "test.lst" datoteke.

 

38  F003 86FF              ldaa #%11111111 ; vse nožice "porta 1" initializiramo kot izhode

39  F005 B70000          staa ddr

 

Število 38 v prvi koloni pomeni zaporedno številko vrstice v programu, F003 predstavlja pomnilniški naslov v heksadecimalni obliki, od katerega dalje se nahajata dva zloga strojne kode 86 in FF. Ta dva zloga sta se generirala pri prevajanju ukaza ldaa #%11111111. Podpičju sledi komentar, ki pojasnjuje ukaz.

Prednost te datoteke je v tem, da v njej najdemo zelo nazorno povezavo med izvorno in strojno kodo ter položaj spremenljivk in strojne kode v pomnilniku.  

Na vrh

 

"Naloži"

Opcija "Naloži" vključuje prevajanje izvornega programa v strojno kodo in prenos (nalaganje, load) strojne kode v simulirani pomnilnik mikrokontrolerja.

Po nalaganju lahko primerjamo strojno kodo, ki jo najdemo v "test.lst" datoteki, s kodo v pomnilniškem naslovnem prostoru (simuliranem pomnilniku), ki je dostopen v oknu "Naslovni prostor".  

Na vrh

 

"Naslednji korak F7"

To je opcija, ki omogoča izvajanje in spremljanje programa po korakih. Lahko jo imenujemo tudi "koračno izvajanje" programa. Ob vsakem koraku (ali pritisku tipke F7) se izvede en sam ukaz zbirnika, nakar se izvajanje prekine. Nastopi pavza.

Delo s programom in spremljanje izvajanja programa je v tem načinu zelo počasno, vendar je to odlično pomagalo pri razhroščevanju programa, ko moramo podrobno preučiti, če se naša predvidevanja pri izvajanju posameznih ukazov ujemajo z dejanskim stanjem.

Kazalec in obarvana črta označujeta ukaz, ki se bo naslednji izvršil.

V vsakem trenutku se lahko odločimo za pospešeno izvajanje v primerjavi s "koračnim", če izberemo možnost "Počasi izvajaj" ali "Hitro izvajaj".  

Na vrh

 

"Počasi izvajaj"

Pri tem načinu poteka izvajanje programa tako počasi, da lahko spotoma spremljamo spremembe na določenih mestih (na izbranem naslovu v pomnilniku, v določenem registru, itd).

Izvajanje programa lahko v vsakem trenutku dokončno prekinemo z izbiro opcije "Stop".  Nadaljevanje izvajanja ukaza v takem primeru ni več mogoče.

Z izbiro "Pavza" pa se izvajanje programa prekine le začasno, za čas pavze, nakar lahko izvajanje programa nadaljujemo z  izbiro "Naslednji korak", "Počasi izvajaj" ali "Hitro izvajaj".

Kazalec in obarvana črta neprestano sledita izvedenim ukazom in označujeta ukaz, ki se bo naslednji izvršil.

V menuju "Orodja", "Nastavitve okolja", "Simulacija" določimo, v  kolikšnem času se bo izvedel en ukaz, oziroma  v kolikšnih časovnih presledkih si bodo sledili posamezni ukazi drug za drugim.  

Na vrh

 

"Hitro izvajaj"

Je le nekaj hitrejši način izvajanja ukazov v primerjavi z izbiro "Počasi izvajaj".

Za hitro izvajanje programa se odločimo, če želimo na hitro preveriti, kako program deluje, če imamo večje število zaporednih iteracij ali, če lahko spremljamo zaporedno spreminjanje vsebin na določenem naslovu v pomnilniku ali katerem od registrov.

Glede na to, da se po vsakem izvedenem ukazu spremeni zaslonska slika, ki prikazuje program med izvajanjem, vsebine posameznih registrov in vsebine  v pomnilniku, ni ne možno niti smiselno poljubno povečevati hitrosti izvajanja ukazov v menuju "Orodja", "Nastavitve okolja", "Simulacija". Hitrost izvajanja programa pri simulaciji se prav zaradi spremljanja izvajanja na ekranu ne more primerjati s hitrostjo izvajanja v realnih razmerah v mikrokontrolerju.

Uporabnik lahko kaj hitro sam "odkrije" maksimalno hitrost izvajanja programa, ki je seveda odvisna od hitrosti računalnika, na katerem teče program za simulacijo mikrokontrolerja MC6803.  

Na vrh

 

"Pavza"

To možnost izberemo, če želimo izvajanje programa začasno prekiniti. Za začasno prekinitev izvajanja se odločimo, če nameravamo podrobneje pregledati vsebine v pomnilniku, registrih, spremeniti katero od vsebin, itd.

Po koncu pavze lahko nadaljujemo z izvajanjem "koračno", "počasi" ali "hitro".  

Na vrh

 

"Stop"

Ta izbira pomeni dokončno prekinitev izvajanja programa. Nadaljevanje izvajanja ni več možno.

Če želimo izvorno kodo programa spreminjati (editiranje programa), je potrebno v vsakem primeru prekiniti izvajanje programa!  

Na vrh

 

"Prekinitvena točka (breakpoint) F5"

Z menujsko izbiro možnosti "Prekinitvena točka" ali s pritiskom tipke F5 se na mesto v izvorni kodi programa, ki ga določa trenutni položaj cursorja, vnese zaznamek v obliki "stop znaka". To pomeni, da se bo pri kakršnemkoli načinu izvajanja programa (počasi, hitro) izvajanje programa na označenem mestu začasno prekinilo in zaustavilo.

Izvajanje programa se nadaljuje, ko ponovno izberemo "Naslednji korak", "Počasi izvajaj", "Hitro izvajaj". V bistvu gre za programirano pavzo na mestu, kjer je zaznamovana prekinitvena točka.

Način preizkušanja s postavitvijo prekinitvenih točk je dobrodošel, ko želimo preveriti vsebine, začasne rezultate, itd. le na določenih, "kritičnih", vnaprej predvidenih mestih v programu.

Prekinitvene točke lahko postavimo na več mestih v programu.

Zaznamek za prekinitveno točko odstranimo s ponovnim pritiskom tipke F5 oz. s ponovno izbiro možnosti "Prekinitvena točka"  

Na vrh

Nazaj