background image

POLITECHNIKA KOSZALIŃSKA - WYDZIAŁ ELEKTRONIKI I INFORMATYKI

Architektura komputerów

Zadanie laboratoryjne N 2

Zadanie laboratoryjne N 2

TEMAT: C

YKL

 P

RZETWARZANIA

 R

OZKAZU

Celem   niniejszego   zadania   jest   zapoznanie   się   studentów   z   cyklem   przetwarzania   rozkazów, 

pamięcią RAM i dostępem do niej. W tym celu utworzymy rozkaz zwiększający zawartość licznika 
rozkazów, tzw. NOP (No Operation). Format tego rozkazu przedstawiono na Rys. 1.

Dla   potrzeb   tworzonego   przez   nas   systemu   mikroprocesorowego   przyjmiemy   następujące 

założenia: rejestry ogólnego przeznaczenia tj. AX, CX, DX i BX będą znajdowały się odpowiednio w 
rejestrach R0, R1, R2 i R3, rejestry indeksowe SP, BP, SI i DI natomiast w rejestrach odpowiednio R4, 
R5, R6 i R7. Rejestry segmentowe zostaną przypisane do następujących rejestrów CS – R8, SS – R9 i 
DS – R10, licznik rozkazów umieścimy w rejestrze R15, a rejestr rozkazów w R14. Pozostałymi 
trzema rejestrami tj. R11, R12 i R13 można dysponować dowolnie. Rejestrem flagowym tworzonego 
przez nas procesora jest rejestr RN.

Zagadnienia do opracowania przed przystąpieniem do wykonywania zadania:

1. Sposób tworzenia adresu fizycznego (adresu efektywnego) w procesorze 8086.
2. Cykl przetwarzania rozkazu (odczyt, dekodowanie, wykonanie operacji).
3. Czym są i do czego służą następujące rejestry, w  procesorze 8086:

-

AX,

-

CX,

-

DX,

-

BX,

-

SP,

-

BP,

-

SI,

-

DI,

-

CS,

-

SS,

-

DS,

-

ES,

-

licznik rozkazów,

-

rejestr rozkazów.

4. Zapoznaj się ze stroną zatytułowaną „Programowa implementacja wybranych rozkazów 

przykładowego procesora” z pliku Help Architex'a. 

5. Do czego służą następujące mikroinstrukcje i dyrektywy:

-

LINK,

-

CJP,

-

MACRO,

-

CRTN,

-

LOOP,

-

PUSH,

-

RFCT,

-

RPCT,

-

LDCT,

-

OEY,

-

EWH,

-

EWL,

-

R,

-

DW.

Tabela 1: 

Nr stanowiska Kod operacji Nr stanowiska Kod operacji

1

0110 1111

6

0110 1010

2

0110 1110

7

0110 1001

3

0110 1101

8

0110 1000

4

0110 1100

9

0110 0111

5

0110 1011

10

0110 0110

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

P_1. Stwórz   nowy   plik   z   programem,   w   którym   umieść   przy   pomocy   dyrektywy   EQU 

odpowiednie oznaczenia dla poszczególnych rejestrów.

1 z 2

Rysunek 1.: Format rozkazu NOP.

15

8 7

5

3 2

0

6

4

1

13

11 10

14

12

9

Kod operacji

X

X

X

X

X

X

X

X


background image

POLITECHNIKA KOSZALIŃSKA - WYDZIAŁ ELEKTRONIKI I INFORMATYKI

Architektura komputerów

Zadanie laboratoryjne N 2

P_2. Rozkaz   umieść   w   komórce   pamięci   RAM   o   adresie   00010h.   Załaduj   odpowiednio 

rejestry CS i licznika rozkazów.

P_3. Wydziel z przestrzeni pamięci mikrorozkazów obszary odpowiadające kolejnym fazom 

cyklu przetwarzania rozkazu (umieść odpowiednie etykiety).

P_4. Napisz program wykonujący pełen cykl przetwarzania dla rozkazu typu NOP o kodzie 

rozkazu zawartym w Tabeli 1.

P_5. Stwórz i wykorzystaj przynajmniej 4 różne makra.

Zadania dodatkowe do wykonania w czasie trwania zajęć laboratoryjnych:

D_1. Umieść trzy rozkazy NOP w komórkach pamięci RAM zaczynając od adresu podanego w 

Tabeli 2. Załaduj odpowiednio rejestry CS i licznika rozkazów.

D_2. Zmodyfikuj program tak aby wszystkie trzy rozkazy wykonały się poprawnie.

Tabela 2: 

Nr st.

CS

Licznik

rozkazów

Nr st.

CS

Licznik

rozkazów

1

1234h

FFFEh

6

2345h

FFFEh

2

3456h

FFFFh

7

4567h

FFFEh

3

5678h

FFFFh

8

6789h

FFFFh

4

789Ah

FFFEh

9

89ABh

FFFFh

5

9ABCh FFFFh

10

ABCDh FFFEh

2 z 2


Document Outline