252 253

252 253



252

wykpnywanla'innych bardziej w danej chwilię^trzebnych obliczeń,a po Ich zakończeniu powrót do przerwanych. Współczesne komputery posiadają mechanizm pozwalający na takie przerywanie obliczeń. Mechanizm ten nosi nazwę przerwania, a powodujący Je sygnał zewnętrzny nazywa się Żądaniem przer- ■ wania.    >

W procesorze 8080 urządzenie zewnętrzne może zainicjować przerwanie przez podanie 1 na wejście INT procesora, żądanie przerwania zostanie zaakceptowane, gdy wewnętrzny przerzutnik INTE Jest w stanie 1 (stan prze-rzutntka INIE można, Jak pamiętamy, ustawiać rozkazami El i DI). Po zaobserwowaniu żądania przerwania fj-P doprowadza dtj końca wykonanie bieżącego rozkazu i przechodzi do specjalnego cyklu Ml, podając na szynę danych status POTWIERDZENIE PRZERWANIA oraz zerując wewnętrzny przerzutnik INTE.

W‘czasie tego cyklu nie zwiększa się zawartość lięznita rozkazów, co dodatkowo różni go od występującego normalnie Jako M1 cyklu POBRANIE ROZKAZU. Wreszcie, w cyklu tym jj.P pobiera rozkaz skoku do podprogramu, przechowywany poza pamięcią i, podawany na szynę danych przez urządzenie żądające przerwania. Zwykle Jest to Jednobajtowy rozkaz restaętu (RST 0 +2317), powodujący stok do Jednego z- ośmiu adresów w pamięci, z zapamiętaniem ‘ w stosie stanu licznika rozkazów poprzedzającego skok.

*

AMEt

WYKMIWANEU

OtlUIll

W Midi U2KA2U

IDAHENIA

.— UDANIE NIE RWANIA

mi

M0V A,0

/ 2 WAPIENIA NA 3

1002

ADO C

_y- WAPIENIE NA 3 WNUE

200J .

MW M,A^"~

I0IKAI ROT 3 W WYNIKU CIEM KtP)-t)— 2S* (PCH)

0010

PUSH PSW—-

((SP)-2)— 03= (PU) ' (PC)—0010 1 PAOCttOR NIEtllStll

lit)    HJSH 0



(peny— • n

(PCI)— «») -I) • EJ

i paocesoa punuom do


V


Rys. 6.9. Sekwencja wykonywanych rozkazów przy przerwaniu. (Wszystkie adresy podane są w kodzie szesnastkowym)'

.'a rys. 6.9 przedstawiono przykładową sekwencję rozkazów przy przerwaniu. W czasie wykonywania rozkazu o adresie 2BB2H*^ nadszedł sygnał żądania przerwania z urządzenia nr 3 1 po wykonaniu tego rozkazu przez jzP

*P Łltara H na końou wskazuje, że Jest to liczba szesnastkowa.

urządzenia.to wysiało na szynę danych rozkaz RST 3» Wczytanie tego rozkazu przez y.P w cyklu POTWIERDZENIE PRZERWANIA spowodowe' > przesłanie do stosu zawartości licznika rozkazów 2BB3, zaś do liczni^ rozkazów liczby 0018H (sprawdź). Następnym rozkazem pobranym przez |uP z pamięci jest więc rozkaz o adresie 0018H. Ten i kolejno po nim następujące, aż do rozkazu RET włócznie, tworzą program obsługi przerwania. Pobranie przez jj.P rozkazu RET powoduje odczytanie ze stosu poprzedniej zawartości licznika rozkazów i powrót do miejsca, gdzie nastąpiło przerwanie wcześniej wykonywanego programu.

Rozkaz RST umożliwia skok do jednego z ośmiu adresów, wynoszących0000H, 0008H, 001OH, 0018H, 0020H, 0028H, 0030H, 003SH. Kolejne adresy skoku odległe są o 8 komórek pamięci, co wystarcza do umieszczenia kilku pierwszych rozkazów programu obsługi przerwania, w tym rozkazu skoku JMP do innego obszaru pamięci zawierającego resztę tego programu.

Ponieważ program obsługi przerwania zazwyczaj operuje na wewnętrznych rejestrach i wskaźnikach, ich poprzednia zawartość powinna być zachowana, aby po ukończeniu obsługi przerwania, dawny program mógł być poprawnie kontynuowany. Poniżej podano przykładowy program obsługi przerwania zabezpieczający rejestry A, H,hL 1 wskaźniki.

0018

PUSH PSW

10BO-)

LXI H.3DOOH

0019

PUSH H

10B1 V

001A

El

10B2 J

001B

JMP 10B0H

1 0B3\

IN 2

0010

10B4 J

001D

10B5

ADD M

m

1 0B6

MOY M,A

*

1 0B7

POP H

10B8

POP PSW

10B9

RET

Obsługa przerwania polega tu na dodaniu bajtu wczytanego z wejścia 2 do zawartości komórki pamięci o adresie 3D00H. Najpierw jednak rozkaz PUSH KIA przesyła do stosu zawartość akumulatora i wskaźników, zaś PUSH H przesyła tamże zawartość pary rejestrów H, L. Po zabezpieczeniu potrzebnych danych zezwala się na dalsze przerwania ustawiając rozkazem El wewnętrzny przerzutnik INTE, wyzerowany uprzednio sygnałem żądania przerwania INT. Następnie rozkaz JMP 10B0H powoduje skok do komórki 10B0H, gdzie rozpoczyna się właściwy program obsługi przerwania. Wreszcie rozkazy POP H i POP PSW przywracają rejestrom ;H,L, akumulatorowi i wskaźnikom stan, jaki miały w chwili przerwania, zaś rozkaz RET przywraca taki stan licznikowi rozkazów, w związku z czym procesor przystępuje do kontynuowania programu zawieszonego przerwaniem.

W powyższym przykładzie rozkaz El zezwalał na dalsze przerwania natychmiast po zabezpieczeniu w stosie wszystkich potrzebnych danych, Można tak czynić, jeżeli obsługa dalszych przerwań nie wymaga zakończenia aktualnego przerwania; w przeciwnym wypadku rozkaz El należy umieścić przed rozkazem RET.


Wyszukiwarka

Podobne podstrony:
252 253 252 wykpnywanla innych bardziej w danej chwilię^trzebn^ch obliczeń,a po Ich zakończeniu powr
CCF20081221089 przekonania, iż ,prawdą” jest wyłącznie, to, co w danej ,J chwili, dokładnie hic et
CCF20120104031 252 253 Tu definicja jest bardziej “surowa” - wynika z niej 2 tylko obecność osobowe
image004 IV. Uzupełnij poniższy kod. tak aby w danej chwili co najwyżej jeden proces mógł jednocześn
skanuj0127 252 Współczynnik absorpcji promieniowania żarówki w szkle ołowiowym obliczamy z zależnośc
z podmiotów może postulować swoje pomysły i próbować zachęcać do poparcia innych członków danej
IMG35 84 Pojęcie tekstu tyle, że umowność ta na tle innych, bardziej specjalnych „języków” przestaj
IMG?00 (2) napięcie, które odpowiada napięciu danej chwili generowanego przebiegu Gdy generowany prz
page0193 183 skutki określone prawami przyrody; ale niepodobna pojąć, by siła fizyczna w danej chwil
skanuj0058 2 114 S. Równowagi joiwre w rozcieńczonych roztworach wodnych znanych jest kilka innych,
Skan2 emocjonalnych: podzielenie się tym, co dla dziecka ważne w danej chwili, prośba o wsparcie i
Wykorzystując ten sposób nie otrzymuje się rzeczywistych wartości występujących w danej chwili w
Powyższy zapis wynika oczywiście z faktu, iż dla przypadku SIMO kanał w danej chwili jest opisywany
image003 IV. Uzupełnij poniższy kod, tak aby w danej chwili co najwyżej jeden proces mógł jednocześ
IMG04 (4) 32 Analogicznie można wyznaczyć trajektorie innych elementów B i C, które w chwili tB zaw

więcej podobnych podstron