16

16



6 Instrukcje logiczne 57

W akumulatorze znajduje się wartość 40H«*64D. a nie poprawna wartość 0CGH»-64D. Uwzględniając także ujemne liczby całkowite przytoczony program dzielenia binarnego należy zmodyfikować do postad:    !

MOV A.lLiczba    ;A c= Liczba » 80H =» -128D, liczba ujemna

MOV C.ACC.7    ,C c= A7,

;prześlij bit A7 do znacznika przeniesienia (O *    RRC A    ;A»OCOH»-64D

;zawartość akumulatora przesuń logicznie ;w prawo o jedną pozycję,

Stan akumulatora zgodny jest z oczekiwaniami.

Ostania przedstawiona w tabeli 6*1 instrukcja SWAP A związana jest z wymianą obu tctrad akumulatora, wymiana dokonywana jest między bitami A7.4 i A3 q. Przykład ilustruje wykorzystanie tej instrukcji przy zamianie liczby z postad binarnej na postać BCD i założeniu, że liczba dodatnia mieśa się w zakresie 0..99D, np.Liczba=»4CH»76D:

MOV A,#Liczba    ;A e= zamieniana liczba w postad binarnej

MOV B,tflOD    ;B c= 10D

A = 4CH ■ 0100 U00B B = 10D= 0000 101 OB

DIV AB


A c= lnt(A/B) » 0..9, dziesiątki,

B <= Mod(A/B) = 0..9, jednośa

A = 7 a 0000 0111B B = 6 = 0000 0110B

SWAP A


A7..4 » A3..0,

A7..4 c= dziesiątki, A3, o c= 0

ADD A,B


A-70H-0111 000GB A <= A ♦ B, dodanie jednośd do dziesiątek

W podanym poniżej pełnym zestawie instrukcji logicznych, w przykładach ilustrujących sposób wykorzystania instrukcji 'and', 'or i ’xor’ wprowadzono pojęae maski. Wykonywane operacje dotyczą zerowania, ustawiania i negaqi wybranych bitów. Maska traktowana jest jako zmienna 1 bajtowa, w której wartośd jedynki logicznej, występują na pozycjach tych wyróżnionych bitów, a pozostałe bity mają wartośd zerowe. Przykładowo wykonując wybraną operację dla bitów: 2. 3 i 6 maska ma następującą postać

b7    b6    b5    b4 b3    b2    bj    b0

maska = | 0    1    0    0    | 1    1    0    0    |

Opis działania:    A'

Dodanie do zawartości akumulatora znacznika przeniesienia (C) i zawartości:

•    rejestru Rn, Rn*R0..R7,

•    komórki wewnętrznej pamięci RAM adresowanej bezpośrednio adresem adr,

•    komórki wewnętrznej pamięd RAM adresowanej pośrednio rejestrem Ri.

Ri * RO lub Rl,

•    8 bitowej danej.

Wytoik dodawania przesłany jest do akumulatora A.

Znacznik przeniesienia (O sygnalizuje przekroczenie zakresu liczb całkowitych bez ; znaku (0..255), a znacznik nadmiaru (0V) przekroczenie zakresu liczb całkowitych ze znakiem (-128..+127).

Przykład:

Obliczenie sumy dwóch 3-bajtowych zmiennych zawartych w:

-* argument 1 w komórkach pamięd o adresie 30H (najbardziej znaczący bajt) i 32H (najmniej znaczący bajt),

-* argument 2 w komórkach pamięd o adresie 40H (najbajt bardziej znaczący) i 42H (najmniej znaczący bajt).

Wynik dodawania przesiany w miejsce drugiego argumentu.

Add_3:

MOV

MOV

MOV

CLR

Pętla:


R0,#32ł I R1,#42H R2,#3 C


RO <= 32H, RO adresuje argument 1 Rl c= 42H, Rl adresuje argument 2 i wynik R2 c= 3,    R2 licznikiem dadawanych bajtów

CcO,    znacznik C zerowany

MOV

A,©RO

Ac= (RO),

ADDC

A,@R1

A<= A + C + (Rl),

MOV

®Rl,A

(Rl)c= A,

DEC

RO

R0c= RO -1,

DEC

R1

Rlc= Rl -1,

DJNZ

R2, Pętla

R2c= R2 - 1.


przy dodawaniu najmniej znaczących bajtów początek powtórzenia częśd programu kolejne bajty argumentu 1

przesianie wyniku przygotowanie do dodawaniu kolejnych

bajtów obu argumentów jeśli R2*0 to powtórzenie pętli procedury dodawania


Wyszukiwarka

Podobne podstrony:
16 6 Instrukcje logiczne 57 W akumulatorze znajduje się wartość 40H»*64D. a nie poprawna wartość 0C
18 6, Instrukcje logiczne 57 W akumulatorze znajduje się wartość 40H=+64D, a nu.* poprawna wartość
18 6. Instrukcje logiczne 57 W akumulatorze znajduje się wartość 40H=+64D, a nie poprawna wartość 0
14 6. Instrukcie logiczne 59 iloczyn przesyłany jest do akumulatora (A), • komórki wewnętrznej pami
10 6. Instrukcje logiczne 63 wynik operacji przesyłany jest do akumulatora (A). • komórki wewnętrzn
10 6. Instrukcję logiczne 63 wynik operacji przesyłany jest do akumulatora (A). • komórki wewnętrzn
12 o Instrukcje logiczni 61 wynik operacji przesyłany jest do akumulatora, • komórki wewnętrznej pa
golf2 Pomoc własna Pomoc własna A - Akumulator wyładowany B - Akumulator naładowany Akumulator znaj
Instrukcja obslugi COLT CZ5 (7 rpkt sebowfca-chłodni (B) znajdujące się w dręcznym w położeniuWAGA
14 6. Instrukcje logiczne 69 SWAP A Swap Accumulator Nibblęs Działanie:A7..4 o A3..0 Adresowanie
golf4 Konserwacja - przeglądAkumulator Akumulator znajduje się z lewej strony pod klapę przedmę Poz
16 7 Instrukcje skoków i wywołań podprogramów 77 Przykład 2: Lcd On: Dalej: Jeśli do wyjścia portu

więcej podobnych podstron