11

11



$ Instrukcje arytmetyczne

Dec DPTR:

MOV A.DI’L    ;A c= (DPL), mniej znaczący bajt rejestru DPTR

CI-R    C    ;CeO

SUIM    A,#l    ;A <=A * C -1,    dekrcmentacja    mniej

;    znaczącego bajtu rejestru DPTR

MOV    DPUA    ;(DPL) c= A

JNC Dalej    ;jeśli C=0 to skok do etykiety (adresu) Dalej,

;C=l oznacza pożyczkę i konieczna jest dekrementa-•    ;cja bardziej znaczącego bajtu rejestru DPTR

DEC    DI’H    ;(DPH) <= (DPH) -1, dekrementacja    bardziej

;    znaczącego bajtu rejestru DPTR

Dalej:........................... ;dalsza część programu

DIV AB


Orintimir:


Divide Accumulator by B

A «= Int (A / B)

B <= Mod (A / B)

Aiłreamiwtie:    Mnemonik:    Struktura bajtów:    Cykle

_.    _rnmyrtowc

rejestrowe:    DIV AB    | 1' 0 0 OjO.l 0    0~|    4

Znaczniki:    C. OV, P

Opia działania:

Dzielenie H-bitowych liczb całkowitych bez znaku. Dzielna zawarta jest w akumulatorze (A), a dzielnik rejestrze B. Iloraz przesyłany jest do akumulatora (A), a reszta z dzielenia do rejestru B.

Znaczniki C i OV przyjmują następujące wartośd:

c; = ci

OV = 1 w przypadku próby dzielenia przez zero (stan rejestrów A i B jest nieokreślony),

OV = 0 jeśli dzielenie przebiegło prawidłowo

Mikrokontroler 80(C)5I - programowanie

Przykład I:

Dzielenie zawartości akumulatora (A = 251D) przez zawartość rejestru B (U = 18D): Div_AB:

~MOV A,#251D    ;A <=251D, dziesiętnie, 251 »(13 • 18) + 17

MOV B,#18D    ;B c= 18D, dziesiętnie

DIV

AB ;A <= Int (251 / 18) = 13, B <= Mod (251 / 18) - 17 ;wartośd znaczników. C = 0, OV =0, P = 1

Przykład 2:

Zamiana Liczby w kodzie szostnaslkowym z przedziału 0..99 na Bczbę w kodzie BCD:


Hex_BCD_99:

MOV A,#Liczba    ;A <= Liczba w kodzie szesnastkowym, np 5FH = 95

MOV B,#10    ;Bc=10

DIV

AB ;A <= InK5FH/10) = 9 jest liczbą dziesiątek, ;B <= Mod(5FH/10) = 5 jest liczbą jednośd

MUL AB

Multiply Accumulator by B

Działanie:

BA <= A • B

Adresowanie

Mnemonik: Struktura bajtów: Cykle

maszynowe

rejestrowe:

MUL AB ‘ 1 0 1 0 | 0 1 0 0 | 4

Znaczniki:    C, OV, P

Opis działania:

Mnożenie 8-bitowych liczb całkowitych zawartych w akumulatorze (A) i rejestrze B. Bardziej znacząca część wyniku przesyłana jest do rejestru B, a część mniej znacząca do akumulatora (A).

Znaczniki C i OV przyjmują następujące wartośd:

C = 0

OV = 1 jeśli iloczyn jest liczbą większą od 255, tzn. zawartość rejestru B jest

niezerowa.

OV = 0 jeśli warunek nie jest spełniony.

Mikrokontroler 80<C)5l - programowani©



Wyszukiwarka

Podobne podstrony:
11 51 Instrukcje arytmetyczne Dec. DPTR: MOV A.DPL CI-R C sunn a,#i MOV DrL.A jNC Dalej DEC
13 3. Instrukcje arytmetyczne 43 3. Instrukcje arytmetyczne 43 Suma R4R5 R6R7: MOV A.R4 ADD A.
10 5 instrukcje arytmetyczne 53 Przykład: Mnożenie dwóch stałych o wartościach lfiD i 29D: Mul Ali:
13 5. Instrukcje arytmetyczne 43 5. Instrukcje arytmetyczne 43 Suma K4R5 R6R7: MOV A.R4 ADD A.
15 5 Instrukcje arytmetyczne 45 ADD A,#12H A.R7 ADDC A.D MOV R0J80H MOV SRO.A ;Ac= 12H ;A<=
17 5. Instrukcje arytmetyczne 47 INC argument Increment Działanie: A <= A +1 Rn c= Rn + 1 (
19 S Instrukcje arytmetyczne 49 Opis działania: Odejmowanie od zawartości akumulatora (A) znacznika
15 5 Instrukcje arytmetyczne 45 ;Ac= 12H ;A<= A ♦ R7 = 7AH .znaczniki: C*0, AC»0, OV*0, P»l ADDC
11 4. Instrukcje hakowej wymiany danych 31 Adresowanie:
11 •1 Instrukcje bajtowej wymiany danych
01 mm Rys, 10.9. Zależność wielkości wgięcia katodowego krzywej dE/di = /(£) zdenaturowanego DNA od
ROZDZIAŁ I PRZEDMIOT I ZAKRES INSTRUKCJI KANCELARYJNEJ §1 1.    Instrukcja kancelaryj
11 5. Instruktaż na. stanowisku roboczym i nadzór 231 czasem na szereg dni pracy, podczas których s

więcej podobnych podstron