Lab08'11

background image

POLITECHNIKA KOSZALIŃSKA - WYDZIAŁ ELEKTRONIKI I INFORMATYKI

Architektura komputerów

Zajęcia laboratoryjne N 8

Zajęcia laboratoryjne N 8

TEMAT:

R

OZKAZY

PRZESUNIĘĆ

II

Celem niniejszego ćwiczenia jest rozszerzenie wiedzy studentów z zakresu jednoargumento-

wych rozkazów przesunięć arytmetycznych, logicznych i cyklicznych. Rozkazy te posiadają format
rozkazu, który został przedstawiony na Rys. 1.

W czasie wykonywania obecnego zadania zajmiemy się informacjami zawartymi w drugim

bajcie kodu rozkazu tj. przesunięciem DISP, dzięki któremu możemy zaadresować komórkę
pamięci RAM (adresacja pośrednia). Przesunięcie to interpretuje się jako liczbę ze znakiem,
wykorzystując ją do obliczania adresu efektywnego.

Z powodu segmentowej organizacji pamięci wszystkie adresy efektywne, EA są przesunięciem

(offsetem) względem bazowego adresu segmentu i rozpatrywane są jako liczba bez znaku przy
obliczaniu adresu fizycznego. W przyszłości, aby uniknąć pomyłek przez przesunięcie będziemy
rozumieli offset – przesunięcie w segmencie.

Pole MOD wskazuje w jaki sposób należy interpretować pole R/M aby zidentyfikować

argument: jeżeli MOD=11, to argument znajduje się w rejestrze, w pozostałych przypadkach w
pamięci. W przypadku adresowania komórek pamięci, pole MOD określa wielkość przesunięcia
DISP:

MOD = 00,

DISP=0 – brak przesunięcia;

01,

DISP=DISP L – rozkaz zawiera 8 bitowe przesunięcie, które rozszerza się
ze znakiem do 16 bitów;

10,

DISP=DISP H, DISP L – rozkaz zawiera 16 bitowe przesunięcie.

Przy MOD=11 realizowana jest pośrednia adresacja komórek pamięci i pole R/M

wykorzystywane jest do formułowania adresu efektywnego EA do argumentu. W Tabeli 2
przedstawiono sposób tworzenia EA, gdzie D8 lub D16 oznacza przesunięcie, zadane w kodzie
rozkazu (w postaci liczby w kodzie uzupełnień do 2, zapisane przy użyciu formy litle endian).

Od przedstawionych w Tabeli 2 zasad istnieje wyjątek, pozwalający realizować bezpośrednią

(absolutną) adresację: jeśli MOD=00 i R/M=110, to EA=DISP H, DISP L.

Tabela 1:

Operacja

Kod

operacji

Uzupełnienie
kodu operacji

ROL R/M,1 1101 000W

000

ROR R/M,1 1101 000W

001

RCL R/M,1 1101 000W

010

RCR R/M,1 1101 000W

011

1 z 3

Rysunek 1.: Format rozkazu jednoargumentowego dla zadania 8.

15

8 7

5

3 2

0

6

4

1

13

11 10

14

12

9

Kod operacji

MOD

W

R/M

Kod op.

15

8 7

5

3 2

0

6

4

1

13

11 10

14

12

9

DATA8

DATA8

background image

POLITECHNIKA KOSZALIŃSKA - WYDZIAŁ ELEKTRONIKI I INFORMATYKI

Architektura komputerów

Zajęcia laboratoryjne N 8

Tabela 2:

Pole

Pole

MOD

R/M

00

01

10

1 1

W=0 W=1

000 BX+SI BX+SI+D8 BX+SI+D16 AL

AX

001 BX+DI BX+DI+D8 BX+DI+D16 CL

CX

010

BP+SI

BP+SI+D8 BP+SI+D16

DL

DX

011 BP+DI BP+DI+D8 BP+DI+D16 BL

BX

100

SI

SI+D8

SI+D16

AH

SP

101

DI

DI+D8

DI+D16

CH

BP

110

DATA

BP+D8

BP+D16

DH

SI

111

BX

BX+D8

BX+D16

BH

DI

D8 i D16 oznaczają odpowiednio – przesunięcie wielkości 8 bitów i
przesunięcie wielkości 16 bitów.

Kod rozkazu i pomocniczy kod rozkazu znajdują się w Tabeli 2, poprzedniego zadania

laboratoryjnego i Tabeli 1 niniejszego przygotowania, natomiast oznaczenia pól MOD i R/M można
znaleźć w Tabeli 2 niniejszego przygotowania.

Tabela 3:

Nr st.

Operacje

1 i 6

SAL byte ptr [SI], 1; RCR Arg1, 1

2 i 7 ROL word ptr [BX+DISP8], 1; SAR Arg2, 1

3 i 8

ROR Arg2; SHL word ptr [BX+DISP8], 1

4 i 9

RCL byte ptr [SI+DISP8], 1; SHR Arg1, 1

5 i 10

SAR Arg1,1; ROL byte ptr [DI], 1

byte ptr – określa wielkość operandu jako bajt; word ptr –
określa wielkość operandu jako słowo; DISP8 –
przesuniecie wielkości 8 bitów; Arg1 – 16 bitowe zmienne
zapisane w pamięci RAM; Arg2 – 8 bitowe zmienne
zapisane w pamięci RAM

W przypadku gdy w rozkazie pojawia się Arg1 lub Arg2, mamy do czynienia z adresacją

bezpośrednią czyli MOD=00 i R/M=110, gdzie DISP (16 bitów drugiego słowa rozkazu) wskazuje
bezpośrednio wartość przesunięcia w segmencie danych, wskazującą na argument.

Zagadnienia do opracowania przed przystąpieniem do wykonywania zadania:

1. Jaka jest zasada tworzenia adresu efektywnego w przypadku odwołań do danych?
2. Na czym polega adresacja pośrednia?
3. Zapisz dla swojego wariantu kody rozkazów zawartych w Tabeli 1 w postaci binarnej

oraz w postaci szesnastkowej (z zaznaczeniem poszczególnych pól).

4. Zapoznać się z zasadą działania następujących rozkazów procesora 8086:

-

RCL,

-

RCR,

-

ROL,

2 z 3

background image

POLITECHNIKA KOSZALIŃSKA - WYDZIAŁ ELEKTRONIKI I INFORMATYKI

Architektura komputerów

Zajęcia laboratoryjne N 8

-

ROR.

5. Sprawdź zależności pomiędzy rejestrami BP, SI i DI, a odpowiadającymi im rejestrami

segmentowymi.

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

P_1. Utwórz w pamięci RAM zmienne Arg1 i Arg2, podając je w big endian.
P_2. Zakładamy, że SI i DI odnoszą się tylko do rejestru DS.
P_3. Rozbuduj program podstawowy z 2 zajęć laboratoryjnych o rozkazy zawarte w

Tabeli 3.Uwzględnij Tabelę 4.

Tabela 4:

Operacja

Rozkazy

OF

CF

SF

ZF

Przesunięcia

SHL SHR

1)

+

+

+

+

SHL SHR

2)

?

+

+

+

SAR

0

+

+

+

ROL ROR RCL RCR

1)

+

+

-

-

ROL ROR RCL RCR

2)

?

+

-

-

Oznaczenia: '+' – wynik operacji wpływa na flagę; '-' – nie wpływa; 1 – ustawia w stan

'1'; 0 – ustawia w stan '0'; X – inwersja; ? – nieustalone

1)

jednokrotnie

2)

wielokrotnie

Zadania dodatkowe wykonywania w czasie trwania zajęć laboratoryjnych:

D_1. Rozbuduj tak powstały program, tak aby wykonywały się następujące rozkazy:

ROR R/M,1;

ROL R/M,1;

RCL R/M,1;

RCR R/M,1;

dla dowolnej wartości R/M dla MOD = 00, zarówno dla argumentu wielości słowa jak i
wielkości bajtu. Uwzględnij Tabelę 4.

D_2. W czasie dekodowania rozkazu sprawdź tylko kod operacji.
D_3. Zadbaj o to by napisany program zajmował jak najmniej komórek pamięci mikro

rozkazów.

3 z 3


Document Outline


Wyszukiwarka

Podobne podstrony:
Zarz[1] finan przeds 11 analiza wskaz
11 Siłowniki
11 BIOCHEMIA horyzontalny transfer genów
PKM NOWY W T II 11
wyklad 11
R1 11
CALC1 L 11 12 Differenial Equations
Prezentacje, Spostrzeganie ludzi 27 11
zaaw wyk ad5a 11 12
budzet ue 11 12
EP(11)
W 11 Leki działające pobudzająco na ośrodkowy układ
Zawal serca 20 11 2011
11 Resusc 2id 12604 ppt
11 pomiay dlugosci tasma
Psychologiczne podstawy edukacji 11
11 Ch organiczna AMINOKWASY I BIAŁKAid 12388 ppt

więcej podobnych podstron