POLITECHNIKA KOSZALIŃSKA - WYDZIAŁ ELEKTRONIKI I INFORMATYKI
Architektura komputerów
Zadanie laboratoryjne N 1
Zadanie laboratoryjne N 1
TEMAT: W
PROWADZENIE
DO
PROGRAMU
A
RCHITEX
– D
ODAWANIE
L
ICZB
32 B
ITOWYCH
Celem niniejszego zadania jest zapoznanie się studentów z architekturą systemu komputerowego
zawartego w programie Architex oraz z jego podstawowymi mikrooperacjami i dyrektywami, poprzez
napisanie krótkiego i prostego programu w mikroasemblerze.
Zadania podstawowe do wykonywania w czasie trwania zajęć laboratoryjnych:
1. Zapoznać się z budową i działaniem programu Architex,
2. Dodaj ręcznie (pisemnie) do siebie 32 bitowe liczby X i Y zadane w następujący sposób:
X = Nr_indeksu_1 OR 0000 8000h
Y = Nr_indeksu_2 OR 0000 E900h
3. Zapoznaj się z następującymi dyrektywami:
−
EQU – powoduje przydzielenie symbolicznej nazwy do stałej, rejestru lub dowolnej
mnemoniki, więc możliwa jest zmiana wielu wystąpień danego elementu poprzez jedno
miejsce w programie;
−
ACCEPT – umożliwia ustawienie wartości początkowej, np. rejestru ogólnego
przeznaczenia.
4. Wykorzystując wyżej wymienione dyrektywy nazwij i załaduj odpowiednimi wartościami 6
rejestrów ogólnego przeznaczenia (R0 – R15).
5. Zapoznaj się z następującymi instrukcjami:
−
ADD – mikro instrukcja dodawania o formacie:
ADD rezultat, argument_1, argument_2, przeniesienie_pomocnicze;
−
LOAD – umożliwia między innymi załadowanie rejestru flag (RM lub RN) znacznikami
uzyskanymi po wykonaniu poprzedniej operacji.
6. Wykorzystując wyżej wymienione instrukcje napisz program wykonujący operację dodawania dla
liczb zadanych powyżej. (Porównaj otrzymany wynik z rezultatem z kartki :)
7. Następnie rozbudowując program, przesuń uzyskany wynik zgodnie z wariantem podanym w
Tabeli 1 i Tabeli 2, wykorzystując w tym celu poniższe dyrektywy i instrukcje:
−
SRL – przesunięcie logiczne w prawo (na najstarszy bit wchodzi 0, najmłodszy bit
przenoszony jest do flagi RM_C),
−
SLL – przesunięcie logiczne w lewo (na najmłodszy bit przyjmuje wartość 0, najstarszy
bit przechodzi do flagi RM_C),
Tabela 1
Suma nr
indeksów
Kierunek przesunięcia
Parzysta
Lewo
Nieparzysta
Prawo
−
SR.9 – przesunięcie z przeniesieniem w prawo (na najstarszy bit wchodzi zawartość flagi
1 z 2
POLITECHNIKA KOSZALIŃSKA - WYDZIAŁ ELEKTRONIKI I INFORMATYKI
Architektura komputerów
Zadanie laboratoryjne N 1
RM_C i najmłodszy bit wychodzi do flagi RM_C),
−
SL.25 – przesunięcie z przeniesieniem w lewo (na najmłodszy bit wchodzi zawartość flagi
RM_C i najstarszy bit wychodzi do flagi RM_C).
Zadania dodatkowe do wykonania w czasie trwania zajęć laboratoryjnych:
D_1.Zapoznaj się z następującymi mikroinstrukcjami:
LOOP,
RFCT,
RPCT,
PUSH,
LDCT.
D_2.Zapoznaj się z dyrektywą LINK.
D_3.Zmodyfikuj wcześniej uzyskany program, przesuwając wielokrotnie liczbę 32 bitową,
zgodnie z Tabelą 2.
Tabela 2:
Nr stanowiska Rodzaj pętli
Liczba powtórzeń
1
LOOP
5h
2
RPCT
14
3
RFCT
32
4
LDCT
16
5
LOOP
10h
6
RPCT
12h
7
RFCT
6h
8
LDCT
14h
9
LOOP
24
10
RFCT
12h
2 z 2