CSL-CROOK - Wykaz błędów wykonania

Z MERA 400 wiki
Wersja z dnia 14:33, 31 sie 2013 autorstwa Amo (dyskusja | edycje) (Utworzono nową stronę "Błędy wykonania w programach fortranowskich są sygnalizowane następującymi komunikatami: #EXECUTION ERROR <ne> AT ADDRESS <ad> Jeżeli zapalona zostanie opcja ?T...")
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacji Przejdź do wyszukiwania

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