6. Instrukcję logiczne 63
wynik operacji przesyłany jest do akumulatora (A).
• komórki wewnętrznej pamięci RAM adresowanej bezpośrednio adresem adr z: -+ zawartością akumulatora (A),
-» 8-bitową daną
wynik operacji przesyłany jest do komórki wewnętrznej pamięci RAM o adresie adr.
Przykład J:
-f Negacja logiczna bitów akumulatora: A7, A3 i A#
Maska DB 10001001B .-jedynka logiczna na pozycji negowanego bitu Xrl_R4:
XRL A.SMaska ;A <= A xor Maska
A» 11011011B maska = 10001001B A xor maska = 0101 0010B
Przykład 2:
Zerowanie akumulatora:
Xrl_A:
XRL A.0E0H ;Ac= A xor (0E0H), akumulator ma adres 0E0H
CLR A |
Clcar Accumulator | ||
Działanie |
AcO | ||
Adresowanie |
Mnemonik: Struktura bajtów: |
Cykle Znacz- | |
maszynowe niki: | |||
rejestrowe: |
CLR A - 1 |
1 1 0 | 0 |
1 0 ,0 1 P |
Opis działania: | |||
Zerowanie |
wszystkich bitów akumulatora |
znacznika parzystości (P) w rejestrze | |
słowa statusowego (PSW). |
Mikrokontroler 80<Cl5l - ornaramowamc
W trakcie obliczania adresu zawartość akumulatora (A) traktowana jest jako liczba całkowita bez znaku. Ze względu na 16-bitową długość wskaźnikowego rejestru danych (DPTR) lub licznika rozkazów (PO, 8-bitowy akumulator (A) rozszerzany jest znakowo do 16-bitów o bajt zerowy.
«/^5posób obliczanie 16-bitowego adresu jako złożenia 8-bitowej wartości akumulatora (A) i 16-bitowej wartości wskaźnikowego rejestru danych (DPTR):
MOV DPTR,#3CDFH ;DPTRc=3CDFH
MOV A.#85H . ;A c=85H
MOV A.GA+DPTR ;A <= (A + DPTR) = (3D64H)
DPTR - 3CDFH- 0011 1100 1101 1111B A- 85H = 1000 0101B
znakowe rozszerzenie A =_0000 0000_
@A + DPTR = 3D64H = 0011 1101 0110 0100B
'g Zamiana liczby zapisanej w kodzie szestnastkowym na kod ASCII z wykorzystaniem tablicy kodów ASCII. Tłumaczone są cztery mniej znaczące bity akumulatora, a wynik tłumaczenia znajduje się w akumulatorze.
Wykorzystanie rozkazu MOVC A,@ A+DPTR:
ANL A,#0FH ;A c= A and 0R1.
;zcrowanie czterech bardziej znaczących bitów MOV DPTR,#Tab_Ascii
MOVC A,@A+DPTR ;A <= (A + DPTR ). z pamięci kodu programu SJMP Dalej ;ominięde tablicy Tab_Ascii
Tab_Aśdi: ;deklaracja tablicy kodów ASCII
DB 30H31H,32H,33H,34H,35H,36H,37H DB 38H,39H,41H,42H,43H,44H,45H.46H
Dalej: —................................. ;dalsza część programu
MtVro\rr>n*r^l»-r