6. Instrukcje 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 I:
Ą 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 Oear Accumulator
Działanie: AcO
Adresouunic Mnemonik Struktura bajtów: Cykle Znacz-
_ maszynowe niki:
rejestrowe: CLR A
P
Opis działania:
Zerowanie wszystkich bitów akumulatora j znacznika parzystości (P) w rejestrze słowa statusowego (PSW).
Mikrokontroler 80fCl5t - orooramowame
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-błtów o bajt zerowy.
só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 ;DPTR c= 3CDFH
MOV A,#85H . ;A c=85H
MOV A,©A+DPTR ;A <= (A + DPTR) = (3D64H)
00111100 1101 HUB 1000 0101B
0000 0000
DPTR ■ 3CDFH-A - 85 H =
znakowe rozszerzenie A »
@A + DPTR = 3D64H =
0011 1101 0110 0100B
iana 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.
i
Wykorzystanie rozkazu MOVC A,OA+DPTR:
Hex_Asdi_Dptr:
ANL A,#0FH ;A c= A and 0F11,
;zcrowanie czterech bardziej znaczących bitów
MOV DPTR,#Tab„Ascit
MOVC A,@A+DPTR ;A <= (A ♦ DPTR). z pamięci kodu programu SJMP Dalej ;omintęde tablicy Tab_Ascii
Tab_ASdi:
;deklaracja tablicy kodów ASCII
DB
DB
30H31 H^2H,33H^4H^5H,36H 1
38H,39H,41H,42H.43H,44H,45H.46H
Dalej:
;dalsza część programu
MiVrnVr>n(rr.lrr