Tryby adresowania:
Składnia
Nazwa
S
Dn
Bezpośrednie rejestru danych
1
An
Bezpośrednie rejestru adresowego
(An)
Pośrednie rejestrem adresowym
(An)+
Pośrednie rejestrem adr. z postinkrementacją
-(An)
Pośrednie rejestrem adr. z predekrementacją
w(An)
Pośrednie rejestrem adr. z przesunięciem
2
b(An,Rn)
Pośrednie rejestrem adr. z indeksem
w
Absolutnie krótkie
l
Absolutnie długie
3
w(PC)
Licznikiem programu z przesunięciem
b(PC,Rn)
Licznikiem programu z indeksem
#x
Natychmiastowe (x = 8, 16 lub 32)
SR
Rejestru statusowego (uprzywilejowane)
CCR
Rejestru kodów warunków
Stany wyjątkowe:
Sytuacje gdy normalnie wykonywany program jest przerwany zmieniony zostaje status uP i wykonana zostaje odpowied procedu.
Stany wyjątkowe generowane wewnątrz. Błędy wewn.:
błąd adresowania; naruszenie uprzywilejowania; instrukcje nierealne i niezaimplementowane; pułapki; śledzenia
Stany wyjątkowe generowane wewnątrz.
Błąd magistrali; zerowanie; żądanie przerwania
Na stosie nadzorcy zostaje zapisana zawartość PC oraz SR, wyzerowany bit śledzenia T, ustawiony bit nadzorcy S, jeśli stan wyj. został wywołany z zew. to zostaje uaktualniona maska przerwań, do licznika Pc zostaje załadowany odpowiedni wektor wskazujący adres procedury obsługi danego stanu wyj. w przypadku wystąpienia stanu wyj. błędu magistrali, lub błędu adresowania na stosie nadzorcy tworzona jest ramka stosu w której zapisywane są dodatkowe informacje
Ramka stosu stanu wyj. błędu magistrali i błędu adresowania
15
5
4
0
A7à
R/W
I/N
Dostęp
+2
Starsze słowo błędnego adresu
+4
Młodsze słowo błędnego adresu
+6
Pierwsze słowo instrukcji
+8
Rejestr statusowy
+10
Starsze słowo licznika programu
+12
Młodsze słowo licznika programu
Linia(dwukierunkowa) wysterowywana przez urządzenie zewnętrzne, powoduje zatrzymanie uP po zakończeniu aktualnego cyklu. Wszystkie sygnały stają się nieaktywne, a linie trójstanowe przechodzą w stan wysokiej impedancji. uP przebywa w tym stanie aż sygnał HALT przejdzie w stan wysoki. HALT pracuje jako linia wyjścia np. w przypadku wystąpienia podwójnego błędu magistrali wtedy uP wysterowywuje tą linię i przechodzi w stan zatrzymania. Jednoczesne wysterowanie linii HALT i BERR powoduje powtórzenie ostatniego cyklu magistrali, a HALT i RESET powoduje całkowite wyzerowanie uP.
Błąd magistrali, linia informująca uP że wystąpił błąd podczas ostatniego cyklu magistrali, pojawia się gdy urządzenie nie wystawiło na czas sygnału
DTACK. uP rozpoczyna obsługę stanu wyj. błędu magistrali
!BERR
!HALT
normalna praca
pojedynczy cykl magistrali
błąd magistrali stan wyj.
błąd magistrali powtórzenie ostatniego cyklu
uP został wyposażony w programowy mechanizm pracy krokowej, po każdym prawidłowym zakończeniu instrukcji jest inicjowany stan wyj. śledzenia. Wejście w tryb pracy krokowej umożliwia bit T w rejestrze SR, powodujący stan wyj. śledzenia po każdej instrukcji. Stan wyj. śledzenia może być przerwany błędem magistrali lub adresowania, nielegalną instrukcją lub błędem adresowania.
Linią HALT która po stwierdzeniu niskiego stanu aktywnego, kończy cykl po czym wchodzi w stan nieaktywny bądź wysokiej impedancji na swoich wyjściach i pozostaje w nim dopóki utrzymany jest stan niski na linii HALT.
Skok bezwarunkowy operuje na przesunięciu 8 lub 16 bitów PC +przesunięcieàPC
Jest szczególnym przypadkiem stanu wyj., który nie zapisuje na stosie żadnych informacji. Wektory zerowania zapisane są w przestrzeni programu nadzorcy a nie w przestrzeni danych. podczas obsługi tego stanu przerwane zostaje aktualnie wykonywane zadanie, bit nadzorcy S zostaje ustawiony, bit śledzenia T wyzerowany, maska przerwań ustawiona na pozycję 7, do rejestru wskaźnika nadzorcy SSP ładowany jest wektor zerowy, a do licznika programu wektor pierwszy, uaktywniona zostaje linia RESET w celu wyzerowania urządzeń, pozostałe rejestry są nieokreślone
Instrukcja testuje bit nadmiaru V rejestru statusowego i gdy jest ustawiony wywołuje stan wyj. o wektorze nr.7
Instr. powoduje wywołanie stanu wyj. o wektorze zależnym od stałej N
wektor...
wachu32