CSL-CROOK - Wykaz błędów wykonania
Błędy wykonania w programach fortranowskich są sygnalizowane następującymi komunikatami:
#EXECUTION ERROR <ne> AT ADDRESS <ad>
Jeżeli zapalona zostanie opcja ?TRA, to błędy wykonania sygnalizowane będą następującym komunikatem:
#EXECUTION ERROR <ne> AT LINE <nr>
- ne - identyfikator błędu i numer błędu wykonania;
- ad - adres w pamięci rozkazu następnego po rozkazie, w którym wystąpił błąd;
- nr - numer linii fortranowskiej, w której wystąpił błąd wykonania.
W instrukcji FORMAT, jeżeli zostanie przekroczona liczba cyfr zadeklarowanych w specyfikacji, to drukowane są następujące znaki przed liczbą:
- "#" - gdy wystąpiła liczba dodatnia.
- "=" - gdy wystąpiła liczba ujemna.
Jeżeli w programie wystąpi błąd podmiaru, to nie jest on sygnalizowany. Do obliczeń wtedy przyjmuje się liczbę zero (0). Jeżeli w trakcie wykonywania programów pojawi się błąd ES 02 lub ES 03, to może być spowodowany przekroczeniem rozmiaru tablic (należy przeliczyć program z opcją ARRAY) albo wystąpiła niezgodność w parametrach formalnych i aktualnych podprogramów.
Błędy w instrukcji FORMAT
(FT - CONSTANT FORMAT)
| Nr błędu | Opis |
|---|---|
| FT 00 | brak formatu, lub instrukcja FORMAT w niedozwolonym miejscu; |
| FT 01 | niezgodność liczby deskryptorów w formacie z odpowiadającą mu listą zmiennych w instrukcji we/wy. |
| FT 02 | błędna specyfikacja w instrukcji FORMAT; |
| FT 03 | nadmiar cyfr w liczbie INTEGER; |
| FT 04 | syntax w liczbie INTEGER; |
| FT 05 | niezgodny typ z deskryptorem (F, E, G, D, I, L, O, Z); |
| FT 06 | zły znak w liczbie; |
| FT 07 | zły znak w tekście; |
| FT 08 | zły numer strumienia, lub urządzenie niesprawne, lub brak urządzenia; |
| FT 09 | przekroczony bufor systemowy; |
| FT 10 | format swobodny zaczyna się przecinkiem; |
| FT 11 | za duża liczba dziesiętna krótka; |
| FT 12 | błąd w wykładniku liczby zmiennoprzecinkowej; |
| FT 13 | nadmiar cechy w liczbie zmiennoprzecinkowej; |
| FT 15 | przekroczony rekord, liczba znaków w wyprowadzanym rekordzie większa od 160 znaków; |
(VF - VARIABLE FORMAT)
| Nr błędu | Opis |
|---|---|
| VF 00 | przekroczony bufor, liczba znaków większa od 160; |
| VF 01 | niedozwolony znak w formacie; |
| VF 02 | w formacie występują znaki o kodach mniejszych od 39 tabeli kodów ASCII(ISO-7); |
| VF 03 | liczba występująca w formacie większa od 160; |
| VF 04 | w formacie wystąpił znak o kodzie większym od 90 tabeli kodów ASCII(ISO-7); |
| VF 05 | w formacie wystąpiły znaki o kodach zawartych między kodami 97 < znak < 65, w niedozwolonym miejscu; |
| VF 06 | format nie rozpoczyna się od nawiasu; |
| VF 07 | liczba ujemna w niedozwolonym miejscu; |
| VF 08 | wystąpienie drugiej kropki w formacie; |
| VF 09 | liczba w formacie z przecinkiem; |
| VF 10 | znak minusa przed deskryptorem; |
| VF 11 | znak minusa w deskryptorze liczby; |
| VF 15 | liczba równa 0; |
| VF 16 | brak w liczbie wykładnika lub cechy; |
| VF 17 | brak deskryptora; |
| VF 18 | zła liczba znaków apostrofa w formacie; |
| Nr błędu | Opis |
|---|---|
| SO 01 | za dużo nawiasów prawych; |
| SO 02 | za dużo nawiasów lewych ; |
| SO 03 | przekroczony poziom nawiasów; |
| SO 04 | za długi format; |
| SO 05 | za dużo znaków specyfikacji typu H; |
| SO 06 | przekroczenie deskryptorów; |
| SO 07 | zła składnia tekstu , zawartego pomiędzy znakami apostrofa lub za dużo znaków apostrofa; |
Obsługa alarmów systemowych
(ES - ERROR SYSTEM)
Wykaz alarmów systemowych
| Nr błędu | Opis |
|---|---|
| ES 00 | błąd parzystości pamięci operacyjnej. |
| ES 01 | zła odpowiedź na operację alokacji pamięci operacyjnej; |
| ES 02 | próba odwołania się do nieistniejącego adresu w programie użytkowym; |
| ES 03 | zła instrukcja w programie użytkowym; |
| ES 04 | dzielenie całkowite przez zero; |
| ES 05 | podmiar zmiennoprzecinkowy; |
| ES 06 | nadmiar w operacjach zmiennoprzecinkowych. |
| ES 07 | nieznormalizowana liczba w operacjach zmiennoprzecinkowych lub dzielenie zmiennoprzecinkowe przez zero; |
| ES 08 | próba wykonania nieistniejącego w systemie ekstrakodu; |
| ES 09 | brak strumienia w operacjach wejścia wyjścia lub próba wykonania ekstrakodu transmisji blokowej na urządzeniu znakowym; |
| ES 10 | urządzenie WE/WY zajęte przez proces o nie niższym priorytecie; |
| ES 11 | brak systemowych tablic na zdefiniowanie nowego strumienia lub procesu; |
| ES 12 | próba odwołania się do nieistniejącego procesu, lub zdefiniowania procesu o znanym numerze; |
| ES 13 | próba wykonania operacji wznowienia na procesie działającym; |
| ES 14 | wyłączony zegar podczas wykonywania ekstrakodu sprawdzania sumy kontrolnej; |
| ES 15 | żądanie przydzielenia bloku pamięci o rozmiarze przekraczającym pojemność pamięci zarządzanej przez system; |
| ES 18 | próba zapisu lub odczytu poza zbiorem. Zapis do zbioru taki, że początek zapisywango obszaru mieści się w zbiorze powoduje rozszerzenie zbioru; |
| ES 20 | brak definicji skorowidza w tytule zbioru przy poszukiwaniu zbioru w obszarze niedostępnym przy danym skorowidzu; |
| ES 21 | zła nazwa obszaru w tytule zbioru; |
| ES 22 | brak skorowidza wskazanego w tytule zbioru; |
| ES 23 | próba wykonania operacji na zbiorze poprzez niezdefiniowany strumień; |
| ES 24 | próba utworzenia zbioru należącego do skorowidza innego niż bieżący; |
| ES 25 | brak wpisanego końca skorowidza zbiorów lub skorowidzów; |
| ES 26 | próba przywiązania strumienia do nieistniejącego zbioru; |
| ES 27 | niewłaściwa nazwa zbioru; |
| ES 28 | próba zapisu lub usunięcia zbioru o ustalonej ochronie przed zapisem i usunięciem; |
| ES 29 | próba wykonania zastrzeżonej operacji przez program nie posiadający odpowiedniego atrybutu; |
| ES 30 | próba utworzenia zbioru o typie zastrzeżonym (-5--1) przez program do tego nie uprawniony; |
| ES 31 | brak spójnego obszaru na dysku na utworzenie lub rozszerzenie zbioru; |
Alarmy sygnalizowane przez pamięć dyskową
Alarmy tej grupy powstają w trakcie obsługi przerwań pochodzących od jednostki pamięci dyskowej. Numer błędu jest równy specyfikacji odpowiedniego przerwania powiększonej o 040.
| Nr błędu | Opis |
|---|---|
| ES 32 | brak odpowiedzi z kanału pamięciowego. |
| ES 33 | nienadążanie transmisji. |
| ES 34 | brak pamięci operacyjnej. |
| ES 36 | błąd parzystości pamięci operacyjnej. |
| ES 42 | alarm lub blokada. |
| ES 43 | blokada. |
| ES 44 | brak gotowości urządzenia. |
| ES 45 | błąd ustawienia. |
| ES 49 | niezakończona faza sprawdzania pola adresowego. Dysk niezaadresowany; |
| ES 50 | niezakończona faza sprawdzania pola danych. Dysk niezapisany; |
| ES 51 | błąd kontroli adresów. |
| ES 52 | błąd kontroli danych. |
| ES 57 | blokada zapisu. |
| ES 58 | blokada sektora lub alarm obejmujący wszystkie inne przerwania pochodzące od jednostki dyskowej. Program OSL podaje specyfikacje odpowiednich przerwań; |
Alarmy zgłaszane przez urządzenia znakowe
| Nr błędu | Opis |
|---|---|
| ES 61 | parzystość nośnika. |
| ES 62 | brak gotowości urządzenia. |
| ES 63 | brak urządzenia lub próba jego niewłaściwego użycia. |
Inne sygnalizacje
| Nr błędu | Opis |
|---|---|
| AE 01 | wskaźnik tablicy przekroczył dopuszczalną wartość dla liczb INTEGER (> 32762); |
| AE 02 | przekroczenie rozmiaru tablicy lub wartość wskaźnika tablicy równa zero; |
| PP 01 | nadmiar w wyrażeniu wskaźnikowym tablicy przekazanej wraz z wymiarami przez parametry procedury; |
| EF | koniec zbioru danych. |
| IZ | krok DO-IMPLIKOWANEGO równy 0(zero); |
| EC | w formacie brak opisu dla wyprowadzenia liczby; |
| OE 01 | próba ściągnięcia nieistniejącej nakładki; |
Błędy zbiorów binarnych
(BF - BINARY FILE)
| Nr błędu | Opis |
|---|---|
| BF 01 | brak definicji strumienia w dyrektywie #DEF; |
| BF 02 | długość rekordu równa zero; |
| BF 03 | próba czytania poza zbiorem; |
| BF 04 | przekroczona długość rekordu zadeklarowana w dyrektywie #DEF lub #MEM. |
| BF 05 | w instrukcjach we/wy zbiorów bezpośredniego dostępu lub zbiorach pamięciowych numer rekordu wynosi zero. |
Źródło: Translator języka CSL-CROOK dla minikomputera MERA-400 w systemie operacyjnym CROOK-4, Instrukcja Programisty (wersja-17/2), Janusz Gocałek, Jacek Klauziński, Poznań, 1985