lab04'08

background image

POLITECHNIKA KOSZALIŃSKA - WYDZIAŁ ELEKTRONIKI I INFORMATYKI

Architektura komputerów

Zadanie laboratoryjne N 4

Zadanie laboratoryjne N 4

TEMAT:

R

OZKAZY

SKOKÓW

WARUNKOWYCH

I

ORGANIZACJI

PĘTLI

Celem niniejszego zadania laboratoryjnego jest zapoznanie się studentów ze sposobem wyko-

nywania rozkazów skoków warunkowych oraz z rozkazami organizacji pętli programowych. Ro-
dzaje skoków warunkowych, z jakimi będziemy mieli do czynienia na obecnych zajęciach, przed-
stawiono w Tabeli 1, kody operacji natomiast w Tabeli 2. Rysunek 1 określa format rozkazu jaki
przyjmiemy dla obecnie opracowywanych rozkazów.

Skok warunkowy umożliwia wykonanie skoku o wartość zadaną w kodzie rozkazu w pozycji

IP_INC, w przypadku gdy zadany warunek jest spełniony. Liczba IP_INC jest traktowana jako
liczba ze znakiem, więc korzystając z rozkazu skoku warunkowego jesteśmy w stanie wykonać
przejście o ± 127 względem bieżącej wartości znajdującej się w liczniku rozkazów.

Tabela 1:

Mnemonik

Opis

Mnemonik

Opis

JA

Skok, jeżeli powyżej

JNA

Skok, jeżeli nie powyżej

JAE

Skok, jeżeli powyżej lub równe

JNAE

Skok, jeżeli nie powyżej lub równe

JB

Skok, jeżeli poniżej

JNB

Skok, jeżeli nie poniżej

JBE

Skok, jeżeli poniżej lub równe

JNBE

Skok, jeżeli nie poniżej lub równe

JC

Skok, jeżeli przeniesienie

JNC

Skok, jeżeli brak przeniesienia

JE

Skok, jeżeli równe

JNE

Skok, jeżeli nie równe

JG

Skok, jeżeli większe

JNG

Skok, jeżeli nie większe

JGE

Skok, jeżeli większe lub równe

JNGE

Skok, jeżeli nie większe lub równe

JL

Skok, jeżeli mniejsze

JNL

Skok, jeżeli nie mniejsze

JLE

Skok, jeżeli mniejsze lub równe

JNLE

Skok, jeżeli nie mniejsze lub równe

JO

Skok, jeżeli przepełnienie

JNO

Skok, jeżeli brak przepełnienia

JS

Skok, jeżeli znak

JNS

Skok, jeżeli brak znaku

JZ

Skok, jeżeli zero

JNZ

Skok, jeżeli nie zero

Rozkazy organizacji pętli jako licznik pętli wykorzystują rejestr CX, który jest zmniejszany

przy każdym przejściu przez pętlę i w zależności od rodzaju wykonywanego rozkazu pętli (spełnie-
nia lub nie, określonego warunku) wykonywana jest zmiana zawartości licznika rozkazów.

Rozkaz JCXZ sprawdza jedynie czy rejestr CX = 0 i odpowiednio modyfikuje IP.
Istnieje również rozkaz skoku bezwarunkowego o formacie rozkazu przedstawionym na

Rysunku 1.

Zagadnienia do opracowania przed przystąpieniem do wykonywania zadania laboratoryjnego:

1. Zasada działania rozkazów skoków warunkowych i bezwarunkowych.
2. Zasada działania rozkazów:

LOOP;

LOOPZ;

LOOPE;

LOOPNZ;

LOOPNE;

JCXZ.

1 z 2

Rysunek 1: Format rozkazów skoków warunkowych i organizacji pętli

15

8 7

0

Kod operacji

IP_inc

background image

POLITECHNIKA KOSZALIŃSKA - WYDZIAŁ ELEKTRONIKI I INFORMATYKI

Architektura komputerów

Zadanie laboratoryjne N 4

Tabela 2:

Mnemonik

Kod

operacji

Warunek

Mnemonik

Kod

operacji

Warunek

JO

70h

OF=1

JNO

71h

OF=0

JB, JC, JNAE

72h

CF=1

JNB, JNC, JAE

73h

CF=0

JE, JZ

74h

ZF=1

JNE, JNZ

75h

ZF=0

JNA, JBE

76h

CF=1 or ZF=1

JA, JNBE

77h

CF=0 and ZF=0

JS

78h

SF=1

JNS

79h

SF=0

JL, JNGE

7Ch

SF != OF

JNL, JGE

7Dh

SF=OF

JNG, JLE

7Eh

ZF=1 or SF!=OF JG, JNLE

7Fh

ZF=0 and SF=OF

JCXZ

E3h

CX=0

JMP

EBh

LOOP

E2h

LOOPE, LOOPZ

E1h

CX!=0 and ZF=1 LOOPNE,LOOPNZ

E0h

CX!=0 and ZF=0

gdzie OF oznacza flagę przepełnienia, SF – znaku, CF – przeniesienia/pożyczki, ZF – zera

3. Zapisz w postaci binarnej i szesnastkowej kody rozkazów zadanych w tabeli 3, oraz

rozkazy LOOP, JCXZ.

4. Zapisz w postaci algorytmu program powstały na poprzednich zajęciach i uzupełnij go,

o rozkazy zawarte punkcie 2 powyżej. Zaznacz nowe treści.

Tabela 3:

Nr st.

Rozkaz

1 i 6 JNC, JNZ, JO

2 i 7 JC, JZ, JNO

3 i 8 JNC, JNE, JS

4 i 9 JNAE, JE, JNS

5 i 10 JB, JNE, JS

Zadania podstawowe do wykonywania w czasie trwania zajęć laboratoryjnych:

P_1. Rozbuduj program z 2 zajęć laboratoryjnych o rozkazy zawarte w bieżącym

algorytmie.

P_2. W czasie dekodowania sprawdź kod operacji rozkazu.

Zadania dodatkowe wykonywania w czasie trwania zajęć laboratoryjnych:

D_1. Weź program z poprzednich zajęć i ustaw jako komentarz dekodowanie wszystkich

rozkazów poza NOP, następnie usuń (lub ustaw jako komentarz) fragment (lub fragmenty)
programu z obszaru w którym są wykonywane te rozkazy.

D_2. Dodaj kolejne rozkazy do już obsługiwanych przez program, tak aby wykonywał się

dowolny skok warunkowy.

D_3. Zadbaj o to by program zajmował jak najmniej komórek pamięci mikro rozkazów.

2 z 2


Wyszukiwarka

Podobne podstrony:
lab04'08
FP w 08
08 Elektrownie jądrowe obiegi
archkomp 08
02a URAZY CZASZKOWO MÓZGOWE OGÓLNIE 2008 11 08
ankieta 07 08
08 Kości cz Iid 7262 ppt
08 Stany nieustalone w obwodach RLCid 7512 ppt
2009 04 08 POZ 06id 26791 ppt
08 BIOCHEMIA mechanizmy adaptac mikroor ANG 2id 7389 ppt
depresja 08 09
W15 08 II
Szkol Ogólne 08 1pomoc
08 NIEDZIELA ZWYKŁA B
08 md wykl8
WM1 08 Rozkład naprężeń

więcej podobnych podstron