64 4. Program ćwiczeń
{ Procedura rekurencyjna } Fib: SOZ Kończ
ODE St1 SOZ Wracaj LAD Rob2 PSH Rob 2 SDP Fib LAD Robi POP Rob2 PSH Robi POB Rob2 ODE St1 SDP Fib POP Robi DOD Robi
Kończ: PWR 0 | |
Wracaj: |
OOD St1 PWR 0 |
Robi: |
RPA |
Rob2: |
RPA |
Stl: |
RST ID KON |
W trakcie ćwiczenia studenci zapoznają się z budową i działaniem układu przerwań oraz przygotowują rozkazy dla maszyny EW w wersji przerywalnej.
4.5.1. Rozkaz dodawania w wersji przerywalnej
Podać treść pliku opisu rozkazu dla rozkazu dodawania w wersji przerywalnej dla układu przerwań o organizacji liniowej.
Nowo tworzony rozkaz nie różni się niczym od zwykłego rozkazu dodawania poza koniecznością wykrywania przerwań i reakcji na nic. Dodatkowe czynności, związane z obsługą przerwań, będą wykonywane w końcowej części rozkazu. Najpierw, za pomocą sygnału ęnj, testowany jest stan sygnałów zgłoszeń przerwań. Gdy pojawi się jakieś zgłoszenie, następuje wyznaczenie adresu procedury obsługi przerwania, zachowanie śladu i przejście do wykonywania tejże procedury obsługi. Gdy brak jakiegokolwiek zgłoszenia przerwania, przechodzimy do wykonania następnego rozkazu. Pełny opis czynności związanych z wykonaniem rozkazu dodawania w wersji przerywalnej podano poniżej:
((A)) -* S czyt odczyt rozkazu
(S) -* I wys. wgi i jego dekodowanie
(L) + 1 -* L |
U |
L wskazuje następny rozkaz |
(Ad) - A |
wyad. wea |
adres argumentu do rej. A |
«A))-S |
czyt |
odczyt argumentu |
(Ak)+(S) -* Ak |
wys, weja. dod, weak |
obliczenie sumy |
czy przerwanie? |
cni |
testowanie zgłoszeń przerwań |
jeśli wystąpiło przerwanie to: |
obsługa przerwania | |
(L) -* S |
wyl, as, wes |
zapamiętanie śladu powrotu |
(Ap) - A |
wyap, wga |
w pierwszej komórce |
(S) - (A) |
pisz |
procedury obsługi |
(Ap) - L |
wyap, wel |
wyznaczenie adresu kolejnego rozkazu |
(L) + 1 -* L |
il |
do wykonania |
nnt |
przerwanie zostało przyjęte | |
<L) - (A) |
wyl, wea |
przygotowanie następnego rozkazu |
Możemy teraz podać treść pliku z opisem rozkazu dodawania w wersji przerywalnej: ROZKAZ TYP = EW MNE = DOD
OPIS - '(Ak) + ((Ad)) -> Ak, wersja przarywalna'
AKCJA
czyt wys wei II; wyad woa :
czyt wys woja dod wsak oni CZY NIE STNJNT DALEJ na_koniec ; wyl as was ; wyap wea wal ; pisz rlnt II ; nakoniec: wyl woa ;
KONIEC
Przy omawianiu układu przerwań zamieszczono schemat blokowy algorytmu dla rozkazu dodawania w wersji przerywalnej (rys. 2.4.) w przypadku liniowej organizacji układu przerwań. W przypadku układu przerwań o organizacji wektoryzowanej algorytm ten należałoby nieco zmienić, usuwając sygnał nnt z przedostatniego taktu (sygnał ten pojawiłby się wtedy dopiero w rozkazie powrotu z przerwania).