MaszynaW 32

MaszynaW 32



66


4. Program ćwiczeń

4.5.2. Rozkaz powrotu z przerwania dla wersji wektoryzowanej układu przerwań

Każdą procedurę obsługi przerwania kończy rozkaz powrotu. Obecnie zajmiemy się zaprojektowaniem takiego rozkazu. Zadaniem tego rozkazu jest przywrócenie takiego stanu procesora, jaki istniał przed rozpoczęciem wykonywania procedury obsługi przerwania. W przypadku maszyny EW oznacza to przede wszystkim przywrócenie stanu licznika rozkazów. Zawartość tego rejestru jest chowana w pamięci w momencie wykrycia przerwania (zob. opis rozkazu dodawania w wersji przcrywalnej - rozdz. 2.2.1.2.). W ramach rozkazu powrotu należy zatem odczytać odpowiednia komórkę pamięci i odczytaną zawartość (adres następnego rozkazu) przesłać do rejestrów L i A. Zakładamy, źe argumentem rozkazu powrotu jest adres komórki pamięci, w której przechowywany jest ślad. Ponieważ rozkaz ten jest projektowany dla układu przerwań o organizacji wektoryzowanej, dodatkowo należy pamiętać o wyzerowaniu informacji o obsługiwanym przerwaniu za pomocą sygnału rint. Realizacja rozkazu powrotu z przerwania będzie zatem wymagać następujących przesyłów:

((A)) - S

czyt

odczyt rozkazu

<S)-I

wys, wgj

i jego dekodowanie

(L) + 1 - L

ii

L wskazuje następny rozkaz

0 - RP[iJ

rint

wyzerowanie odpowiedniego bitu rej. RP

(Ad) - A

wy ad, wea

odczytanie przechowywanego

<(A»-S

czyt

w pamięci adresu powrotu

<S)-L

wys, sa. wel

i przejście do wykonywania rozkazu

(S) -* A

wys, sa, wea

spod tego adresu

Podział sygnałów sterujących przesyłami na takty i zapisanie rozkazu powrotu z przerwania, w postaci pliku opisu rozkazu, pozostawia się Czytelnikowi.

4.6. Maszyna EW. Układ wejścia-wyjścia

Ćwiczenie obejmuje zapoznanie się z układem wejścia-wyjścia maszyny EW oraz zaprojektowanie kilku rozkazów wejścia-wyjścia i programu korzystającego z nich.

4.6.1. Przykładowy program

Napisać progTam, którego zadaniem jest wczytywanie znaków z urządzenia wejściowego i kopiowanie ich na urządzenie wyjściowe aż do wczytania znaku o kodzie 27. Operację wejścia-wyjścia zrealizować za pomocą specjalnych rozkazów.

Realizacja zadania wymaga zdefiniowania co najmniej dwu nowych rozkazów Zadaniem pierwszego z nich jest wczytanie znaku z urządzenia zewnętrznego o podanym adresie i zapisanie go w akumulatorze. Drugi rozkaz powinien wypisać na urządzeniu wyjściowym o podanym adresie znak, którego kod znajduje się w akumulatorze. Rozpocznijmy od rozkazu

4.6. Maszyna EW. Układ wejścia-wyjścia

67


wczytania znaku z urządzenia wejściowego. Argumemem tego rozkazu będzie adres urządzenia, z którego należy wczytać znak. Działanie tego rozkazu sprowadza się do wystartowania urządzenia zewnętrznego, a następnie sprawdzania jego gotowości. Jeśli przerzutnik GOT, w obwodzie wymiany, zostanie ustawiony (GOT = l), oznacza to, że w rejestrze buforowym obwodu wymiany znajduje się kod odczytanego znaku. Należy go wtedy przesłać do akumulatora i przejść do wykonywania następnego rozkazu. Za pomocą przesyłów międzyrejestrowych można to zapisać następująco:

((A)) -* S (S)-I (L) + 1 - L 1 - ST

czekaj aż GOT (RWc) - Ak


czyt    odczyt rozkazu

wys. węj    i jego dekodowanie

ii    L wskazuje następny rozkaz

start    zainicjowanie pracy urz. wejściowego

1 wyg    testowanie przerzutnika gotowości

wy we, weja,    przesianie kodu odczytanego znaku

pob, weak    do akumulatora

(L) — A    wyl, wga    przygotowanie następnego rozkazu

Ostatnim etapem projektu rozkazu jest zapisanie go w postaci pliku opisu rozkazu:

{ Rozkaz wczytania znaku z klawiatury }

ROZKAZ TYP - EW MNE - WPR KOD - 000

OPIS =* '< OWIAdl ) -> Ak'

AKCJA

czyt wys wei il ; strt ; czekaj:

wyg CZY STN_0_magS DALEJ czekaj ; wywe waja pob weak wyl wea ;

KONIEC

Drugim etapem realizacji opisywanego zadania jest zaprojektowanie rozkazu wypisującego znak na urządzenie wyjściowe. Tym razem najpierw należy przesłać kod znaku do rejestru wejściowego obwodu wymiany, a dopiero potem wystartować urządzenie i czekać na ustawienie przerzutnika gotowości. Poniżej podano opis działania rozkazu w postaci listy przesyłów międzyrejestrowych:

((A)) — S    czyt    odczyt rozkazu

(S) — I    wys, wei    i jego dekodowanie

(L) + 1 — L    il    L wskazuje następny    rozkaz

(Ak) — RWe    wyak,    wcwv    przesłanie znaku do rejestru buforowego

I — ST    start    wystartowanie urządzenia wyjściowego

czekaj aż GOT    = 1    wyg    testowanie zakończenia operacji

(L) — A    wyl,    węą    przejście do następnego rozkazu


Wyszukiwarka

Podobne podstrony:
MaszynaW 33 68 4. Program ćwiczeń Opis rozkazu w postaci pliku typu RTX wygląda następująco: { Rozka
54564 MaszynaW 30 62 4. Program ćwiczeń Mając przygotowane wszystkie potrzebne rozkazy, możemy przys
MaszynaW 29 60 4. Program ćwiczeń stosie i pobrania ze stosu odpowiedniej komórki pamięci. Druga to
MaszynaW 31 64 4. Program ćwiczeń { Procedura rekurencyjna } Fib:    SOZ Kończ O
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

więcej podobnych podstron