3012
edycji
(Utworzono nową stronę "Elektroniczna maszyna cyfrowa ODRA-1204 jest bogato oprogramowanym komputerem. Istnieje duża ilość programów, które stają się obecnie wcale nieprzydatne w wyniku ...") |
Nie podano opisu zmian |
||
(Nie pokazano 8 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
Linia 110: | Linia 110: | ||
'''DUMP''' - wyprowadzenie zarezerwowanej pamięci operacyjnej na taśmę papierową. Jeżeli wystąpi parametr zlecenia to nastąpi wyprowadzenie pamięci do zbioru dyskowego. | '''DUMP''' - wyprowadzenie zarezerwowanej pamięci operacyjnej na taśmę papierową. Jeżeli wystąpi parametr zlecenia to nastąpi wyprowadzenie pamięci do zbioru dyskowego. | ||
# <tt>STOP</tt> | # <tt>STOP</tt> | ||
# K(16) := a<br />K(17) := w<br />K(20) := l<br />a następnie przejście do stanu DUMPING. | # K(16) := a<br />K(17) := w<br />K(20) := l<br />a następnie przejście do stanu <tt>DUMPING</tt>. | ||
# <tt>DUMPED</tt>: zlecenie wykonano.<br /><tt>DUMP ERROR</tt>: błąd w wykonaniu zlecenia. | # <tt>DUMPED</tt>: zlecenie wykonano.<br /><tt>DUMP ERROR</tt>: błąd w wykonaniu zlecenia. | ||
Linia 120: | Linia 120: | ||
'''GO TO A''' - uruchomienie programu od wskazanego rozkazu. | '''GO TO A''' - uruchomienie programu od wskazanego rozkazu. | ||
# STOP. | # STOP. | ||
# L := A<br />przejście do stanu RUNNING. | # L := A<br />przejście do stanu <tt>RUNNING</tt>. | ||
# Patrz | # Patrz '''GO'''. | ||
STOP | '''STOP''' - zatrzymanie pracy maszyny. | ||
# Wykonanie w dowolnym stanie różnym od <tt>STOP</tt>. | |||
# Przejście do stanu <tt>STOP</tt>. | |||
# <tt>STOP</tt>: wykonano w stanie <tt>RUNNING</tt>.<br /><tt>LOAD ERROR</tt>: wykonano w stanie <tt>LOADING</tt>.<br /><tt>DUMP ERROR</tt>: wykonano w stanie <tt>DUMPING</tt>.<br /><tt>TEST ERROR</tt>: wykonano w stanie <tt>TESTING</tt>. | |||
'''D A''' - drukowanie zawartości komórki. | |||
# <tt>STOP</tt>, <tt>RUNNING</tt>. | |||
# Drukowanie K(A) w postaci ósemkowej. | |||
'''DA''' - drukowanie zawartości akumulatora. | |||
# <tt>STOP</tt>, <tt>RUNNING</tt>. | |||
# Drukowanie akumulatora w postaci ósemkowej. | |||
'''DW''' - drukowanie zawartości wydłużenia akumulatora. | |||
# <tt>STOP</tt>, <tt>RUNNING</tt>. | |||
# Drukowanie wydłużenia w postaci ósemkowej. | |||
drukowanie zawartości | '''DL''' - drukowanie zawartości licznika rozkazów. | ||
# <tt>STOP</tt>, <tt>RUNNING</tt>. | |||
# Drukowanie licznika rozkazów w postaci ósemkowej. | |||
'''P A P''' - podstawienie do komórki. | |||
# <tt>STOP</tt>, <tt>RUNNING</tt>. | |||
# K(A) := (MX128 + R)* 16384 + N. | |||
'''PA P''' - podstawienie do akumulatora. | |||
# <tt>STOP<//tt>, <tt>RUNNING</tt>. | |||
# A := P. | |||
'''PW P''' - podstawienie do wydłużenia akumulatora. | |||
# <tt>STOP</tt>, <tt>RUNNING<//tt>. | |||
# W := P. | |||
'''PL P''' - podstawienie do licznika rozkazów. | |||
# <tt>STOP</tt>, <tt>RUNNING</tt>. | |||
# L := P. | |||
'''DK''' - drukuj zawartość kluczy (zlecenie dodatkowe nie będące zleceniem standardowym systemu MASON). | |||
# Wykonalne w dowolnym stanie. | |||
# Drukowanie kluczy w postaci ósemkowej. | |||
'''PK P''' - zmień zawartość kluczy. | |||
PK P | |||
zmień zawartość kluczy. | |||
== Sygnały i komunikaty systemu MASON == | == Sygnały i komunikaty systemu MASON == | ||
Linia 228: | Linia 197: | ||
# Równoważna operacja programu w ALGOLu-1204. | # Równoważna operacja programu w ALGOLu-1204. | ||
KOMÓRKA 21. | '''KOMÓRKA 21.''' | ||
# Zakres pierwszego bloku programu zawierającego komórki o adresach: 1, 2, 3, ..., k(21). | |||
# D 21. | |||
# Można zmienić stosując rozkazy w kodzie wewnętrznym. | |||
'''KOMÓRKA 22.''' | |||
# Adres początku drugiego bloku programu zawierającego komórki o adresach: K(22), K(22)+1, ..., 34737. | |||
# D 22. | |||
# Można zmienić stosując rozkazy w kodzie wewnętrznym. | |||
KOMÓRKA 23. | '''KOMÓRKA 23.''' | ||
# Wartość zmiennej standardowej time (w sekundach). | |||
# P 23 0. PT 14 25 36. | |||
# Time := 0 ; lub zerk (time). | |||
'''KOMÓRKA 31.''' | |||
# Numer wejścia aktualnego. | |||
# P 31 1. | |||
# Setinput /10. | |||
'''KOMÓRKA 32.''' | |||
# Numer wyjścia aktualnego. | |||
# P 32 1. | |||
# Setotput /1. | |||
KOMÓRKA | '''KOMÓRKA 33.''' | ||
# Wartość zmiennej lastchar tzn. ostatnio wczytany znak. | |||
# D 33. | |||
# Print (lastchar). | |||
'''KOMÓRKA 34.''' | |||
# Wartość zmiennej lastinteger tzn. ostatnio wczytana liczba typu integer. | |||
# D 34. | |||
# Print (lastinteger). | |||
'''KOMÓRKI 35 i 36.''' | |||
# Wartość zmiennej lastreal tzn. ostatnia liczba typu real. | |||
# D 35 ; D 36. | |||
# Print (lastreal). | |||
KOMÓRKA | '''KOMÓRKA 41.''' | ||
# Długość bufora czytnika. | |||
# P 41 1. | |||
# Można zmienić stosując rozkazy w kodzie wewnętrznym. | |||
== Wprowadzenie i uruchamianie programów użytkowych == | == Wprowadzenie i uruchamianie programów użytkowych == | ||
Linia 300: | Linia 255: | ||
Pod kontrolą systemu MASON mogą pracować programy użytkowe wydziurkowane na taśmie papierowej wyprodukowane przez translator ALGOL 1204 (B) na zlecenie "PBT", lub przez system operacyjny na zlecenie "DUMP". Programy binarne wyprodukowane przez translator wymagają wprowadzenia podprogramów pomocniczych (PP). Podprogramy pomocnicze muszą być tego samego wydania co translator ALGOL-u użyty do tłumaczenia tego programu. A więc program wyprodukowany przez translator ALGOL-u (B) wyd. II należy uruchamiać następująco: | Pod kontrolą systemu MASON mogą pracować programy użytkowe wydziurkowane na taśmie papierowej wyprodukowane przez translator ALGOL 1204 (B) na zlecenie "PBT", lub przez system operacyjny na zlecenie "DUMP". Programy binarne wyprodukowane przez translator wymagają wprowadzenia podprogramów pomocniczych (PP). Podprogramy pomocnicze muszą być tego samego wydania co translator ALGOL-u użyty do tłumaczenia tego programu. A więc program wyprodukowany przez translator ALGOL-u (B) wyd. II należy uruchamiać następująco: | ||
* wczytać podprogramy pomocnicze zleceniem LOAD (odpowiedź maszyny LOADED) | * wczytać podprogramy pomocnicze zleceniem '''LOAD''' (odpowiedź maszyny <tt>LOADED</tt>) | ||
* wczytać program użytkowy zleceniem LOAD (odpowiedź maszyny LOADED) | * wczytać program użytkowy zleceniem '''LOAD''' (odpowiedź maszyny <tt>LOADED</tt>) | ||
* uruchomić program zleceniami W, W0, W1. | * uruchomić program zleceniami W, W0, W1. | ||
Linia 310: | Linia 265: | ||
Zlecenia niestandardowe służą do uruchamiania programu użytkowego. Wszystkie zlecenia niestandardowe są wykonalne w stanie STOP. Zlecenie niestandardowe nie posiadają parametrów. Nazwa tych zleceń składa się z liter i cyfr o maksymalnej długości czterech znaków rozpoczynających się literą. Pozostałe zasady dotyczące tych zleceń są identyczne z zleceniami standardowymi systemu MASON opisanymi w rozdziale 3.3. Poniżej są zestawione wszystkie zlecenia niestandardowe używane przez programy użytkowe. | Zlecenia niestandardowe służą do uruchamiania programu użytkowego. Wszystkie zlecenia niestandardowe są wykonalne w stanie STOP. Zlecenie niestandardowe nie posiadają parametrów. Nazwa tych zleceń składa się z liter i cyfr o maksymalnej długości czterech znaków rozpoczynających się literą. Pozostałe zasady dotyczące tych zleceń są identyczne z zleceniami standardowymi systemu MASON opisanymi w rozdziale 3.3. Poniżej są zestawione wszystkie zlecenia niestandardowe używane przez programy użytkowe. | ||
W | '''W''' | ||
: Wykonanie instrukcji: <tt>Setinput(1); Setoutput(1)</tt>, uruchomienie programu od początku. | |||
'''END''' | |||
: Program wykonano do końca - do ostatniego <tt>end</tt>. Inne sygnały podano w wykazach sygnałów systemu MASON oraz translatora ALGOL 1204. | |||
'''W0''' | |||
: Wykonanie instrukcji <tt>setinput(0); setoutput(0)</tt> i uruchomienie programu od początku. | |||
'''W1''' | |||
: Wykonanie instrukcji <tt>setinput(1); setoutput(0)</tt> i uruchomienie programu od początku. | |||
'''DITR''' | |||
: Drukowanie śladu retroaktywnego. | |||
'''END''' | |||
: Ślad wydrukowano. | |||
'''SORRY''' | |||
: W programie nie ma możliwości drukowania śladu. | |||
begin | '''TMON''' | ||
setinput( | : Przejście do wykonania programu: | ||
setoutput( | begin | ||
L: outchar(inchar); | setinput(1); | ||
goto L | setoutput(0); | ||
end | L: outchar(inchar); | ||
goto L | |||
end | |||
: bez niszczenia zapisu programu lub translatora w pamięci operacyjnej. Zlecenie umożliwia drukowanie krótkich tasiemek w kodzie OPTIMA lub ISO-7 na monitorze. Jeżeli w czasie wykonywania tego zlecenia jest wciśnięty klawisz 0, to wyjściem aktualnym jest perforator. Umożliwia to kopiowanie tasiemek, ewentualnie z tłumaczeniem z jednego kodu na drugi. <tt>STOP</tt> - operator przerwał działanie programu. | |||
bez niszczenia zapisu programu lub translatora w pamięci operacyjnej. | '''MONT''' | ||
: Przejście do wykonania programu: | |||
OPTIMA lub ISO-7 na perforatorze. | begin | ||
STOP - operator przerwał działanie powyższego programu. | setinput(0); | ||
setoutput(1); | |||
L: outchar(inchar); | |||
goto L | |||
end | |||
: bez niszczenia zapisu programu lub translatora w pamięci operacyjnej. Zlecenie umożliwia perforacje krótkich tasiemek w kodzie OPTIMA lub ISO-7 na perforatorze. <tt>STOP</tt> - operator przerwał działanie powyższego programu. | |||
= Literatura = | = Literatura = | ||
Linia 372: | Linia 321: | ||
# "Pakiet testów tom 2", ELWRO, Wrocław 1970 Nr. 1204-III-20, 31, 32. | # "Pakiet testów tom 2", ELWRO, Wrocław 1970 Nr. 1204-III-20, 31, 32. | ||
# "Pakiet podprogramów pomocniczych", ELWRO, Wrocław 1968 Nr. 1204-V-3. | # "Pakiet podprogramów pomocniczych", ELWRO, Wrocław 1968 Nr. 1204-V-3. | ||
# "System operacyjny CROOK-4 dla minikomputera Mera-400", Andrzej Bobcow, Zbigniew Czerniak, Marek Nikodemski, IOPG, Gdańsk 1985. | # "System operacyjny CROOK-4 dla minikomputera Mera-400", [[Andrzej Bobcow]], [[Zbigniew Czerniak]], [[Marek Nikodemski]], IOPG, Gdańsk 1985. | ||
{{source|title=Symulator EMC ODRA-1204 dla minikomputera MERA-400 w systemie operacyjnym CROOK-4 (wersja-1/A)|author=Janusz Gocałek, Jacek Klauziński, Ryszard Zenker|date=Poznań 1985}} | {{source|title=Symulator EMC ODRA-1204 dla minikomputera MERA-400 w systemie operacyjnym CROOK-4 (wersja-1/A)|author=[[Janusz Gocałek]], [[Jacek Klauziński]], [[Ryszard Zenker]]|date=Poznań 1985}} |