MaszynaW 29

MaszynaW 29



60 4. Program ćwiczeń

stosie i pobrania ze stosu odpowiedniej komórki pamięci. Druga to napisanie odpowiedniej procedury rekurencyjnej.

Zacznijmy od rozkazu skoku do procedury. Rozkaz ten przypomina rozkaz skoku bezwarunkowego SOB z ta różnica, że tym razem wymagane jest wcześniejsze zapamiętanie śladu (czyli adresu powrotu) na stosie. Zachowanie śladu powinno mieć miejsce bezpośrednio po zdekodowaniu rozkazu. Ponieważ rejestr X wskazuje na ostatnia zajęta komórkę na stosie, należy najpierw zdekrementować rejestr X (oczywiście korzystając z jednostki arytmetyczno-logicznej), a następnie przesłać aktualna zawartość licznika rozkazów L do komórki pamięci wskazywanej przez zawartość rejestru X Potem można już wykonać sam skok do procedury. Przedstawimy teraz definicję tego rozkazu za pomocy ciągu przesyłów międzyrejcstrowych:

((A)) - S

czyt

odczyt rozkazu

(S)-I

wys, wri

i jego dekodowanie

(L) + 1 - L

U

L wskazuje następny rozkaz

(Ak) - S

wyak, wes

przechowanie zawartości rej. Ak w rej. S

(X) - Ak

wyx, weja, pob, weak

przesianie X do JAL-u

(Ak) - 1 - Ak

jedn, weja. ode, weak

i dekrementacja rejestru X

(Ak) - X

wyak, wex

X wskazuje nowy szczyt stosu

(Ak) - A

wyak, sa, wea

adres szczytu stosu do rej. A

(S) -* Ak

wys. weja, pob, weak

przywrócenie starej zawartości Ak

(L) -* S

wyl, as, wes

zapisanie śladu (rej. L) w rejestrze S

(S) - (A)

pisz

i potem na szczycie stosu

(Ad) - L

wyad, wel

i wreszcie wykonanie skoku do

(Ad) - A

wyad, wea

odpowiedniej procedury

Część operacji przesyłów można połączyć ze sobą i tym samym zredukować liczbę taktów wymaganych dla wykonania tego rozkazu do dziewięciu. Poniżej przedstawiono opis rozkazu w postaci pliku opisu RTX.

ROZKAZ

TYP - EW MNE = SOP

OPIS = '(X) - 1 - X; (L) -* (X); (Ad) -* L'

AKCJA

czyt wys wei il; wyak wes; wyx weja pob weak; jedn weja ode weak; wyak wex sa wea; wys weja pob weak; wyl as wes: pisz;

wyad wel was;

KONIEC

Kolejnym etapem rozwiązania zadania jest zaprojektowanie rozkazu powrotu z procedury. Zadaniem tego rozkazu jest pobranie adresu powrotu ze stosu, a następnie wykonanie skoku pod ten adres. Odpowiednia lista przesyłów między rejestrowych:

((A)) - S

czyt

odczyt rozkazu

<S)-I

wys, wei

i jego dekodowanie

(L) + 1 -* L

ii

L wskazuje następny rozkaz

(Ak) - S

wyak, wes

przechowanie akumulatora w rej. S

(X) -+ A

wyx. sa, wea

wskaźnik stosu do rej. A

(X) -* Ak

wyx, weja pob, weak

(Ak) + 1 Ak

jedn, weja dod. weak

modyfikacja wskaźnika stosu

(Ak) -*> X

wyak, wex

(S) - Ak

wys, weja, pob. weak

przywrócenie zawartości akumulatora

((A)) -* S

czyt

odczyt adresu powrotu

(S) -+ L

wys, sa, wel

przesłanie go do rejestrów L

(S) -* A

wys, sa, wea

oraz A

Po połączeniu niektórych przesyłów we wspólne takty otrzymamy, podany poniżej, opis rozkazu powrotu z procedury:

ROZKAZ

TYP = EW MNE = PWR

OPIS = '({X» - L; (X) + 1 - X'

AKCJA

czyt wys wei fi; wyak wes;

wyx weja pob weak sa wob; jedn weja dod weak; wyak wex; wys weja pob weak; czyt wys sa wel wea;

KONIEC

Podobnie zostaną zdefiniowane pozostałe dwa rozkazy operujące na stosie. Zadaniem rozkazu PSH jest zapisanie na szczycie stosu zawartości wskazanej komórki pamięci, co skrótowo można opisać za pomocą następujących przesyłów:

(X) - 1 - X ((Ad)) - (X).

Rozkaz POP będzie pełnił odwrotną funkcję, to znaczy spowoduje pobranie liczby ze szczytu stosu i przesłanie jej do wskazanej w części argumentowej rozkazu komórki pamięci. Można co opisać za pomocą następujących przesyłów międzyrejestrowych:

((X)) - (Ad)

(X) + 1 - X.


Wyszukiwarka

Podobne podstrony:
MaszynaW 31 64 4. Program ćwiczeń { Procedura rekurencyjna } Fib:    SOZ Kończ O
MaszynaW 32 66 4. Program ćwiczeń 4.5.2. Rozkaz powrotu z przerwania dla wersji wektoryzowanej układ
MaszynaW 33 68 4. Program ćwiczeń Opis rozkazu w postaci pliku typu RTX wygląda następująco: { Rozka
Technika mikroprocesorowa ulega zmniejszeniu o 1, po programowym pobraniu ze stosu 1 bajtu (rozkazem
MaszynaW 27 56 4. Program ćwiczeń 4.1.2. Przykład 2 Podać sekwencję sygnałów mikrosterujących realiz
MaszynaW 27 56 4. Program ćwiczeń 4.1.2. Przykład 2 Podać sekwencję sygnałów mikrosterujących realiz
MaszynaW 28 58 4. Program ćwiczeń4.3. Maszyna W - symulator. Proste programy Ćwiczenie obejmuje zapo
13029 MaszynaW 27 56 4. Program ćwiczeń 4.1.2. Przykład 2 Podać sekwencję sygnałów mikrosterujących
54564 MaszynaW 30 62 4. Program ćwiczeń Mając przygotowane wszystkie potrzebne rozkazy, możemy przys

więcej podobnych podstron