110 Opis rozkazów
Przy adresowaniu pośrednim, które występuje w jednobajtowym rozkazie JMP @A + DPTR, 8-bitowa zawartość akumulatora, dodawana do zawartości rejestru DPTR, jest traktowana jako liczba dwójkowa bez znaku (z zakresu 0...255).
Opis rozkazów
W niniejszm rozdziale opisano dokładnie wszystkie rozkazy mikrokomputerów rodziny MCS-51. Zestawiono je w kolejności alfabetycznej mnemoników. Poza oznaczeniami rejestrów, argumentów i adresów, takimi jak w punkcie 1.2.3, przyjęto:
<r) - miejsce pobrania argumentu i zapisania wyniku operacji,
<s> - miejsce pobrania drugiego argumentu operacji,
<br> - rejestr bazowy,
<dp> - wskaźnik danych,
@ - w mnemoniku poprzedza adres pośredni,
# - w mnemoniku poprzedza argument bezpośredni,
ACALL adrl 1 (ang. subroutine cali on page)
skocz do podprogramu na stronie
Operacja: PC PC + 2 SP «- SP + 1 (SP) <- PC7-0 SP «- SP + 1 (SP) 4- PCl5-8 PCuw> «- adrii
Kod:
aio a9 as 1
a7
0 0 0 1
ao
UH, 31H, 51H, 71H 91H, B1H, D1H, F1H
Zawartość licznika rozkazów zwiększona o 2 przy pobraniu rozkazu jest ładowana na stos (pierwszy bajt mniej znaczący); zawartość wskaźnika stosu jest zwiększana o 2, a do bitów 0-10 licznika rozkazów jest wpisywany 11-bitowy adres bezpośredni Pięć bardziej znaczących bitów licznika rozkazów nie zmienia się. Skok do podprogramu wykonuje się pod adres na tej stronie (o pojemności 2K), na której jest umieszczony pierwszy bajt rozkazu następnego po ACALL.
ADD A, (s) (ang. add to accumuiator) dodaj do akumulatora
Do zawartości akumulatora jest dodawany wskazany argument, a wynik jest wpisywany do akumulatora. Zgodnie z wynikiem operacji są ustawiane znaczniki: CY, AC i O V. Są możliwe cztery tryby adresowania argumentu <s>.
ADD A,Rr
Operacja: A ♦- A + Rr gdzie Rr = R0,..., R7 (z ustawionego w danej
chwili zbioru)
Kod; 10 0 1 0 I 1 n n ml 28H-2FH
Liczba cykli: 1
ADD A, @Ri
Operacja: A <- A + (Ri) gdzie Ri = R0, R1 (z ustawionego w danej
chwili zbioru)
26H, 27H
Kod: 10 0 1 0 I 0 lTT
Liczba cykli: 1
ADD A^d
Operacja: A <- A + (ad)
Kod:
0 0 10 |
0 10 1 |
a7 |
ao |
25H
Liczba cykli: 1