Programski model mikroprocesorja sestavljajo programsko dostopni registri A, B, D, X, SP, PC, CCR. Vsebine teh registrov so tudi dosegljive za spremljanje in/ali spreminjanje v osnovnem oknu simulatorja mikrokontrolerja med izvajanjem programa po korakih ali v času pavze.

Vsebine so v glavnem oknu simulatorja prikazane na zaslonu v heksadecimalnem zapisu in se pojavijo izpisane šele potem, ko uspešno naložimo program.

 

Register A (Accumulator A)

Je 8-bitni delovni register, ki nastopa najbolj pogosto v programskih ukazih procesorja. V večini primerov se po izvršeni logični ali aritmetični operaciji, v katero vstopa register A s svojo vsebino, tudi rezultat nahaja v istem registru.

 

Register B (Accumulator B)

Je tudi 8-bitni delovni register, ki se v dobršni meri uporablja enako kot register A, z redkimi omejitvami.

 

Register D

Ni fizično samostojen register. V ukazih nastopa kot 16-bitni register, ki predstavlja združeni vsebini registrov A in B. Uporablja se le v nekaterih 16-bitnih operacijah.

 

Register X

Je 16-bitni register, ki je namenjen v prvi vrsti za shranjevanje osnovnega naslova (kot nekakšen kazalec) pri indeksnem naslavljanju. Seveda pa ga lahko uporabljamo tudi kot splošni register za začasno shranjevanje 16-bitnih vsebin. Če se vanj prenese vsebina iz pomnilnika, se le-ta prebere z dveh sosednjih pomnilniških naslovov.

 

Register SP (Stack Pointer) - Kazalec na sklad

Je 16-bitni kazalec (register, ki vsebuje naslov) na sklad, ki v vsakem trenutku kaže na prvo prazno lokacijo v prostoru za sklad. Običajno se spreminja samodejno pri vpisih na sklad (naslov se zmanjšuje) in pri branjih s sklada (naslov se povečuje). Na začetku programa, pred prvo uporabo sklada,  programsko dodelimo SP kazalcu na sklad začetno vrednost.

Sklad se uporablja programsko kot začasen pomnilnik za prenose vsebin iz registrov na sklad in obratno, pri klicih podprogramov in pri prekinitvah.

 

Register PC (Program Counter) - Programski števec

Spada med 16-bitne registre, ki pa ima posebno vlogo. V bistvu se za njim skriva števec, ki pri izvajanju programa šteje po naslovih (jih povečuje) v pomnilniku, kjer se nahaja strojna koda. Šteje tako, da med izvajanjem ukaza kaže PC register vedno na ukaz, ki se bo naslednji izvršil.

 

Register CCR (Condition Code Register) - Pogojno kodni register, Register stanj

Spada med 8-bitne registre, čeprav je uporabljenih le spodnjih 6 bitov, zgornja dva pa imata konstantno vrednost 1. Vsak od spodnjih šestih bitov ima svoj pomen. Posamezne bite imenujemo tudi zastavice (flag), ki se jim vrednost spreminja ob izvrševanju ukazov. Nekateri ukazi ne spreminjajo zastavic, drugi spreminjajo eno, nekateri pa tudi več. Z uporabo teh bitov-zastavic se povezuje prejšnji, že izvršen ukaz, z naslednjim .

b7 b6 b5 b4 b3 b2 b1 b0
1 1 H I N Z V C

 

C-bit (Carry) - Prenos

C-bit zavzame vrednost 1, če je pri izvrševanju ukaza prišlo do prenosa iz osmega na deveti bit (iz b7 na b8) ali pri 16-bitnih številih iz b15 na b16. Do tega pride, če je območje računanja z osembitnimi oziroma šestnajstbitnimi števili preseženo. Carry bit, ki se pri tem generira, lahko služi za razširitev računanja z dodatnimi zlogi.

 

V-bit (Overflow) - Preliv

V-bit dobi vrednost 1, če pride do preliva rezultata preko območja računanja s predznačenimi števili. Do tega pride, ko pri aritmetični operaciji pride do prenosa iz b6 na b7 oziroma iz b14 na b15. To pomeni napako, kadar vrednost rezultata preide v območje predznaka pri seštevanju pozitivnih števil ali pri odštevanju od negativnega števila.

 

Z-bit (Zero) - Nič

Če zavzame rezultat po izvršeni operaciji vrednost 0, se postavi Z-bit. Praktično to pomeni, da so v rezultatu vsi biti enaki 0.

 

N-bit (Negative) - Negativni

Najbolj vreden bit (b7 ali b15) predstavlja predznak pri računanju s predznačenimi števili. Če je ta bit postavljen na vrednost 1, procesor to interpretira kot negativno število in postavi tudi N-bit na 1, sicer ga briše.

 

I-bit (Interrupt) - Prekinitev

I-bit predstavlja masko za preprečevanje sprejema maskirnih prekinitev. Na vrednost 1 se postavi po resetu procesorja (začetna vrednost), pri sprejemu katerekoli prekinitvene zahteve ali programskom z ukazom SEI. Na vrednost 0 se briše z ukazom CLI ali RTI ob vrnitvi iz prekinitvenega strežnega programa.

 

H-bit (Half Carry) - Polovični prenos

H-bit zavzame vrednost 1, če je pri izvrševanju ukaza prišlo do prenosa iz četrtega na peti bit (iz b3 na b4). H-bit se uporablja predvsem v povezavi z  aritmetičnimi operacijami, ki uporabljajo operande v BCD zapisu.

 Nazaj