Dodatek B Lisia msmikgi wg typów 93
Instrukcje bajtowej wymiany danych
Mnemonik |
Operacja |
Struktura bajtów |
Cyk le |
Znacz niki | ||
MOV A,Rn |
A er Rn |
1 1 1 01 1 r r r | |
1 |
P | ||
MOV A,adr |
Ac=(adr) |
II 1 l 0 to 1 0 11 |
adr | |
1 |
P | |
MOV A,®Ri |
Ac=(Ri) |
1 1 10101 III |
1 |
P | ||
MOV A,#dana |
Ac=#dana |
|0 1 1 1 to 1 0011 |
dana |
1 |
P | |
MOV Rn,A |
Rnc=A |
III 1 l| Irrr | |
1 |
- | ||
MOV Rn,adr |
Rnc=(adr) |
11 0 1 0| Irrr || |
adr |
2 |
- | |
MOV Rn.tfdana |
Rn<=#dana |
iOllllirrrl |
dana |
1 |
- | |
MOV adr,A |
(adr)c=A |
1 1 1 lloioil |
adr |
1 |
- | |
MOV adr,Rn |
(adr)c=Kn |
1 000 | I rrr | |
adr |
2 |
- | |
MOV adr2,adr1 |
(adr2)<=.(adrl) |
1 00010 1 0 l| |
adrl |
2 |
- | |
adr2 | ||||||
MOV adr.SKi |
(adr)c=(Ri) |
11 0001 0 1 III |
adr |
2 |
- | |
MOV adr,#dana |
(adr)c=»dana |
|0 1 1 1 to I0 11 |
adr |
2 |
* | |
dana | ||||||
MOV @Ri,A |
(Ri)<=A |
11 1 1 11 0 l 1 i 1 |
1 |
- | ||
MOV ©Ri.adr |
(Ri)<=(adr) |
11 0 1 010 1 1 i |
2 |
- | ||
MOV GRi,#dana |
(Ri)cr#dana |
|01 11|0 1 1 i 1 dwu |
1 |
- | ||
MOV DPTR,#dana_16 |
DPTRc=tfdana_l6 |
11 0 0 110000 |
dana.l6„ , |
2 |
- • | |
dana.16,0 | ||||||
MOVC A,@A+DPTR |
Ac=(A+DPTR)ęode |
11 00 1 loo 1 1 |
2 |
P | ||
MOVC A,®A+PC |
Ad(A+PC)ęłXie |
liooolooi 1 |
2 |
P | ||
MOVX A.@Ri |
Ac(P2iRi)XData |
11 1 1 01001 i |
• |
2 |
P | |
MOVX A,@DPTR |
Acz(DIrfR)xData |
|i i io[oooo| |
2 |
P | ||
MOVX @Ri,A |
(I>2±Ri)XDatac=A |
II 1 1 11 00 i |
2 |
- | ||
MOVX ©DFTR.A |
(DIyTR)XDatac=A |
ll 1 1 I looool |
2 |
- | ||
PUSH adr |
(SP)cz(adr) |
(1 1 0 0 10 0 0 0II adr |
2 |
, - | ||
SPc3P+2 | ||||||
1*01* adr |
(adr)c(SP) |
11 1 0 1 i 00001| adr 1 |
2 |
- | ||
SPcrSP-2 | ||||||
XCH A.Rn |
AoRn |
11I00| Irrr |
1 |
P | ||
XCH A,adr |
Ac=>(adr) |
11'! C-i jo 1 00II adr |
J |
1 |
P | |
XCH A,©Ri |
A<r>(Ri) |
|l 100(01 1 |
] •• |
t |
P | |
XCHD A.ORi |
A3-.Ao<=>(Ri)3..0 |
11 1 01|0 1 Ił |
] |
1 |
1’ |
• obszar 30H..7FH przewidziany jest do zastosowań ogólnych, np przechowywania danych", wydzielenia jako stos itp Dostęp do lego obszaru możliwy jest jedyniebajto.wo.
Obszar wewnętrznej pamięci RAM o adresach 80H..0FFH zorganizowany jest różnie w zależności od typu procesora. W procesorach 8051/31 dostępny jest jeden segment 123-bajtowcj pamięci, a w procesorach 8052/32 i nowszych dostępne są dwa segmenty pamięci. Oba rozwiązania przedstawiono na rysunku 2-3.
OFFH |
Rejestry |
OFFH |
Rejestry |
VVewnętrzna |
BOH |
specjalne SFR |
80H |
speqalne SFR |
pamięć RAM |
7FH
7FH
Wewnętrzna pamięć RAM
mikroprocesor 8051 /31
Wewnętrzna pamięć RAM
mikroporccsor 8052/32,80(0515 itp
Rys. 2-3 Struktura wewnętrznej pamięci RAM mikroprocesorów
Rozróżnienie obu segmentów pamięci w procesorach 8052/32 i następnych dokonywam-jest przez zmianę trybu adresowania. Segment zawierający rejestry specjalne (SFR) dostępny jest tylko dzięki zarysowaniu bezpośredniemu, a segment pamięci RAM ogólnego przeznaczenia można adresować tylko w sposób pośredni. Poniżej przedstawiono oba sposoby adresowania:
• adresowanie bezpośrednie:
MOV 0E0H,#5AH lub
;(0E0H) <= 5AH, wpisz do komórki o adresie OEul I ; wartość 5AH będącą drugim bajtem instrukcji
MOV ACC,#5AH ;ACC c= 5AH, wpisz do ACC wartość 5AH • adresowania pośrednie:
MOV R0.#<)E0H ;R0 <- OF.DH. wpisz do rejestru RO wartość liEOH
MOV @R0,#5AH ;(R0) c= 5AH, wpisz do komórki o adresie zawartym
;w rejestrze RO wartość 5A11
Mikrokontroler 80{C)51 - programowanie