System testowy AMETES: Różnice pomiędzy wersjami
(Utworzono nową stronę "= Wstęp = AMETES jest to system operacyjny, jednodostępny, wyspecjalizowany w kierunku wykonywania testów. Niniejsze opracowanie zawiera opis współpracy użytkowni...") |
Nie podano opisu zmian |
||
Linia 547: | Linia 547: | ||
| 0510 || WSKBUF || Wskaźnik znaku do wczytania z bufora dyrektywy | | 0510 || WSKBUF || Wskaźnik znaku do wczytania z bufora dyrektywy | ||
|} | |} | ||
{{source|title=System testowy AMETES współpracujący z systemem operacyjnym CROOK-5/CROONIX|author=mgr inż. Bożena Padzik|date=Warszawa, marzec 1987}} |
Aktualna wersja na dzień 19:08, 9 cze 2015
Wstęp
AMETES jest to system operacyjny, jednodostępny, wyspecjalizowany w kierunku wykonywania testów. Niniejsze opracowanie zawiera opis współpracy użytkownika z systemem testowym. Opisany został:
- sposób załadowania do pamięci i wystartowanie systemu AMETES,
- przystosowanie go do posiadanej konfiguracji sprzętu,
- ustalenie potrzebnych parametrów,
- opis dyrektyw,
- opis reakcji systemu na przerwanie i sytuacje awaryjne.
W drugiej części opracowania znajdują się uwagi dotyczące testu i jego działania w systemie:
- budowa testu,
- możliwości ingerowania testu w pracę systemu,
- opis ekstrakodów.
Opis ogólny systemu testowego
System Testowy AMETES pozwala uruchamiać i wykonywać testy minikomputera MERA-400. Jest przystosowany do działania w środowisku zorganizowanym przez system operacyjny CROOK-5, tzn. korzysta z organizacji zbiorów tego systemu. Przed przystąpieniem do pracy, każdy użytkownik powinien uaktualnić informacje dotyczące konfiguracji sprzętu, zapisanie w odpowiednich miejscach systemu, (patrz: p.9). Informacje te dotyczą urządzeń wejścia/wyjścia i talerzy dyskowych.
Tablice DEVOU0 i DEVIN0 opisują 4 konsole operatorskie. W danej chwili System Testowy współpracuje z tą konsolą, której numer logiczny wskazywały klucze informacyjne KB pulpitu technicznego w momencie ostatniego naciśnięcia klucza OPRQ.
W każdej komórce opisana jest jedna konsola, w DEVOU0 jako wyjście, w DEVIN0 – wejście:
- na bitach 8-10 nr jednostki sterującej,
- na bitach 11-14 nr kanału.
Odpowiednią pozycję każdej z tych tablic, czyli numer logiczny konsoli, ustala operator za pomocą kluczy. Na przykład ustawienie na kluczach 14-15 wartości 3 powoduje ustalenie konsoli czwartej zarówno jako wyjście jak i jako wejście. Numery kanału. i jednostki sterującej pobierane są z pozycji DEVINO+3 dla rozkazu IN i z pozycji DEVOUO+3 dla rozkazu OU.
W tablicy TABDIN znajdują się zakodowane numery talerzy dyskowych. Bit 15 oznacza: 1 - talerz stały, 0 - talerz wymienny, na bitach 11-14 zapisany jest nr kanału, a na bitach 2-10 nr jednostki sterującej. Numery brakujących talerzy należy zastąpić liczbą -1.
AMETES ładowany jest do bloku zerowego pamięci operacyjnej przy pomocy dyrektywy CS systemu operacyjnego. Początkowo zgłasza się na konsoli o numerze 0. Jeżeli opis konsoli zerowej umieszczony w komórkach DEVIN0 i DEVOV0 nie odpowiada konfiguracji użytkownika, wtedy można bezpośrednio przed wywołaniem systemu dyrektywą CS, ustawić na kluczach informacyjnych KB aktualny opis konsoli zerowej. Wartość ta będzie zapisana w komórkach zerowych tablic DEVIN0 i DEVOU0. Jeżeli przy wywoływaniu systemu wszystkie klucze KB są w pozycji "0", wtedy opis konsoli pozostaje niezmieniony (patrz p. 9). Po zgłoszeniu się Systemu Testowego należy ustalić nazwę talerza dyskowego, do którego kierowane będą wszelkie transmisje. Wykonuje się to przy pomocy dyrektywy DN.
AMETES ładuje do pamięci testy przechowywane na talerzach dyskowych w postaci zbiorów typu ABS (patrz p.6). W celu umożliwienia znalezienia potrzebnych zbiorów należy dyrektywą US ustalić nazwę skorowidza, w którym są one zakatalogowane.
Tak przygotowany system gotowy jest do dalszej pracy.
Dyrektywy
Dyrektywy Systemu Testowego AMETES umożliwiają komunikację operator-system testowy i operator-test. Dyrektywy pozwalają na:
- załadowanie testu do pamięci,
- wystartowanie lub zrestartowanie testu,
- wydrukowanie zawartości pamięci operacyjnej,
- zmodyfikowanie zawartości komórek pamięci i rejestrów,
- ustawienie w teście punktów kontrolnych,
- powrót do systemu operacyjnego.
Opis dyrektyw
Ustalenie nazwy talerza dyskowego
- DN,<nazwa talerza>.
Wykonanie dyrektywy spowoduje, że wszystkie rozkazy transmisji dyskowych kierowane będą do talerza o wskazanej nazwie. Działanie dyrektywy polega na szukaniu w konfiguracji talerza o wskazanej nazwie. W celu bezpośredniego ustalenia zadanego talerza należy wykonać dyrektywę:
- DN;<nr talerza>.
<nr talerza> =
- b2 - b10 - nr jednostki sterującej
- b11- b14 - nr kanału.
- b15 = 1 - talerz stały
- b15 = 0 - talerz wymienny
Nr talerza zostanie wpisany na zerowe miejsce w tablicy TABDIN (patrz p. 9).
Ustalenie nazwy skorowidza
- US,<nazwa skorowidza>.
Załadowanie testu do pamięci
- LO,<nazwa testu>.
Dyrektywa powoduje załadowanie testu do pamięci operacyjnej, wyzerowanie Tablicy Stanu Testu, dołączenie dyrektyw własnych testu oraz ustalenie adresu startowego testu. Test jest szukany na dysku, którego nazwa podana została przez dyrektywę DN i ładowany do pamięci wg informacji zawartych w skorowidzu zbiorów ustalonym dyrektywa US.
Wystartowanie testu
- EX, <liczba powtórzeń>.
Dyrektywa powoduje załadowanie i zanegowanie licznika powtórzeń testu i uruchomienie testu od adresu startowego.
Wznowienie pracy testu
- RS.
Wykonanie dyrektywy wznawia pracę testu od miejsca ostatniego zatrzymania z zachowaniem stanu rejestrów wg Tablicy Stanu Testu.
Ustawienie stanu początkowego testu
- CL.
Dyrektywa ustawia test w stan początkowy tzn. zeruje rejestry, usuwa punkty kontrolne, ustala wartość licznika rozkazów na adres startowy.
Wydrukowanie zawartości rejestru
- DR [,<nr rejestru>].
Dyrektywa powoduje wydrukowanie zawartości wskazanego rejestru
- DR.
Ta postać dyrektywy powoduje wydrukowanie zawartości licznika rozkazów i wszystkich rejestrów R0-R7.
Załadowanie rejestrów
- LR,<nr rejestru>,<parametr>[..,<parametr>].
Efektem działania dyrektywy jest umieszczenie wartości kolejnych parametrów w rejestrach począwszy od podanego.
Załadowanie licznika rozkazów
- IC,<adres>[,<parametr>..,<parametr>].
Wykonanie dyrektywy spowoduje umieszczenie wartości adresu w liczniku rozkazów IC. Zakończenie jej przecinkiem powoduje przejście do umieszczania wartości podawanych parametrów w rejestrach poczynając od zerowego.
Zapisywanie informacji do komórek pamięci
- ST, <adres>,<parametr>[..,<parametr>].
Przy pomocy tej dyrektywy można umieścić kolejne parametry w pamięci poczynając od podanego adresu. W przypadku wykrycia błędnego parametru, wydrukowany zostaje adres, pod którym zapamiętano ostatni poprawny parametr.
Wydrukowanie zawartości pamięci
- PO,<adres 1>[,<adres 2>].
- PH,<adres 1>[,<adres 2>].
Dyrektywę stosuje się w celu wydrukowania zawartości pamięci od komórki <adres 1> do komórki <adres 2> w postaci liczb oktalnych (PO) lub liczb heksadecymalnych (PH). Jeżeli <adres 2> jest mniejszy od <adres 1> to traktowany jest jako ilość słów wydruku.
Ustawienie punktów kontrolnych
- TR[,<adres 1>][,<adres 2>].
Dyrektywa powoduje wstawienie jednego lub dwóch punktów kontrolnych. Gdy test osiągnie w czasie wykonywania któryś ze wskazanych adresów zostaje zatrzymany z wydrukiem komunikatu:
IC: licznik rozkazów
Punkt kontrolny zostaje wówczas osunięty.
Znaczenie poszczególnych wariantów dyrektywy jest następujące:
- TR,adres,adres - ustawienie obu punktów kontrolnych
- TR,0,0. - usuniecie obu punktów kontrolnych
- TR,adres. - ustawienie pierwszego punktu kontrolnego
- TR,adres. - ustawienie drugiego punktu kontrolnego
- TR,0. - usuniecie pierwszego punktu kontrolnego
- TR,,0. - usuniecie drugiego punktu kontrolnego
- TR. - zadanie pokazania obu punktów kontrolnych
Regeneracja Systemu Testowego
- RE.
Wykonanie dyrektywy powoduje ustawienie maszyny w stan początkowy (rozkaz MCL), odtworzenie tablicy przerwań i wskaźnika stosu.
Konwersja liczby
- CH,<liczba>.
Dyrektywa dokonuje konwersji podanej liczby na kod oktalny, heksadecymalny i znakowy. Podana liczba może być w kodzie dziesiętnym, oktalnym lub heksadecymalnym.
Przejście do systemu operacyjnego
- OS[,<nr sektora>].
Dyrektywa ładuje do pamięci system operacyjny zapisany na talerzu dyskowym wskazanym ostatnio wykonaną dyrektywą DN począwszy od podanego sektora. Pominiecie nr sektora jest równoznaczne z nr sektora równym 0.
Obsługa przerwań i stopy systemowe
W trakcie działania system może zatrzymać się na skutek wykonania rozkazu HLT z jednym z numerów oznaczających:
- 0 - system czeka na przerwanie z urzadz. znakowego
- 1 - zanik zasilania
- 2 - błąd parzystości
- 010
- 011 - brak odpowiedzi lub odp. PE po wydaniu rozkazu OU lub IN do urządzenia znakowego
- 012
- 013
- 014 - zanika zasilanie w interfejsie
- 017 - brak odp. OK na rozkaz rezerwacji pamięci przez system. (System wstępnie rezerwuje sobie 12k pamięci).
Pojawienie się przerwania POWER ALARM powoduje zachowanie stanu maszyny i zatrzymanie jej na stopie HLT,1.
AUTORESTART po wznowieniu zasilania odtwarza stan jednostki centralnej i wznawia przerwaną pracę.
Przerwanie PARZYSTOŚĆ PAMIĘCI powoduje zachowanie stanu maszyny i zatrzymanie jej na stopie HLT,2.
Po obsłużeniu przerwania POWER ALARM I/F system powraca do nasłuchu dyrektyw. Przerwaną pracę należy wznowić od początku.
Przerwania awaryjne takie jak brak pamięci, nieprawidłowy rozkaz, przerwanie z arytmometru oraz zgłoszenie operatora (OPRQ) są sygnalizowane odpowiednimi komunikatami zawierającymi adres miejsca, w którym nastąpiło zgłoszenie przerwania, po takim komunikacie system przechodzi na nasłuch dyrektyw.
Nieprawidłowe przerwania z kanału pamięciowego w czasie transmisji dyskowej oraz inne nieprzewidziane przerwania powodują wydrukowanie komunikatów zawierających potrzebne informacje: numer przerwania, aktualny licznik rozkazów oraz specyfikację. System przechodzi na nasłuch dyrektyw.
Przerwany test może być wznowiony dyrektywą RS.
Przerwania oczekiwane lub nieistotne są obsługiwane w odpowiedni sposób lub ignorowane.
Klucze pulpitu technicznego
System Testowy wykorzystuje klucze informacyjne KB pulpitu technicznego. Funkcje kluczy:
- klucz nr 2 włączony - powtarzanie wykonywania testu aż do chwili wyłączenia klucza, wyłączony - n-krotne powtarzanie wykonywania testu (n - argument dyrektywy EX);
- klucz nr 3 włączony - zakaz wykonywania wydruków na konsolę operatorską za pomocą ekstrakodu MES;
- klucz nr 4 włączony - zakaz wykonywania wydruków na konsolę operatorską umieszczonych przy ekstrakodzie ERROR;
- klucze nr 14, 15 - nr logiczny konsoli wczytywany w momencie naciśnięcia klucza OPRQ (patrz 6).
- pozostałe klucze - nieobserwowane
- OPRQ - wywołanie Systemu Testowego.
Budowa testu
Test musi spełniać następujące warunki:
- musi być zbiorem typu ABS o adresie bazowym nie mniejszym niż 4k (010000), dla testów niewykorzystujących ekstrakodów JOBS i WAIT (patrz p.8.1) oraz nie mniejszym niż 6k (014000) dla pozostałych;
- musi być regenerowalny, tzn. niezależnie od miejsca i sposobu zatrzymania testu, ponowny jego start od adresu startowego przy wszystkich rejestrach wyzerowanych powinien spowodować poprawny przebieg pracy testu;
- musi rozpoczynać się tablicą dyrektyw własnych zakończoną słowem zawierającym zero (patrz p. 7).
System Testowy działa w obszarze 12k pamięci operacyjnej, w bloku zerowym. Testy ładowane są do tego bloku w obszar o adresie początkowym nie mniejszym niż 4k lub 6k (patrz wyżej). Test może ustawić programowo własne adresy obsługi przerwań oraz w inny sposób ingerować w pracę systemu poprzez dostęp do stałych miejsc systemu (patrz p. 9).
Dyrektywy własne testu
Test może posiadać dyrektywy własne jako uzupełnienie dyrektyw dostarczonych przez System Testowy. Nazwy dyrektyw muszą być dwuliterowe.
W przypadku jednakowych nazw, dyrektywy własne przysłaniają dyrektywy systemowe. Dla zaznaczenia, że chodzi wyłącznie o dyrektywę systemowa należy jej nazwę poprzedzić znakiem ":". Test, który zawiera dyrektywy własne, musi je opisać w tablicy umieszczonej na początku testu. Każdy test musi zaczynać się od takiej tablicy, ewentualnie pustej, zakończonej słowem zawierającym zero.
Każda dyrektywa opisana jest w tablicy dwoma słowami, z których pierwsze zawiera kod ISO-7 dwuznakowej nazwy dyrektywy, drugie - adres procedury obsługi.
Ekstrakody
Ekstrakody WE/WY
Ekstrakody współpracy z urządzeniami znakowymi umożliwiają operacje WE/WY na konsoli operatora. Dwa ekstrakody: LIST i RCH realizują wczytywanie z konsoli.
Pozostałe ekstrakody czytania wczytują znaki z bufora dyrektywy, zgodnie z aktualną zawartością wskaźnika znaku w tym buforze. Wskaźnik znaku w buforze dyrektywy jest numerem pierwszego nie wczytanego znaku. Znaki w buforze numerowane są od zera.
Wskaźnik znaku w buforze dyrektywy pamiętany jest w zmiennej WSKBUF (patrz p. 9). Końcem linii jest kropka, a separatorem dowolny znak rożny od znaku cyfry i litery.
Wczytanie do R4 znaku z konsoli
- EXL+RCH.
Wczytany z konsoli operatora znak zostanie umieszczony na prawym bajcie R4. Lewy bajt zostanie wyzerowany.
Wczytanie z konsoli wiersza do bufora dyrektywy
- EXL+LIST.
Kolejne znaki czytane z konsoli wprowadzane są do bufora dyrektywy, aż do napotkania znaku ":", lecz nie więcej niż 120 znaków. Wskaźnik znaku w buforze dyrektywy zostaje wyzerowany.
Wczytanie do R4 znaku z bufora dyrektywy
- EXL+RCHB.
Wczytany zgodnie z zawartością wskaźnika znaku w buforze znak zostaje wprowadzony na prawy bajt R4. Lewy bajt jest wyzerowany.
Wyprowadzenie znaku na konsole z R4
- EXL+WCH.
- R4 - znak do wyprowadzania w prawym bajcie.
Lewy bajt jest ignorowany.
Wczytanie dwóch znaków. do R4 z bufora dyrektywy
- EXL+RTC.
Dwa kolejne znaki zostaną wczytane i umieszczone w R4; pierwszy na lewym, drugi na prawym bajcie. Wskaźnik znaku w buforze po ekstrakodzie ustawiony jest na pierwszy nie wczytany znak.
Wyprowadzenie dwóch znaków. z R4 na konsole
- EXL+WTC.
- R4 - dwa znaki do wyprowadzenia.
Wyprowadzenie tekstu na konsolę
- EXL+MES.
- R4 - adres początku wyprowadzanego tekstu, umieszczonego w pamięci po dwa znaki w słowie.
Koniec tekstu sygnalizowany musi być bajtem, zawierającym liczbę 128. R4 po powrocie zawiera adres końca tekstu zwiększony o 1.
Wczytanie tekstu z bufora dyrektywy
- EXL+RTX.<znak>.
- R4 - adres, od którego zostanie umieszczony wczytany tekst, po dwa znaki w słowie.
- <znak> - słowo za ekstrakodem zawierające znak kończący tekst. Znak ten nie jest umieszczony w pamięci.
W pamięci wczytany tekst zostanie zakończony jednym lub dwoma bajtami zawierającymi liczbę 128. Zależnie od tego, czy liczba wczytanych znaków. była parzysta lub nieparzysta. R4 po powrocie zawiera adres końca tekstu zwiększony o 1.
Wczytanie liczby do rejestru z bufora dyrektywy
- EXL+RNN+<rej>.
- <rej> - liczba określająca numer rejestru, w którym zostanie umieszczona wczytana liczba.
Znak # umieszczony przed liczba oznacza liczbę heksadecymalna. Jeżeli pierwsza wczytana cyfra będzie 0 - liczba zostanie potraktowana jako oktalna, jeżeli nie - jako dziesiętna. Liczba dziesiętna. może być poprzedzona znakiem '+' lub '-'. Liczba czytana jest do napotkania separatora.
Wyprowadzenie liczby oktalnie na konsolę
- EXL+WON.
Liczba zawarta w R4 wyprowadzona jest w postaci spacji i siedmiu cyfr, z których pierwsza jest zawsze zerem.
Wyprowadzenie liczby heksadecymentalnej na konsolę
- EXL, WLH.
- R4 - liczba do wyprowadzenia.
Liczba wyprowadzana jest w postaci spacji znaku "#" i czterech znaków liczby.
Wczytanie nazwy z bufora dyrektywy
- EXL, NAME
Do rejestrów R1 - R3 zostanie wczytana nazwa ewentualnie uzupełniona spacjami do sześciu znaków. Po wczytaniu pierwszego znaku nazwy (musi to być litera) wczytane są kolejne znaki aż do napotkania separatora, tzn. znaku rożnego od litery bądź cyfry. Jeżeli nazwa ma więcej niż 6 znaków. to nadmiarowe znaki są ignorowane.
Pisanie liczby do buforu oktalnie
- EXL, WBON.
- R1 - liczba
- R2 - adres bufora
Liczba zapisywana jest w postaci znaku spacji i siedmiu cyfr, z których pierwsza jest zerem. R2 po powrocie zawiera adres ostatniego zapisanego słowa zwiększony o jeden.
Wczytanie zbioru dyskowego
- EXL, REF.
- R1 - R3 - nazwa zbioru dyskowego
- R4 - adres umieszczania w pamięci.
Wczytanie zbioru dyskowego o podanej nazwie z biblioteki użytkownika ustalonego dyrektywa US. R4 po powrocie zawiera adres ostatniego słowa zbioru w pamięci zwiększony o jeden.
Zainicjowanie wczytania zbioru dyskowego
- EXL+RRF.
- R1-R3 - nazwa zbioru dyskowego
- R4 - adres umieszczania w pamięci operacyjnej
- R5 - nr bloku pamięci operacyjnej
Zainicjowanie operacji czytania zbioru o podanej nazwie i szybki powrót do programu według IC, bez oczekiwania na zakończenie transmisji.
Badanie końca transmisji
- EXL+SPR.
Sprawdzenie czy transmisja zainicjowana ostatnim ekstrakodem RRF została zakończona. Jeśli tak, powrót według IC, jeżeli nie - według IC+1.
Pozostałe ekstrakody
Zatrzymanie testu
- EXL+STOP.
Zatrzymanie pracy testu, zapamiętanie stanu w Tablicy Stanu Testu i wydrukowanie na konsoli wartości licznika rozkazów. Test można wznowić dyrektywa RS.
Zakończenie pracy testu
- EXL+ESYS.
Działanie ekstrakodu zależy od położenia klucza nr 2. Jeżeli klucz ten jest włączony, to niezależnie od aktualnego stanu licznika powtórzeń następuje restart testu, czyli:
- ustawienie stanu początkowego testu,
- wystartowanie testu wg adresu startowego.
Gdy klucz 2 jest włączony, to sprawdzany jest licznik powtórzeń testu. W przypadku wyzerowania licznika powtórzeń, drukowana jest wartość licznika rozkazów., wykonywana jest regeneracja Systemu Testowego i przejście na nasłuch dyrektyw, po ewentualnym wydrukowaniu komunikatu o błędach. W przypadku przeciwnym następuje restart testu.
Współbieżne zadania testowe
System Testowy AMETES posiada mechanizmy pozwalające uruchamiać testy, w których na wzór procesów współbieżnych działają współbieżne zadania testowe.
Zadania testowe można więc zdefiniować jako aktywne wykonanie konkretnej procedury (analogicznie do definicji procesu).
Procedura zadania testowego składa się z dwóch części: pola danych lokalnych i kodu procedury. Pole danych umieszczone jest na początku procedury i jego pierwsze słowo zawiera sumę długości wszystkich danych lokalnych. Można tworzyć zadania testowe jednorodne, czyli korzystające z tej samej procedury. Zadania testowe oprócz zmiennych lokalnych mogą korzystać również ze zmiennych globalnych, dostępnych dla wszystkich procedur. Przy pomocy tych zmiennych zadania mogą się synchronizować lub wymieniać informacje.
Podział zasobów odbywa się za pomocą ekstrakodu WAIT.
- EXL+WAIT. <wyrażenie>.
- <wyrażenie> = etykieta | 0 | -1
Wykonanie ekstrakodu WAIT przez zadanie testowe powoduje jego zatrzymanie i aktywowanie następnego zadania. Wyrażenie występujące bezpośrednio za ekstrakodem ma znaczenie przy ponownej reaktywacji zadania i oznacza:
- etykieta - reaktywuj zadanie od miejsca oznaczonego etykieta,
- 0 - reaktywuj zadanie od miejsca następnego za ekstrakodem,
- -1 - zakończ działanie zadania testowego.
Do zorganizowania i rozpoczęcia działania zadań testowych służy ekstrakod JOBS.
- EXL+JOBS. <lista parametrów> 0.
- <element listy> = <adres procedury>. <ilość zadań testowych jednorodnych>.
Ekstrakod ten tworzy wszystkie potrzebne do działania zadań współbieżnych struktury danych, takie jak deskryptory zadań, listy zadań gotowych, zawieszonych itp. oraz aktywuje pierwsze zadanie.
Oto schemat przykładowego testu ze współbieżnymi zadaniami testowymi i schemat czasowy jego działania.
[TEST 1] PROG * BA * 014000. 0. START: . . . [Kod testu] . EXL+JOBS. E1 . 2. E2 . 1. E3 . 0. 0. . . EXL+ESYS. A: [zmiana globalna] -------------------------------------------------- E1 : 2. X:. [Pole danych zadania E1] Y:. --------------------------------------------------- BEGIN1: . . [Kod procedury zadania E1] . ---------------------------------------------------- E2 : 0. [Pole danych zadania E2] ---------------------------------------------------- BEGIN2: . . [Kod procedury zadania E2] . ------------------------------------------------------ E3 : 1. [Pole danych zadania E3] Z:. ------------------------------------------------------ BEGIN3: . . [Kod procedury zadania E3] . ------------------------------------------------------- FINPROG *
I----------------- START I . I . I . I . I . TEST 1 I . I_________________ EXL+JOBS. I______________________________________________________________ I . . . I . . . I . . . I E1 . E1 . E2 . I . . . I . . . I__EXL+WAIT.-1.__EXL+WAIT.-1 . I . I . I . I-----------------------------------------------EXL+WAIT.-1 I . I . I . I . TEST 1 I . I . I . I________________EXL+ESYS. I t I V
Ekstrakody w programie
Wszystkie ekstrakody muszą być w teście zadeklarowane jako stałe, co wynika z zasad działania assemblera ASSK. W systemie AMETES numery ekstrakodow są następujące:
Nazwa | Numer | Opis |
---|---|---|
ESYS | 015 | zakończenie pracy testu |
MES | 0204 | wyprowadzenie tekstu na konsole |
NAME | 0202 | wczytanie nazwy z bufora dyrektywy |
ERROR | 0205 | zakończ negatywnie prace testu |
LIST | 0203 | wczytanie z konsoli wiersza do bufora dyrektywy |
RCHB | 0201 | wczytanie znaku z bufora dyrektywy |
RCH | 0100 | wczytanie znaku z konsoli |
WCH | 0101 | wyprowadzenie znaku na konsole |
RTC | 0104 | wczytanie dwóch znaków. z bufora dyrektywy |
WTC | 0105 | wyprowadzenie dwóch znaków. na konsole |
WON | 0106 | wyprowadzenie liczby oktalnie na konsole |
WLH | 0107 | wyprowadzenie liczby heksadecymalnie |
RTX | 0110 | czytanie tekstu z bufora dyrektywy |
STOP | 0126 | zatrzymanie testu |
WBON | 016 | pisanie liczby do bufora oktalnie |
RNN | 020 | wczytanie liczby do rejestru bufora dyrektywy |
REF | 0206 | wczytanie zbioru do pamięci |
JOBS | 0112 | organizacja współbieżnych zadań testowych |
WAIT | 0113 | zawieszenie zadania testowego. |
RRF | 064 | zainicjowanie czytania zbioru do pamięci |
SPR | 065 | sprawdzenie czy transmisja dyskowa została zakończona. |
Stałe miejsca systemu testowego
Tablice i ważne zmienne Systemu Testowego mają na stałe przydzielone miejsca w pamięci operacyjnej. Z zapamiętanej tam informacji mogą korzystać testy oraz operator systemu.
Tablica miejsc stałych systemu
Adres | Zawarta informacja |
---|---|
5 | |
0100-0140 | Tablica przerwań |
0141 | Wskaźnik stosu przerwań |
0142-0177 | Stos przerwań |
Tablica stanu testu
Adres | Nazwa | Zawarta informacja |
---|---|---|
0200 | TSTREP | Licznik powtórzeń testu |
0201 | TSTBAZ | Adres bazowy |
0202 | TSTSTA | Adres startowy |
0203 | TSTIC | Stan rejestru IC |
0204 | TSTR0 | Stan rejestru R0 |
0205 | TSTSR | Stan rejestru SR |
0206 | TSTSPE | Specyfikacja przerwania |
0207-0215 | TSTR1 | Stan rejestrów R1-R7 |
0231-0243 | TEXIC | Stan rejestrów wejściowych dla ekstrakodow I |
Numery urządzeń WE/WY
Adres | Nazwa | Zawarta informacja |
---|---|---|
0245-0250 | DEVOU0 | Konsola operatora - wyjście |
0251-0254 | DEVIN0 | Konsola operatora - wejście |
0255-0260 | TABDIN | Talerze dyskowe |
0261-0267 | POSTE | Pole sterujące jednostki dyskowej |
Inne
Adres | Nazwa | Zawarta informacja |
---|---|---|
0223 | TSTBL | Licznik błędów |
0224-0230 | TSTBL1 | Licznik 5 typów błędów |
0270-0507 | BUFDYR | Bufor dyrektywy |
0510 | WSKBUF | Wskaźnik znaku do wczytania z bufora dyrektywy |
Źródło: System testowy AMETES współpracujący z systemem operacyjnym CROOK-5/CROONIX, mgr inż. Bożena Padzik, Warszawa, marzec 1987