2 Struktura pamięci mikrokomrolcia 15
i odczytywana:
MOV ACC.SP ;ACC c= SP, wpisz zawartość
;wskaźnika stosu (SP) do akumulatora (ACO
Ze względu na 8-bitową długość rejestru wskaźnika stosu (SP) i deklarację w wewnętrznej pamięd RAM należy kontrolować rozmiar stosu. Przy niekontrolowanym przesyłaniu danych do obszaru stosu możliwe jest zniszczenie danych przechowywanych w wyższych obszarach adresu pamięci RAM oraz w kolejnych bankach rejestrów rozpoczynając od banku RBO. W arytmetyce 8-bitowej dodawanie lub odejmowanie wykonywane jest tylko dla 8-bilów, co oznacza, że:
OFFH + 1=0.
0-1 =0FFH
* Rqestr słowa statusowego (PSW - Program Status Word) - adres UDOH
Rejestr słowa statusowego (l^W) o adresie 0D0H adresowany jest zarówno bajtowo jak i bitowo. Znaczenie poszczególnych bitów jest następujące:
adres: ODOH |
CY AC FO | RS1 | RSO | ov | n | P j PSW | |
CY |
PSW.7 |
znacznik przeniesienia (Carry Flag) z pozycji najbardziej znaczącego bitu akumulatora A7, |
AC |
PSW.6 |
znacznik przeniesienia połówkowego (Auxiliary Carry Flag) między bitami akumulatora A3 i Aą, |
FO |
PSW.5 |
znacznik FO ogólnego przeznaczenia. |
RS1 |
PSW.4 |
bit 1 wyboru banku rejestrów (Register Bank Select 1), |
RSO |
I^W.3 |
bit 0 wyboru banku rejestrów (Register Bank Select 0), |
Ov |
PSW.2 |
znacznik nadmiaru (Ovcrflow Flag) dla dodawania i odejmowania liczb całkowitych ze znakiem, w kodzie uzupełnienia do 2, |
FI |
PSW.l |
znacznik Fl ogólnego przeznaczenia, brak w mikrokontrolerze 8051/31, występuje w nowszych wersjach procesorów, np. 80(0515/535 |
P |
PSW.O |
znacznik parzystości (Parity Rag) będący dopełnieniem do parzystej liczby jedynek w akumulatorze (A). |
Znaczniki F0 i FI nie mają swojego specjalnego przeznaczenia i mogą być używane jako 1-bilowe komórki pamięci lub 1-bitowy rejestr Znaczniki te są testowane w rozkazach skoków warunkowych.
Przykład:
Przesłanie znacznika programowego FO do znacznika przeniesienia (C): Mov_C_F0t
MOV |
C,F0 |
,Cc=F0 | |
lub | |||
MOV |
CPSW.5 |
,C <= PSW.5 | |
lub | |||
MOV |
C.0D5H |
£ c= (0D5H) | |
lub | |||
• |
MOV |
C0D0H.5 |
,C c= (ODOH.5) |
Set Bit
Cykle Znacz-
maszynmoe: „ikt
SE 1 B bił
Działanie: Cci bit <= 1
Adresowanie Mnemonik: Stmhura bajtów:
C
bezpośrednie: SETB C
bezpośrednie: SETB bit
I1 1 0 1I0 0 1 li 1 | 1 1 0 1 | Q 0 1 ~o1 1
adres bitu
Opis działania:
Wpisanie jedynki logicznej na pozycję wybranego bitu o adresie bit w wewnętrzne) pamięd RAM.
Przykład:
Wpisanie jedynki logicznej do znacznika programowego FO (pi^ty bit w rejestrze PSW):
Setb FO:
lub
lub
lub
SETB |
FO |
;F0c= 1 |
SETB |
PSW.5 |
;PSW 5 c: 1 |
SETB |
D5 |
;D5 <= 1 |
SETB |
DO. 5 |
;D0.5 c- 1 |
wi