Lab10'11

background image

POLITECHNIKA KOSZALIŃSKA - WYDZIAŁ ELEKTRONIKI I INFORMATYKI

Architektura komputerów

Zadanie laboratoryjne N 10

Zadanie laboratoryjne N 10

TEMAT:

R

OZKAZY

DWU

ARGUMENTOWE

FORMAT

ROZKAZU

Z

POST

BAJTEM

Celem niniejszych zajęć laboratoryjnych jest zapoznanie się studentów z formatem rozkazu

zawierającym tzw. post bajt, który umożliwia w prosty sposób korzystanie z adresacji bezpośredniej i
pośredniej, adresacji rejestrowej, pośredniej rejestrowej, adresacji bazowej, indeksowej i adresacji
bazowo-indeksowej. W niniejszym ćwiczeniu zajmiemy się tylko kilkoma z wymienionych tu typów
adresacji.

Post bajt jest drugim bajtem rozkazu o zdefiniowanej strukturze, format którego przedstawiono na

Rysunku 1 a oznaczenia poszczególnych pól, poza polem kodu operacji i polem kierunku (D), zawarte
są w Tabeli 6 przygotowania do 6 zajęć laboratoryjnych. Jak wiadomo pole kodu operacji jest
indywidualne dla poszczególnych operacji (Tabela 1), pole D jest polem charakterystycznym dla
rozkazów dwu argumentowych, jeśli D=1 oznacza to, że argument lub wynik operacji przesyłany jest
do rejestru określonego polem REG; przy D=0 – wartości przesyłane są ze wskazanego rejestru.

Tabela 1:

Operacja Kod operacji Operacja Kod operacji Operacja Kod operacji

ADD

0000 00DW AND

0010 00DW TEST

1000 010W

OR

0000 10DW SUB

0010 10DW XCHG

1000 011W

ADC

0001 00DW XOR

0011 00DW MOV

1000 10DW

SBB

0001 10DW CMP

0011 10DW

Zagadnienia do opracowania przed przystąpieniem do wykonywania ćwiczenia:

1. Typy adresacji:

-

bezpośrednia,

-

pośrednia,

-

rejestrowa,

-

pośrednia rejestrowa,

-

bazowa,

-

indeksowa,

-

bazowo-indeksowa.

2. Zapisz dla swojego wariantu kody rozkazów zawartych w Tabeli 1, Tabeli 2 i 3 w postaci

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

Zadania podstawowe do wykonywania w czasie trwania ćwiczeń laboratoryjnych:

P_1. Rozbuduj program z poprzedniego ćwiczenia laboratoryjnego zgodnie z Tabelą 2 i 5.
P_2. Wartości D16 i argumenty w pamięci RAM zapisz w postaci Big endian.
P_3. Uwzględnij Tabelę 4.

Tabela 2:

Nr st.

Operacje

1 i 9

TEST AL, [BX+SI+D16]
CMP [SI+D16], BX

XCHG AH, AL
MOV [BP+SI+D16], SP

1 z 3

Rysunek 1: Rozkaz dwu argumentowy

15

8 7

0

DISP8 L

DISP8 H

15

9 8 7

5

3 2

0

Kod operacji

W

R/M

REG

MOD

6

D

background image

POLITECHNIKA KOSZALIŃSKA - WYDZIAŁ ELEKTRONIKI I INFORMATYKI

Architektura komputerów

Zadanie laboratoryjne N 10

Nr st.

Operacje

2

TEST BX, [BX+SI+D16]
CMP CX, [DI+D16]

XCHG CH, BL
MOV [BP+SI+D16], DH

3 i 10

TEST CX, [BX+DI+D16]
CMP [BP+D16], AL

XCHG AL, DL
MOV [BP+DI+D16], SI

4

TEST DL, [BX+DI+D16]
CMP [BX+D16], AX

XCHG BL, CH
MOV [BP+DI+D16], SP

5

TEST SP, [BP+SI+D16]
CMP CX, [SI+D16]

XCHG AH, DH
MOV [BX+SI+D16], AL

6

TEST BH, [BP+SI+D16]
CMP [DI+D16], AX

XCHG CH, DH
MOV [BX+SI+D16], BP

7

TEST CH, [BP+DI+D16]
CMP AX, [BP+D16]

XCHG DH, DL
MOV [BX+DI+D16], DX

8

TEST DX, [BP+DI+D16]
CMP CH,[BX+D16]

XCHG DL, BH
MOV [BX+DI+D16], SI

Tabela 3:

REG,

R/M

W=0 W=1 REG,

R/M

W=0 W=1

000

AL

AX

100

AH

SP

001

CL

CX

101

CH

BP

010

DL

DX

110

DH

SI

011

BL

BX

111

BH

DI

Zadania dodatkowe wykonywania w czasie trwania ćwiczeń laboratoryjnych:

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

dowolne z rozkazów:

1. CMP,
2. TEST,

3. MOV,
4. AND,

5. OR,
6. XOR.

Dla dowolnej wartości W i D, dla MOD = 10 i R/M zawartego w przedziale 000 – 011.

D_2. Wartości D16 zapisz w postaci Big endian.
D_3. Argumenty w pamięci RAM zapisz w postaci Little endian.
D_4. Uwzględnij Tabelę 4.
D_5. Zadbaj o to by napisany program zajmował jak najmniej komórek pamięci mikro

rozkazów.

Tabela 4:

Operacja

Rozkazy

OF CF SF ZF

Dodawanie, ADD ADC SUB SBB

+

+

+

+

odejmowanie CMP NEG CMPS SCAS

+

+

+

+

INC DEC

+

-

+

+

Logiczne

AND OR XOR TEST

0

0

+

+

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

2 z 3

background image

POLITECHNIKA KOSZALIŃSKA - WYDZIAŁ ELEKTRONIKI I INFORMATYKI

Architektura komputerów

Zadanie laboratoryjne N 10

Tabela 5:

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.

3 z 3


Document Outline


Wyszukiwarka

Podobne podstrony:
infa, Inf Lab10 11
infa Inf Lab10 11
infa, Inf Lab10 11
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

więcej podobnych podstron