Rejestry-flagi

PC
    16 - bitowy licznik rozkazow
    Zawiera adres komorki pamieci, z ktorej bedzie pobierany kod rozkazu
    do wykonania.
   
DPTR
    (Datapointer) 82h
    16 - bitowy wskaznik danych zlozony z dwoch 8 - bitowych rejestrow:
    DPH (83h) - czesc starsza,
    DPL (82h) - czesc mlodsza.
    Wskaznik ten jest uzywany do adresowania 64kB pamieci zewnetrznej
    RAM w trybie indeksowo - rejestrowym np:
                    MOVX A,@DPTR
    lub do pobierania argumentow z pamieci programu, np:
                    MOVC A,@A+DPTR              

A
    (ACC - Accumulator) E0h
    Spelnia funkcje takie jak rejestry uniwersalne a ponadto jest w nim
    zwykle zawarty jeden z argumentow, oraz jest miejscem wpisu wyniku
    operacji arytmetycznych i logicznych wykonywanych przez mikroprocesor.

B
    (B - Register) F0h
    Rejestr stosowany w operacjach mnozenia i dzielenia, zawierajacy jeden
    z argumentow oraz starsza czesc ilorazu lub reszte w operacji dzielenia.
    W pozostalych instrukcjach moze byc traktowany jako rejestr uniwersalny.

IP0
    Rejestr priorytetow przerwan
   
SP
    (Stack Pointer) 81h
    8 - bitowy wskaznik stosu wskazuje ostatnia zajeta komorke stosu
    i deklarowany jest w obrebie wewnetrznej pamieci RAM.
    Jest on inkrementowany przed schowaniem danych na stosie za pomoca
    instrukcji PUSH i CALL i dekrementowany po pobraniu danych ze stosu
    przez instrukcje POP, RET i RETI. Po resecie wskaznik stosu przyjmuje
    wartosc rowna 07h.

Rn  (n = 0..7)
    8 - bitowe rejestry ogolnego zastosowania
    Rejestry te znajduja sie w wewnetrznej pamieci RAM i zajmuja adresy
    0..1Fh. Sa podzielone na cztery banki rejestrow po osiem rejestrow
    w kazdym. W danym momencie mozliwy jest dostep tylko do jednego
    z wybranych bankow. Numer aktualnie aktywnego banku rejestrow zapisany
    jest w rejestrze slowa statusowego PSW w bitach Rs1 i Rs0
                Rs1 Rs0  Nr banku   Adresy rejestrow
                 0   0      0          00h..07h
                 0   1      1          08h..0Fh
                 1   0      2          10h..17h
                 1   1      3          18h..1Fh

Cy
    Flaga przeniesienia C      
    Sygnalizuje przekroczenie zakresy liczb calkowitych bez znaku. Jest ona
    ustawiana (C = 1) jezeli w wyniku wykonanego dodawania wystapilo
    przeniesienie (lub pozyczka przy odejmowaniu) z najbardziej znaczacego
    bitu.

Ac
    Flaga przeniesienia polowkowego.
    Dotyczy przeniesienia miedzy mlodsza i starsza tetrada, miedzy bitami
    A4 i A3. Ma znaczenie przy operacjach arytmetycznych liczb zapisanych
    w kodzie BCD (rozkaz DA A).

F0
    Flaga uzytkownika
    Moze byc uzyta jako jako 1 - bitowa komorka pamieci lub 1 - bitowy
    rejestr.

Rs
    Bity Rs1 i Rs0 sluza do uaktywnienia jednego z bankow rejestrow
    R0..R7.

Ov
    Flaga nadmiaru
    Informuje o przekroczeniu zakresu -128..127 8 - bitowych liczb
    calkowitych ze znakiem.
    Flaga nadmiaru jest ustawiana (Ov = 1) jesli wystapilo przeniesienie
    miedzy 6 i 7 , ktore zmienilo bit 7.
    W operacji dzielenia flaga nadmiaru jest ustawiana jesli nastapila
    proba podzielenia przez 0, a w operacji mnozenia gdy bardziej znaczacy
    bajt wyniku jest niezerowy.

P
    Flaga parzystosci.
    Po kazdej instrukcji przybiera wartosc 1 gdy liczba jedynek akumulatora
    jest nieparzysta i 0 w przeciwnym przypadku.


   

Komentarze



link W układzie Intel 8051 jest zaimplementowany system wieloźródłowy przerwań o dwóch priorytetach z możliwością zagnieżdżania. Czas reakcji po wystąpieniu żądania obsługi zawiera się między 3 a 7 s przy zegarze 12MHz.



link Prezentujemy listę instrukcji - mikroprocesor 8051 ( Intel 8051 ): ACALL addr11 Dzialanie: (PC)  (PC) + 2 (SP)  (SP) + 1 ((SP))  (PC7-0) (SP)  (SP) + 1 ((SP))  (PC15-8) (PC10-0)  addr11