36 3. Opis symulatora
3.1.5. Realizacja układu przerwań
Układ przerwań, występujący w symulatorze, jest układem wielopoziomowym, hierarchicznym i masko walnym. Istniejące rozwiązanie pozwala wybierać to. czy jest układem typu wywłaszczanego, czy nie. Wprowadzono także możliwość określania, przez użytkownika, adresów początków programów obsługi przerwań w specjalnie przygotowanej do tego celu tablicy.
Dla Symulatora przewidziano czteropoziomowy układ przerwań w przypadku symulacji maszyny cyfrowej typu EW i L. Przerwania mogą być zgłaszane z klawiatury przez naciśnięcie jednego z klawiszy funkcyjnych od FI do F4. Każdy z nich odpowiada zgłoszeniu o określonym poziomic priorytetu.
Dalsze informacje, dotyczące technicznych aspektów zastosowanego układu przerwań, podano poniżej.
Symulator maszyn W, F.W itp. wywołuje się uruchamiając program SYMULATR Warunkiem w pełni poprawnej pracy programu jest określenie, w zmiennej środowiska
0 nazwie EW PATH, ścieżki do zbiorów z tekstem pomocy (zbiory *.HLP). W najprostszy sposób można to zrobić tak :
SET EW_PATH=C:\MASZYNAW
Dla realizacji Symulatora przyjęto koncepcję wykonania programu w sytemic okien
1 menu. Na najwyższym poziomie menu występuje możliwość wyboru poszczególnych grup funkcji programu. Wybór następuje przez uaktywnienie jednej z pozycji menu głównego (rys.
3.3).
- Symulator — — ■ — ~1
Znicjalizacja Kaaambler MiJcrnftaaembler Opcjo Konfiguracja Koniec
Rys. 3.3. Postać menu głównego programu
Inicializacja: inicjalizacja stanu poszczególnych elementów m.c.;
Asscmblcr: operacje na poziomie asemblera jeżyka symbolicznego;
Mtkroasscmbler: operacje na poziomie mikroasemblera, tj. definiowanie nowych rozkazów, kompletowanie listy rozkazów itp.;
Opcie: dostępne opcje pracy symulowanej maszyny cyfrowej;
Konfiguracja wybór właściwej konfiguracji m.c.;
Koniec: zakończenie pracy symulatora.
Poszczególne pozycje zostały opisane dokładnie w kolejnych punktach tego rozdziału.
Po inicjaiizacji Symulatora, tj. po powrocie z dowolnego podmenu, na ekranie pojawia sie wybrana postać symulowanej maszyny cyfrowej oraz w linii statusu wyświetla się nazwy klawiszy, które wykorzystuje się do sterowania Symulacja. Są to odpowiednio.
Tab: wybór wyświetlanej postaci zawartości komórek pamięci operacyjnej.
Dostępne są dwa tryby: symbolicznie oraz binarnie;
11: selekcja wyświetlanych komórek pamięci operacyjnej;
FI -r- F4: zgłoszenie odpowiedniego przerwania (dostępne tylko dla maszyn L i EW); F5’. wyświetlenie (lub zamknięcie) okna z zawartością ekranu symulowanego monitora;
F6: przełączenie trybu pracy klawiatury (jako klawiatura symulatora lub
symulowanej maszyny EW);
£7: wykonanie w aktualnym trybie: Próg, Rozk, Takt;
F8: powiększenie lub pomniejszenie wymiarów okna zawartości pamięci
operacyjnej;
F9: edycja zawartości pamięci operacyjnej;
Alt-FlO: przerwanie wykonywania bieżącego programu (lub rozkazu) na symulowanej
maszynie (przydatne w przypadku "zapętlenia" programu).
3.2.1. Inicjalizacja elementów m.c.
W skład grupy funkcji Symulatora związanych z podmenu o nazwie Inicjalizacja (rys 3.4) wchodzą:
- Symulator ---i
Inicjalitacja A»»enbler KikreAaeemblar Opcja Konfiguracja Kcr.icc I
— inicjaliracja -, - ---1
Raaet maszyny Rejaatry wektory przerwań Punkty łacriywanla Zerowanie m.c.
Rys. 3.4. Postać menu Inicjalizacja
Reset maszyny: możliwość wyzerowoia wewnętrznych zmiennych symulatora.
Przydatna zwykle po przerwaniu wykonywania za pomocą klawiszy Alt-FlO;
Rejestry: możliwość modyfikowania zawartości poszczególnych rejestrów
wchodzących w skład struktury aktualnie symulowanej m.c.; Wektory przerwań: możliwość modyfikacji zawartości tzw. Wekiorów przerwań dla poszczególnych wejść sygnałów przerywających. Ta pozycja menu dostępna tylko dla m.c. typu L i EW;
Punkty zatrzymania: możliwość wprowadzania, modyfikacji oraz usuwania punktów zatrzymania programu podczas jego wykonywania w trybie Próg. Punkt zatrzymania to adres rozkazu w pamięci, przed wykonaniem