14

14



6. Instrukcje logiczne


69


SWAP A


Swap Accumulator Nibblęs

Działanie:


A7..4 o A3..0

Adresowanie Mnemonik: -    Struktura bajtów:    Cykle    Znacz-

maszynowe:    niki:

rejestrowe:    SWAP A    | 1    1    0 0 | 0 1    0 0 |    1

Opis działania:

Wzajemna wymiana czterech bardziej znaczących bitów akumulatora A7 4 z czterema mniej znaczącymi bitami akumulatora A3 #q. Sytuację tę przedstawiono na rysunku:


Przykład:

Instrukqa SWAP A jest równoważna 4 instrukcjom RL A lub RR A.

Przestawianie cyfr w 1-bajtowej liczbie zapisanej w kodzie BCD zawartej w komórce wewnętrznej pamięci RAM o adresie adn

Swap.Bcd:

MOV

A.adr

;A «= (adr), np. (adr) = 69H = 0110 1001B

SWAP

A

;A7..4 <=> A3..0, A = 96H = 1001 0110B

MOV

adr, A

;(adr) c= A


lub

Bcd:

MOV

A.adr

;A c= (adr).

np. (adr)-69H =011010018

RR

A

.przesuwanie

A -0B4H = 1011 0100B

RR

A

.akumulatora

A = 5AH = 0101 1010B

RR

A

;w prawo

A = 2DH = 0010 1101B

RR

A

.cztery razy

A-96H = 1001 0110B

MOV

adr.A

;(adr) c= A

\

Mikrokontroler 80<C)S1 - programowanie

A Instrukcje bajtowi wymiany dartyęh '    _5^

Przykład:

<

* V ^

Zachowanie

na stosie zawartości rejestru R2 w trzecim banku (RB3) • adres UH

komórki wewnętrznej pamięci RAM o adresie 34H i zawartości portu Pl:

Push_R2_Adr_Pl:

MOV

SP,#3FH

£P«=3FH.

; stosem jest wewnętrzna pamięć RAM ; adresowana pośrednio, pierwsza wolna

; * komórka stosu ma adres 80H *

PUSH

13H

;SP <= SP +1 = 40H, (SP) c= (13H), adresowanie ; rejestrów tylko przez bezpośrednie adresy

. PUSH

34H

;SP<=SP + 1 = 41H. (SP) c= (34)

PUSH

Pl

;SP<= SP + 1 = 42H, (SP) c= (Pl) - (80H),

r . ;

; w miejsce symbolu Pl asembler podstawia ; adres 80H

POP adr

1

Pop Direct from Stack

Działanie:.

(adr) c= (SP)

SP c= SP • 1

Adresowanie:

Mnemonik: Struktura bajtów:

Cykle Znacz■

maszynowe: mki:

bezpośrednie:    POP adr

I 1 1 0 1 | 0 0 0 | 0

adr

') Znaczniki nie są zmieniane z wyjątkiem instrukcji modyfikującej akumulator A i rejestr stanu procesora (PS W), np. POP PS W.

Opis działania:

Przesłanie zawartości komórki wewnętrznej pamięci RAM adresowanej wskaźnikiem stosu (SP, adresowanie pośrednie) do komórki wewnętrznej pamięci RAM o podanym w drugim bajcie instrukcji adresie adr (adresowanie bezpośrednie). Zmniejszenie wskaźnika stosu (SP) o jeden.

Przykład:

Jeśli wskaźnik stosu SP - 82H i w komórkach pamięci RAM adresowanej pośrednio o adresach 80..82M zawarte są wartości: 12H, 34H, 56H to wykonanie programu:

MikroŁnnffol**' 9(VO<'


Wyszukiwarka

Podobne podstrony:
14 6. lnstrukgc logiczne 69 6. lnstrukgc logiczne 69 SWAP A Swap Accumulator Nibblęs Działanie: A7.
14 6. Instrukcie logiczne 59 iloczyn przesyłany jest do akumulatora (A), • komórki wewnętrznej pami
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ść
16 6 Instrukcje logiczne 57 W akumulatorze znajduje się wartość 40H«*64D. a nie poprawna wartość 0C
14 7 Instrukcje skokow i wywołań podprogramów 79 CJNE argument_l,axgument_2,adres Compare and Jump
14 8 Instrukcje modyfikacji buow 89 8 Instrukcje modyfikacji buow 89 CLR bit Clear Bit Działanie: C
14 7 Instrukcje skokow i wywołań podprogramów 79 CJNE argument_l.argumenl_2,adres Compaie and Jump
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
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

więcej podobnych podstron