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 .
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.