Cykl rozkazowy, w informatyce ciąg czynności, które wykonuje układ sterowania jednostki centralnej w czasie realizowania jednego rozkazu



Pobieranie 7.28 Mb.
Strona14/52
Data30.10.2017
Rozmiar7.28 Mb.
1   ...   10   11   12   13   14   15   16   17   ...   52

Wykład III


Rozkazy procesora – typy i przetwarzanie
Rozkazy maszynowe (ang. instruction) są przetwarzane przez procesor jako dane binarne. Każdy rozkaz posiada unikatowy kod operacji oraz opcjonalnie dodatkowe elementy:

  • przedrostek (ang. prefix) – warunkuje sposób wykonania rozkazu,

  • kod operacji (ang. opcode) – określa operację, jaka ma być przeprowadzona;

  • przyrostek (ang. postfix) – określa rodzaj i typ argumentów,

  • odniesienie do argumentów źródłowych (ang. source), którymi mogą być: dane bezpośrednie, adresy pamięci lub układów we-wy, rejestry procesora;

  • odniesienie do argumentów przeznaczenia (ang. destination) lub wyniku (ang. result), którymi mogą być: adresy pamięci lub układów we-wy, rejestry procesora;

  • odniesienie do następnego rozkazu – określa adres następnego rozkazu, który będzie wykonany po rozkazie bieżącym.


Przykład 1:

NOP; nic nie rób

NOP – opcode zapisany w języku symbolicznym, tzw. mnemonik,
Przykład 2:

ADD A , R1 ;A A + R1

ADD – opcode,

A, R1 – argumenty źródłowe, A – argument przeznaczenia.
Przykład 3:

MOVX A , @R1 ;A [R1]

MOV – opcode, X – przyrostek, oznacza zewnętrzną pamięć lub układy wejścia-wyjścia,

[R1] – argument źródłowy, A – argument przeznaczenia.
Przykład 4:

LJMP adres ;PC adres

L – przedrostek (ang. long)

JMP – opcode,

adres – adres następnego rozkazu.
Typowe rodzaje operacji (rozkazów) wykonywane przez procesor:

  • transferu (przesłań) danych,

  • arytmetyczne,

  • logiczne,

  • konwersji (translacji),

  • wejścia-wyjścia,

  • sterowania systemowego,

  • przekazywania sterowania.


Opis skrótów:

aź – argument źródłowy (ang. source),

ad – argument docelowy (ang. destination),

aźd – argument jednocześnie źródłowy i docelowy.



Rodzaj operacji

Nazwa operacji

Opis

Przykłady

z listy 8051

Przykłady z listy AVR

Transfer danych

Move

Store

Load

Exchange

Clear

Set

Push

Pop

skopiuj ad

zapisz aź w pamięci

odczytaj ad z pamięci

aźd1  aźd2

wyzeruj aźd (0...0b)

ustaw aźd (1...1b)

zachowaj aź na stosie

załaduj ad ze stosu

MOV

MOVX

MOVC

XCH

CLR

-

PUSH

POP

MOV

ST

LPM

XCH

CLR

SER

PUSH

POP

Arytmetyczne

Add

Subtract

Multiply

Divide

Absolute

Negate

Increment

Decrement

Compare

ad aź1 + aź2

ad aź1 – aź2

ad1...2 aź1 * aź2

ad1...2 aź1 / aź2

aźd |aźd|

aźd - aźd

aźd aźd + 1

aźd aźd – 1

aź1 – aź2 (flagi OV, Z, C, S)

ADD

SUBC

MUL

DIV

-

-

INC

DEC

-

ADIW

SUBI


MULS

FMUL

-

NEG



INC

DEC


CP

Logiczne

AND

OR

NOT

EX-OR

Test

Compare

Shift

Rotate

aźd aźd

aźd aźd

aźd neguj aźd

aźd aźd

aź1 aź2, (flaga Z)

aź1 – aź2, (flaga Z)

przesuń w prawo/lewo aźd

obracaj w prawo/lewo aźd

ANL

ORL

CPL

XRL

-

CJNE

-

RRC

ANDI

OR

COM

EOR

TST

CPI

LSL

ROL

Konwersji

Translate

Convert

aźdtabela przyporząd.aźd

zmiana postaci aźd na inną

-

SWAP

DES

LAT

Wejścia-wyjścia

Input

Output

Start I/O

Test I/O

odczytaj aź z układu we-wy

zapisz ad do układu we-wy

zapisz kod do układu I/O

odczytaj kod stanu z układu I/O

-

-

-

-

IN

OUT

-

-

Sterowania systemowego

Set control bits

Clear control bits

ustaw flagi ogólnego przeznaczenia i systemowe

zeruj flagi ogólnego przeznaczenia i systemowe

SETB
CLR

SIE
CLI

Przekazywania sterowania

Jump (branch)

Jump conditional
Jump to Subroutine
Return
Execute (Escape)
Skip

Skip conditional
Halt/Wait (Hold)

No operation

skocz pod adres ad, czyli PCad

skocz pod adres ad, jeśli warunek spełniony/nie spełniony

skocz do podprogramu (zachowaj na stosie adres powrotu)

wróć z podprogramu (pobierz ze stosu adres powrotu)

pobierz argument i wykonaj jak rozkaz, PC bez zmiany
pomiń następny rozkaz

pomiń następny rozkaz, jeśli warunek spełniony/nie spełniony
zatrzymaj wykonywanie programu/zatrzymaj wykonywanie programu, a następnie wznów po spełnieniu warunku
nie wykonuj żadnego działania

SJMP
JB/JNB

LCALL

RET
-

-

-

-
NOP

RJMP
BREQ

CALL

RETI
BREAK

-

SBIS/SBIC

-

SLEEP

NOP

Obowiązuje znajomość listy rozkazów procesora Intel 80c51 przedstawianej na tablicy w trakcie wykładu i załączonej w pliku „Lista rozkazów 8051.doc”!
Tryby adresowania i przykłady realizacji w liście rozkazów mikroprocesora 8051:

- natychmiastowy MOV A,#n,

- bezpośredni MOV 20h,#n, MOV A,#n

- rejestrowy MOV ACC,#n,

- pośredni MOV [25h],#n – nie występuje w 8051!

- pośredni rejestrowy MOV @R0,#30h,

- z przesunięciem

indeksowy (pośredni rejestrowy) MOVC A,@A+DPTR,

indeksowy (pośredni rejestrowy) względny MOVC A,@A+PC,

względny SJMP przesunięcie (adres=PC+przesunięcie)

- stosowy PUSH B, POP ACC.



Pobieranie 7.28 Mb.

Share with your friends:
1   ...   10   11   12   13   14   15   16   17   ...   52




©operacji.org 2020
wyślij wiadomość

    Strona główna
warunków zamówienia
istotnych warunków
przedmiotu zamówienia
wyboru operacji
Specyfikacja istotnych
produktu leczniczego
oceny operacji
rozwoju lokalnego
strategii rozwoju
kierowanego przez
specyfikacja istotnych
Nazwa przedmiotu
Karta oceny
ramach działania
przez społeczno
obszary wiejskie
dofinansowanie projektu
lokalnego kierowanego
Europa inwestująca
Regulamin organizacyjny
przetargu nieograniczonego
kryteria wyboru
Kryteria wyboru
Lokalne kryteria
Zapytanie ofertowe
Informacja prasowa
nazwa produktu
Program nauczania
Instrukcja obsługi
zamówienia publicznego
Komunikat prasowy
programu operacyjnego
udzielenie zamówienia
realizacji operacji
opieki zdrowotnej
przyznanie pomocy
ramach strategii
Karta kwalifikacyjna
oceny zgodno
Specyfikacja techniczna
Instrukcja wypełniania
Wymagania edukacyjne
Regulamin konkursu
lokalnych kryteriów
strategia rozwoju
sprawozdania finansowego
ramach programu
ramach poddziałania
kryteriów wyboru
operacji przez
trybie przetargu