18

18



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 postaci:    •

MOV A.fLiczba    ;A <= Liczba - BOH =»-128D, liczba ujemna

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

;prześlij bit A7 do znacznika przeniesienia (O t    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 tetrad akumulatora, wymiana dokonywana jest między bitami A7.4 i A3j). Przykład ilustruje wykorzystanie tej instrukcji przy zamianie liczby z postaci binarnej na postać BCD i założeniu, że liczba dodatnia mieści się w zakresie 0..99D, np.Liczba=4CH»76D:

MOV

A.fLiczba

MOV

B,#10D

DIV

AB

SWAP

A

ADD

A.B


A c= zamieniana liczba w postaci binarnej

B<=10D

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

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

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

A “ 7 = 0000 0111B B = 6 - 0000 0110B

a7..4 0 a3..0-

a7..4 <= dziesiątki, A3..0 <= 0

A - 70H - 0111 OOOOB A <= A +• B, dodanie jedności do dziesiątek

W podanym poniżej pełnym zestawie instnikcji logicznych, w przykładach ilustrujących sposób wykorzystania instrukcji 'and', ’or i 'xor wprowadzono pojęcie maski. Wykonywane operacje dotyczą zerowania, ustawiania i negacji 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ści zerowe. Przykładowo wykonując wybraną operację dla bitów: 2, 3 i 6 maska ma następującą postać

ty    b6    b5    b4 b3    b2    bj    b0

maska -1 0    1    0    0 I 1    1    0    0    1

Opis działania: -    >

Dodanie do zawartości ąkuippiatora (ki 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.

Rł = RO lub Rl,


• 8 bitowej danej.

Wynik dodawania przesiany jest do akumulatora A.

Znacznik przeniesienia (O sygnalizuje przekroczenie zakresu liczb całkowitych bez ; znaku (0..255), a znacznik nadmiaru (OV) 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 c= 3211,

RO adresuje argument 1

MOV

R1,#42H

;R1 c=42H,

Rl adresuje argument 2 i wynik

MOV

R2,#3

;R2 <= 3,

R2 licznikiem dadawanych bajtów

CLR

C

;C c: 0,

znacznik C zerowany


Pętla:


MOV

A.@KO

Ac= (RO),

AD DC

A,@R1

Ac= A + C + (Rl),

MOV

6)R1,A

(Rl)<= A,

DEC

RO

R0<= RO -1,

DEC

Rl

Rl<= Rl -1.

DJNZ

R2,Petla

R2<= R2 -1,


przy dodawaniu najmniej znaczących bajtów początek powtórzenia części programu kolejne bajty argumentu l .kolejne bajty argumentu 2 przesłanie wyniku przygotowanie do dodawanij 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 nu.* poprawna wartość
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
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

więcej podobnych podstron