Sie sind auf Seite 1von 19

OSNOVI RAUNARSKE TEHNIKE 1

INSTRUKCIJE I NAINI ADRESIRANJA


8

Tipovi mainskih instrukcija


Aritmetike

i logike instrukcije Instrukcije za prenos podataka Instrukcije za kontrolu toka programa (upravljake instrukcije)

Tipovi mainskih instrukcija


Tipini

formati instrukcija:

KOD OPERACIJE

KOD OPERACIJE

OPERAND

KOD OPERACIJE

OPERAND 1

OPERAND 2

Aritmetike i logike instrukcije


UNARNE

( sa jednim operandom)

Postavljanje (SET) Brisanje (CLEAR) Komplementiranje (COMPLEMENT) Negacija (NEGATE) Inkrementiranje (INCREMENT) Dekrementiranje (DECREMENT) Pomeranje (SHIFT) Rotacija (ROTATE)

Aritmetike i logike instrukcije


Postavljanje
Logika

(SET)

vrednost 0 eljenog bita se pretvara u logiku vrednost 1


Primenjuje

se na bite u registru stanja, registrima CPU i memorijskim lokacijama


0 1 0 1 1 0 1 0

Aritmetike i logike instrukcije


Brisanje

(RESET)

Logika vrednost 1 eljenog bita se pretvara u logiku vrednost 0


Primenjuje

se na bite u registru stanja, registrima CPU i memorijskim lokacijama.

Aritmetike i logike instrukcije


Komplementiranje

(COMPLEMENT)

Sve logike 0 u jednom broju se pretvaraju u 1 i obrnuto Dobija se prvi komplement


Odnosi

se na sadraj celog registra


1 0 1 1 0 1 0

Aritmetike i logike instrukcije


Negacija

(NEGATE) Negacija (NEGATE) - kao rezultat se dobija Dobija se drugi komplement drugi komplement broja. Odnosi se sadraj na sadraj celog registra Odnosi se na celog registra.
0 1 0 1 1 0 1 0

Aritmetike i logike instrukcije


Inkrementiranje
Odnosi

(INCREMENT)

Poveanje vrednosti operanda za 1


se na sadraj celog registra Kod nekih procesora se primenjuje samo na registre u okviru CPU, a kod drugih se primenjuje i na sadraj memorijskih lokacija
0 1 0 1 1 0 1 0

Aritmetike i logike instrukcije


Dekrementiranje
Odnosi

(DECREMENT)

Smanjenje vrednosti operanda za 1


se na sadraj celog registra Kod nekih procesora se primenjuje samo na registre u okviru CPU, a kod drugih se primenjuje i na sadraj memorijskih lokacija
0 1 0 1 1 0 1 0

Aritmetike i logike instrukcije


Pomeranje

(SHIFT)

Pomeraju se biti u okviru jednog registra ulevo ili udesno Bit koji naputa registar se gubi ili se upisuje u Carry flag
Kod

mikroprocesora se obino u jednom taktu obavi pomeranje za jednu poziciju Kod veih raunara se u jednom taktu pomera sadraj za vie pozicija

Upranjena mesta se obino popunjavaju logikim nulama (0)

Aritmetike i logike instrukcije


Pomeranje
0 1 0

udesno (SHIFT RIGHT)


1 1 0 1 1

Carry flag

Primena:
Ispitivanje

sadraja bita u registru Deljenje sa 2n , n = broj pomeranja Aritmetiko

pomeranje udesno

Bit znaka ostaje na MSB poziciji, a pomeraju se svi ostali biti

Aritmetike i logike instrukcije


Pomeranje

ulevo (SHIFT LEFT)


0 1 0 1 1 0 1 1

Carry flag

Primena:
Ispitivanje

sadraja bita u registru Mnoenje sa 2n , n = broj pomeranja

Aritmetike i logike instrukcije


Rotacija

(ROTATE)

Rotiraju se biti u okviru jednog registra ulevo ili udesno Bit koji se rotira upisuje se na upranjeno mesto na drugom kraju registra, a moe da se pritom upie i u Carry flag.
1 1 0 0 1 1 0 0

0 1 1 0 0 1 1 0 ROTACIJA UDESNO

1 0 0 1 1 0 0 1 ROTACIJA ULEVO

Aritmetike i logike instrukcije


Rotacija

sa pamenjem prenosa

Sadraj C-flega se upisuje na mesto bita koji se rotira, a bit koji rotacijom naputa svoje mesto upisuje se u C-flag
C
ROTACIJA ULEVO

C
ROTACIJA UDESNO

Aritmetike i logike instrukcije


BINARNE

( sa dva operanda)

Aritmetike instrukcije
ODUZIMANJE

PRIMENOM PRVOG ILI DRUGOG KOMPLEMENTA (SUB) SABIRANJE (ADD) INSTRUKCIJE ZA OPERACIJE SA BCD BROJEVIMA INSTRUKCIJE ZA OPERACIJE U POKRETNOM ZAREZU Logike instrukcije I (AND) ILI (OR) EKSKLUZIVNO ILI (XOR)

Aritmetike i logike instrukcije


I

(AND) instrukcija Izdvajanje sadraja dela registra

1 0 1 0 0 1 1 1 originalan sadraj registra AND 0 0 1 1 0 0 1 1 maska 0 0 1 0 0 0 1 1 sadraj posle AND operacije

Resetovanje eljenih bita


0 0 1 0 0 1 1 1 originalan sadraj registra AND 1 1 1 1 1 0 0 1 maska 0 0 1 0 0 0 0 1 sadraj posle AND operacije.

Aritmetike i logike instrukcije


ILI

(OR) instrukcija Pakovanje podataka u jednu celinu


OR

A: 0 0 1 1 0 0 0 0 = 30 (HEX) B: 0 0 0 0 0 1 0 1 = 05 (HEX) 0 0 1 1 0 1 0 1 = 35 (HEX)

Setovanje eljenih bita


1 0 1 0 0 0 0 1 originalan sadraj registra OR 0 0 0 0 0 1 1 0 maska 1 0 1 0 0 1 1 1 sadraj posle OR operacije

Aritmetike i logike instrukcije


EKSKLUZIVNO

ILI (XOR) instrukcija

Ispitivanje sadraja registra


1 0 1 0 0 0 0 1 originalan sadraj registra XOR 1 0 1 0 0 0 0 1 maska 0 0 0 0 0 0 0 0 sadraj posle XOR operacije Komplementiranje sadraja eljenih bita 1 0 1 0 0 0 0 1 originalan sadraj registra XOR 1 0 1 1 0 1 0 0 maska 0 0 0 1 0 1 0 1 sadraj posle XOR operacije

Das könnte Ihnen auch gefallen