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