Wykonawca: |
---|
Laboratorium Podstaw Informatyki |
Temat: |
Rok Akademicki |
2006/2007 Semestr Letni |
ROZWIĄZANIA
Dodatkowe rozkazy oraz zmodyfikowane POB, DOD i ODE.
PWRP – powrót z przerwania
(Rozkaz powrotu z przerwania sciąga ze stosu ślad oraz wartość akumulatora, aby powrócić do odpowiedniego miejsca w programie, z odpowiednią wartością w akumulatorze.)
czyt wys wei il ;
wyx sa weja przep weak wea ;
czyt wys sa wel iak ;
wyak sa wea iak ;
wyak wex ;
czyt wys weja przep weak wyl wea ;
MSK – rozkaz maski
(Rozkaz ustawiający odpowiednią wartość w rejestrze maski.)
czyt wys wei il ;
wyad werm ;
wyl wea ;
DOD – dodawanie przerywalne
(Rozkaz dodawanie przerywalnego jest to zwykły rozkaz dodawania, zmodyfikowany odpowiednio, aby w momencie wystąpienia przerwania zrzucił na stos wartość akumulatora oraz ślad.)
czyt wys wei il ;
wyad wea eni int @0 ;
czyt wys weja dod weak wyl wea !
@0 czyt wys weja dod weak ;
wyak wes ;
wyx weja przep weak ;
dak wys wex ;
wyak sa wea ;
dak pisz wyls wes ;
wyak sa wea ;
pisz wyx wes ;
wyak wex ;
wys weja przep weak wyap wel wea rint ;
ODE – odejmowanie przerywalne
(Rozkaz odejmowania przerywalnego jest to zwykły rozkaz odejmowania, zmodyfikowany odpowiednio, aby w momencie wystąpienia przerwania zrzucił na stos wartość akumulatora oraz ślad.)
czyt wys wei il ;
wyad wea eni int @0 ;
czyt wys weja ode weak wyl wea !
@0 czyt wys weja ode weak ;
wyak wes ;
wyx weja przep weak ;
dak wys wex ;
wyak sa wea ;
dak pisz wyls wes ;
wyak sa wea ;
pisz wyx wes ;
wyak wex ;
wys weja przep weak wyap wel wea rint ;
POB – pobieranie przerywalne
(Rozkaz pobierania przerywalnego jest to zwykły rozkaz pobierania, zmodyfikowany odpowiednio, aby w momencie wystąpienia przerwania zrzucił na stos wartość akumulatora oraz ślad.)
czyt wys wei il ;
wyad wea ;
czyt wys weja przep weak wyl wea ;
eni int @0 ;
!
@0 wyak wes ;
wyx weja przep weak ;
dak ;
wyak wex sa wea ;
pisz wyls wes dak ;
wyak wex sa wea ;
pisz wyap wel wea rint ;
Program zliczający ilość wystąpienia danego przerwania. Po wystąpieniu 5 przerwań danego priorytetu, do akumulatora wpisywany jest numer tego przerwania i program kończy działanie. (Dokładna treść dostępna u prowadzącego.)
SOB start
SOB przerwanie_1
SOB przerwanie_2
SOB przerwanie_3
SOB przerwanie_4
start:
POB znak
WYP 31
SOB start
przerwanie_1:
MSK 15
POB p1
DOD jeden
ŁAD p1
POB st49
WYP 31
WYP 31
WYP 31
POB st4
ODE p1
SOM koniec_1
MSK 0
PWRP
przerwanie_2:
MSK 15
POB p2
DOD jeden
ŁAD p2
POB st50
WYP 31
WYP 31
WYP 31
POB st4
ODE p2
SOM koniec_2
MSK 0
PWRP
przerwanie_3:
MSK 15
POB p3
DOD jeden
ŁAD p3
POB st51
WYP 31
WYP 31
WYP 31
POB st4
ODE p3
SOM koniec_3
MSK 0
PWRP
przerwanie_4:
MSK 15
POB p4
DOD jeden
ŁAD p4
POB st52
WYP 31
WYP 31
WYP 31
POB st4
ODE p4
SOM koniec_4
MSK 0
PWRP
koniec_1:
POB jeden
STOP
koniec_2:
POB st2
STOP
koniec_3:
POB st3
STOP
koniec_4:
POB st4
STOP
p1 : RST 0
p2 : RST 0
p3 : RST 0
p4 : RST 0
zero : RST 0
jeden : RST 1
piec : RST 5
znak : RST 35
st2 : RST 2
st3 : RST 3
st4 : RST 4
st49 : RST 49
st50 : RST 50
st51 : RST 51
st52 : RST 52