18

18



6, Instrukcje logiczne 57

W akumulatorze znajduje się wartość 40H=+64D, a nu.* poprawna wartość 0CQH«*-64D. Uwzględniając także ujemne liczby całkowite przytoczony program dzielenia binarnego należy zmodyfikować do postaci:

MOV A.tfLiczba    ;A <= Liczba ■ BOH =* -128D, liczba ujemna

MOV C.ACC7    ,C <= A7,

;przc$lij bił A7 do znacznika przeniesienia (O t    RRC A    ;A ■ OCOH ■ -64D

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

Stan akumulatora 2godny jest z oczekiwaniami.

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

MOV

A,#Liczba

MOV

B,#10D

DIV

AB

SWAP

A

ADD

A.B


A c= zamieniana liczba w postać binarnej <= 10D

A = 4CH = 0100 1100B B =» 10D =» 0000 1010B

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

3 <= Mod(A/B) * 0..9, jedność

A “ 7 = 0000 0111B B = 6 -0000 011 OB

A7..4 » a3..0-

A7..4 c= dziesiątki, A3^0 <= 0

A = 70H = 0111 0O00B A <= A ♦ B, dodanie jedność do dziesiątek

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

*>7    b6    b5    b4 *>3    *2    bl    b0

maska ■ | 0    1    0    0 I 1    1    0    Q~~1

V.    i

Opis działania:

Dodanie do zawartości ąkuifyłiatora ifo znacznika przeniesienia (C) i zawartości:

•    rejestru Rn, Rn»R0..R7,

•    komórki wewnętrznej pamięd 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.

Wynik dodawania przesłany jest do akumulatora A.

Znacznik przeniesienia (C) 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 przesłany w miejsce drugiego argumentu.

Add 3:

MOV

R0,#32H

;R0 <= 3211,

RO adresuje argument 1

MOV

R1.#42H

;K1 c=42H,

Rl adresuje argument 2 i wynik

MOV

R2,#3

;R2 g 3,

R2 licznikiem dadawanych bajtów

CU

C

;C g 0,

znacznik C zerowany

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


Pętla:


MOV

A.@KO

Ag (RO),

AD DC

A,@R1 .

Ag A + C + (Rl),

MOV

®R1,A

(R1)g a.

DEC

RO

R0c= RO -1,

DEC

Rl

R1g Rl -1,

DJNZ

R2,Petla

R2g R2 -1,


przesłanie wyniku przygotowanie do dodawaniu kolejnych

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


Wyszukiwarka

Podobne podstrony:
18 6. Instrukcje logiczne 57 W akumulatorze znajduje się wartość 40H=+64D, a nie poprawna wartość 0
16 6 Instrukcje logiczne 57 W akumulatorze znajduje się wartość 40H»*64D. a nie poprawna wartość 0C
16 6 Instrukcje logiczne 57 W akumulatorze znajduje się wartość 40H«*64D. a nie poprawna wartość 0C
18 6 Instrukcje logiczne 65 6 Instrukcje logiczne 65 Ncg_2_ Liczba: MOV R0,IM8H MOV R3,#2 Pla
18 6 Instrukcje logiczne 65 6 Instrukcje logiczne
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
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

więcej podobnych podstron