lista rozkazowh000


 MIKROPROCESOR MOTOROLA MC68000

0x01 graphic
Lista rozkazów

ADD i SUB

ADD op1,Dn

Dodaje operand źródłowy do rejestru danych.

ADD Dn,op2

Dodaje rejestr danych do operandu docelowego.

SUB op1,Dn

Odejmuje operand źródłowy od rejestru danych.

SUB Dn,op2

Odejmuje rejestr danych od operandu docelowego.

Rozmiar: B,W,L.

Ustawiane flagi

X

N

Z

V

C

+

+

+

+

+

Tryby adresowania dla op1

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

+

+

+

+

+

+

+

+

+

+

+

+

Tryby adresowania dla op2

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

-

-

+

+

+

+

+

+

+

-

-

-

ADDA i SUBA

ADDA op1,An

Dodaje operand źródłowy do rejestru adresowego.

SUBA op1,An

Odejmuje operand źródłowy od rejestru adresowego.

Rozmiar: W,L.

Flagi nie są zmieniane.

Tryby adresowania dla op1

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

+

+

+

+

+

+

+

+

+

+

+

+

ADDI i SUBI

ADDI #x,op1

Dodaje stałą do operandu docelowego.

SUBI #x,op1

Odejmuje stałą od operandu docelowego.

Rozmiar: B,W,L.

Ustawiane flagi

X

N

Z

V

C

+

+

+

+

+

Tryby adresowania dla op1

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

+

-

+

+

+

+

+

+

+

-

-

-

AND i OR

ADD op1,Dn

Wykonuje iloczyn logiczny operandu źródłowego z rejestrem danych (wynik w rejestrze danych).

ADD Dn,op2

Wykonuje iloczyn logiczny rejestru danych z operandem przeznaczenia (wynik w operandzie przeznaczenia).

OR op1,Dn

Wykonuje sumę logiczną operandu źródłowego z rejestrem danych (wynik w rejestrze danych).

OR Dn,op2

Wykonuje sumę logiczną rejestru danych z operandem przeznaczenia (wynik w operandzie przeznaczenia).

Rozmiar: B,W,L.

Ustawiane flagi

X

N

Z

V

C

-

+

+

0

0

Tryby adresowania dla op1

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

+

-

+

+

+

+

+

+

+

+

+

+

Tryby adresowania dla op2

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

-

-

+

+

+

+

+

+

+

-

-

-

EOR

EOR Dn,op1

Wykonuje działanie różnicy symetrycznej (sumę mod 2) rejestru danych z operandem przeznaczenia (wynik w operandzie przeznaczenia).

Rozmiar: B,W,L.

Ustawiane flagi

X

N

Z

V

C

-

+

+

0

0

Tryby adresowania dla op1

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

+

-

+

+

+

+

+

+

+

-

-

-

ANDI, ORI i EORI

ANDI #x,op1

Wykonuje iloczyn logiczny stałej z operandem docelowym.

ORI #x,op1

Wykonuje sumę logiczną stałej z operandem docelowym.

EORI #x,op1

Wykonuje działanie różnicy symetrycznej (sumę mod 2) stałej z operandem docelowym.

Rozmiar: B,W,L.

Ustawiane flagi

X

N

Z

V

C

-

+

+

0

0

Tryby adresowania dla op1

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

+

-

+

+

+

+

+

+

+

-

-

-

ASL

ASL #x,DN

Przesuwa arytmetycznie bity rejestru danych w lewo o stałą (od 1 do 8 włącznie).

ASL DM,DN

Przesuwa arytmetycznie bity rejestru danych DN w lewo o liczbę zawartą w rejestrze danych DM.

ASL op1

Przesuwa arytmetycznie bity operandu przeznaczenia w lewo o 1.

Rozmiar: B,W,L. Dla operandu docelowego znajdującego się w pamięci tylko W.

Ustawiane flagi

X

N

Z

V

C

+

+

+

+

+

Tryby adresowania dla op1

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

-

-

+

+

+

+

+

+

+

-

-

-

ASR

ASR #x,DN

Przesuwa arytmetycznie bity rejestru danych w prawo o stałą (od 1 do 8 włącznie).

ASR DM,DN

Przesuwa arytmetycznie bity rejestru danych DN w prawo o liczbę zawartą w rejestrze danych DM.

ASR op1

Przesuwa arytmetycznie bity operandu przeznaczenia w prawo o 1.

Rozmiar: B,W,L. Dla operandu docelowego znajdującego się w pamięci tylko W.

Ustawiane flagi

X

N

Z

V

C

+

+

+

0

+

Tryby adresowania dla op1

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

-

-

+

+

+

+

+

+

+

-

-

-

BCC

Bcc etykieta

Skocz do etykiety, gdy spełniony zostanie warunek.

BCC - carry skasowany; C=0.

BSC - carry ustawiony; C=1.

BEQ - równy; Z=1.

BGE - większy lub równy; (N=1 i V=1) lub (N=0 i V=0).

BGT - większy; (N=1 i V=1 i Z=0) lub (N=0 i V=0 i Z=0).

BHI - wyższy; C=0 i Z=0.

BLE - mniejszy lub równy; Z=1 lub (N=1 i V=0) lub (N=0 i V=1).

BLS - niższy lub taki sam; C=1 lub Z=1.

BLT - mniejszy; (N=1 i V=0) lub (N=0 i V=1).

BMI - ujemny; N=1.

BNE - różny; Z=0.

BPL - dodatni; N=0.

BVC - overflow skasowany; V=0.

BVS - overflow ustawiony; V=1.

BRA - zawsze; skok bezwarunkowy.

Rozmiar: B,W.

Flagi nie są zmieniane.

Jedynym dozwolonym trybem adresowania jest stała (rozmiaru bajtu lub słowa) względem licznika rozkazów.

BCHG, BCLR i BSET

BCHG #x,op1

Testuje i zmienia na przeciwny bit operandu docelowego o numerze określonym stałą.

BCHG DN,op1

Testuje i zmienia na przeciwny bit operandu docelowego o numerze określonym liczbą w rejestrze danych DN.

BCLR #x,op1

Testuje i kasuje bit operandu docelowego o numerze określonym stałą.

BCLR DN,op1

Testuje i kasuje bit operandu docelowego o numerze określonym liczbą w rejestrze danych DN.

BSET #x,op1

Testuje i ustawia bit operandu docelowego o numerze określonym stałą.

BSET DN,op1

Testuje i ustawia bit operandu docelowego o numerze określonym liczbą w rejestrze danych DN.

BTST #x,op1

Testuje bit operandu docelowego o numerze określonym stałą.

BTST DN,op1

Testuje bit operandu docelowego o numerze określonym liczbą w rejestrze danych DN.

Rozmiar: B (dla pamięci), L (dla rejestru danych).

Ustawiane flagi

X

N

Z

V

C

-

-

+

-

-

Tryby adresowania dla op1

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

+

-

+

+

+

+

+

+

+

-

-

-

BTST

BTST #x,op1

Testuje bit operandu docelowego o numerze określonym stałą.

BTST DN,op1

Testuje bit operandu docelowego o numerze określonym liczbą w rejestrze danych DN.

Rozmiar: B (dla pamięci), L (dla rejestru danych).

Ustawiane flagi

X

N

Z

V

C

-

-

+

-

-

Tryby adresowania dla op1

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

+

-

+

+

+

+

+

+

+

+

+

-

 

CMP

CMP op1,DN

Porównuje zawartość rejestru danych z operandem źródłowym (odejmuje operand źródłowy od rejestru danych nie zapamiętując wyniku).

Rozmiar: B, W, L.

Ustawiane flagi

X

N

Z

V

C

-

+

+

+

+

Tryby adresowania dla op1

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

+

+

+

+

+

+

+

+

+

+

+

+

CMPA

CMPA op1,AN

Porównuje zawartość rejestru adresowego z operandem źródłowym (odejmuje operand źródłowy od rejestru adresowego nie zapamiętując wyniku).

Rozmiar: W, L.

Ustawiane flagi

X

N

Z

V

C

-

+

+

+

+

Tryby adresowania dla op1

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

+

+

+

+

+

+

+

+

+

+

+

+

CMPI

CMPI #x,op1

Porównuje operand docelowy ze stałą (odejmuje stałą od operandu docelowego nie zapamiętując wyniku).

Rozmiar: B,W, L.

Ustawiane flagi

X

N

Z

V

C

-

+

+

+

+

Tryby adresowania dla op1

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

+

-

+

+

+

+

+

+

+

-

-

-

DIVS i DIVU

DIVS op1, DN

Dzieli (z uwzględnieniem znaku) 32-bitową liczbę zawartą w rejestrze danych przez 16-bitową liczbę określoną operandem źródłowym. Wynik w rejestrze danych: dolne 16 bitów iloraz, górne 16 bitów reszta.

DIVU op1, DN

Dzieli (bez uwzględniania znaku) 32-bitową liczbę zawartą w rejestrze danych przez 16-bitową liczbę określoną operandem źródłowym. Wynik w rejestrze danych: dolne 16 bitów iloraz, górne 16 bitów reszta.

Rozmiar: W.

Ustawiane flagi

X

N

Z

V

C

-

+

+

+

0

Tryby adresowania dla op1

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

+

-

+

+

+

+

+

+

+

+

+

+

EXT

EXT DN

Rozszerza znakowo liczbę w rejestrze danych do rozmiaru słowa (z bajtu) lub długiego słowa (ze słowa).

Rozmiar: W,L.

Ustawiane flagi

X

N

Z

V

C

-

+

+

0

0

Jedynym dozwolonym trybem adresowania jest bezpośrednie rejestru danych.

LSL

LSL #x,DN

Przesuwa logicznie bity rejestru danych w lewo o stałą (od 1 do 8 włącznie).

LSL DM,DN

Przesuwa logicznie bity rejestru danych DN w lewo o liczbę zawartą w rejestrze danych DM.

LSL op1

Przesuwa logicznie bity operandu przeznaczenia w lewo o 1.

Rozmiar: B,W,L. Dla operandu docelowego znajdującego się w pamięci tylko W.

Ustawiane flagi

X

N

Z

V

C

+

+

+

0

+

Tryby adresowania dla op1

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

-

-

+

+

+

+

+

+

+

-

-

-

LSR

LSR #x,DN

Przesuwa logicznie bity rejestru danych w lewo o stałą (od 1 do 8 włącznie).

LSR DM,DN

Przesuwa logicznie bity rejestru danych DN w lewo o liczbę zawartą w rejestrze danych DM.

LSR op1

Przesuwa logicznie bity operandu przeznaczenia w lewo o 1.

Rozmiar: B,W,L. Dla operandu docelowego znajdującego się w pamięci tylko W.

Ustawiane flagi

X

N

Z

V

C

+

+

+

0

+

Tryby adresowania dla op1

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

-

-

+

+

+

+

+

+

+

-

-

-

MOVE

MOVE op1,op2

Przesyła zawartość operandu źródłowego do docelowego.

Rozmiar: B,W,L.

Ustawiane flagi

X

N

Z

V

C

-

+

+

0

0

Tryby adresowania dla op1

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

+

+

+

+

+

+

+

+

+

+

+

+

Tryby adresowania dla op2

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

+

-

+

+

+

+

+

+

+

-

-

-

MOVEA

MOVEA op1,AN

Przesyła zawartość operandu źródłowego do rejestru adresowego.

Rozmiar: W,L.

Flagi nie są zmieniane.

Tryby adresowania dla op1

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

+

+

+

+

+

+

+

+

+

+

+

+

MULS i MULU

MULS op1,DN

Mnoży (uwzględniając znak) 16-bitową daną zawartą w młodszym słowie rejestru danych przez 16-bitową liczbę określoną operandem źródłowym. 32-bitowy wynik zapamiętywany jest w rejestrze danych.

MULU op1,DN

Mnoży (nie uwzględniając znaku) 16-bitową daną zawartą w młodszym słowie rejestru danych przez 16-bitową liczbę określoną operandem źródłowym. 32-bitowy wynik zapamiętywany jest w rejestrze danych.

Rozmiar: W.

Ustawiane flagi

X

N

Z

V

C

-

+

+

0

0

Tryby adresowania dla op1

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

+

-

+

+

+

+

+

+

+

+

+

+

NEG

NEG op1

Zamienia liczbę określoną operandem źródłowym na przeciwną (tworzy uzupełnienie do dwóch operandu).

Rozmiar: B,W,L.

Ustawiane flagi

X

N

Z

V

C

+

+

+

+

+

Tryby adresowania dla op1

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

+

-

+

+

+

+

+

+

+

-

-

-

NOT

NOT op1

Neguje zawartość operandeu źródłowego.

Rozmiar: B,W,L.

Ustawiane flagi

X

N

Z

V

C

-

+

+

0

0

Tryby adresowania dla op1

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

+

-

+

+

+

+

+

+

+

-

-

-

TST

TST op1

Testuje operand źródłowy.

Rozmiar: B,W,L.

Ustawiane flagi

X

N

Z

V

C

-

+

+

0

0

Tryby adresowania dla op1

DN

AN

(AN)

(AN)+

(AN)+

-( AN)

x (AN)

x(AN,R)

x

x(PC)

x(PC,R)

#x

+

-

+

+

+

+

+

+

+

-

-

-

 

0x01 graphic
Flagi

Oznaczenia stosowane przy flagach:

Symbol

Opis

+

flaga może być zmieniona

-

flaga nie jest zmieniana

0

flaga jest zawsze zerowana

Oznaczenia flag:

Symbol

Flaga

X

extend (rozszerzenia)

N

negative (ujemny)

Z

zero

V

overflow (nadmiar)

C

carry (przeniesienie)

 

0x01 graphic
Tryby adresowania

Oznaczenie

Nazwa

Działanie

DN

bezpośrednie rejestru danych

operand znajduje się w rejestrze danych DN

AN

bezpośrednie rejestru adresowego

operand znajduje się w rejestrze adresowym AN

(AN)

pośrednie rejestrem adresowym

operand znajduje się w komórce pamięci wskazywanej przez rejest adresowy AN

(AN)+

pośrednie rejestrem adresowym z postinkrementacją

jak (AN), z tym, że po wykonaniu operacji zawartość rejestru adresowego AN zostaje zwiększona o rozmiar operandu (wynik jest zachowany).

-(AN)

pośrednie rejestrem adresowym z predekrementacją

jak (AN), z tym, że przed wykonaniem operacji zawartość rejestru adresowego AN zostaje zmniejszona o rozmiar operandu (wynik jest zachowany).

x(AN)

pośrednie rejestrem adresowym z przesunięciem

adres efektywny komórki pamięci zawierającej operand powstaje w wyniku zsumowania zawartości rejestru adresowego AN i stałej x o rozmiarze słowa.

x(AN,R)
x(AN,DM.l)
x(AN,DM.w) x(AN,AM.l)
x(AN,AM.w),

pośrednie rejestrem adresowym z indeksem

adres efektywny komórki pamięci zawierającej operand powstaje w wyniku zsumowania zawartości rejestru adresowego AN, indeksu (rejestru danych DM lub adresowego AMtraktowanego jako słowo lub długie słowo i stałej b o rozmiarze bajtu.

x
x.l
x.w

absolutne

operand znajduje się w komórce pamięci określonej stałą o rozmiarze długiego słowa (adresowanie absolutne długie) lub słowa (adresowanie absolutne krótkie).

x(PC)

licznikiem programu z przesunięciem

jak x(AN), z tym, że zamiast rejestru adresowego użyty jest licznik programu PC.

x(PC,R)
x(PC,DM.l)
x(PC,DM.w)
x(PC,AM.l)
x(PC,AM.w)

licznikiem programu z indeksem

jak x(AN,R), z tym, że zamiast rejestru adresowego AN użyty jest licznik programu PC.

#x

natychmiastowe

Operand jest stałą x.



Wyszukiwarka

Podobne podstrony:
Lista rozkazów?51
Lista rozkazow 8051
@ Lista rozkazowa
lista rozkazow 8051
8086 Lista rozkazów, Akademia Morska, III semestr, technika cyfrowa, Technika Cyfrowa, TC - lab Dąbr
Lista rozkazow 8051, architektura komputerow, architektura komputerow
!!! Tylko lista rozkazów 51
8051 lista rozkazow, ELEKTRONIKA I PROGRAMOWANIE, Mikroprocesory, programowanie Bascom, AVR,
Lista rozkazów i opis 8051
8080 lista rozkazów i kodów, Akademia Morska, III semestr, technika cyfrowa, Technika Cyfrowa, TC -
lista rozkazów 8051
8051 lista rozkazow
mazurkiewicz,Technika Cyfrowa, lista rozkazów procesora
8051 lista rozkazow
lista rozkazów 8051

więcej podobnych podstron