Symulator EMC ODRA-1204: Różnice pomiędzy wersjami

Przejdź do nawigacji Przejdź do wyszukiwania
brak opisu 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 "GO".
# 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>.


zatrzymanie pracy maszyny.
'''D A''' - drukowanie zawartości komórki.
1. Wykonanie w dowolnym stanie różnym od STOP.
# <tt>STOP</tt>, <tt>RUNNING</tt>.
2. Przejście do stanu STOP.
# Drukowanie K(A) w postaci ósemkowej.
3. STOP: wykonano w stanie RUNNING.
LOAD ERROR: wykonano w stanie LOADING.
DUMP ERROR: wykonano w stanie DUMPING.
TEST ERROR: wykonano w stanie TESTING.


'''DA''' - drukowanie zawartości akumulatora.
# <tt>STOP</tt>, <tt>RUNNING</tt>.
# Drukowanie akumulatora w postaci ósemkowej.


D A
'''DW''' - drukowanie zawartości wydłużenia akumulatora.
# <tt>STOP</tt>, <tt>RUNNING</tt>.
# Drukowanie wydłużenia w postaci ósemkowej.


drukowanie zawartości komórki.
'''DL''' - drukowanie zawartości licznika rozkazów.
1. STOP, RUNNING.
# <tt>STOP</tt>, <tt>RUNNING</tt>.
2. Drukowanie K(A) w postaci ósemkowej.
# 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.


DA
'''PA P''' - podstawienie do akumulatora.
# <tt>STOP<//tt>, <tt>RUNNING</tt>.
# A := P.


drukowanie zawartości akumulatora.
'''PW P''' - podstawienie do wydłużenia akumulatora.
1. STOP, RUNNING.
# <tt>STOP</tt>, <tt>RUNNING<//tt>.
2. Drukowanie akumulatora w postaci ósemkowej.
# W := P.


'''PL P''' - podstawienie do licznika rozkazów.
# <tt>STOP</tt>, <tt>RUNNING</tt>.
# L := P.


DW
'''DK''' - drukuj zawartość kluczy (zlecenie dodatkowe nie będące zleceniem standardowym systemu MASON).
# Wykonalne w dowolnym stanie.
# Drukowanie kluczy w postaci ósemkowej.


drukowanie zawartości wydłużenia akumulatora.
'''PK P''' - zmień zawartość kluczy.
1. STOP, RUNNING.
2. Drukowanie wydłużenia w postaci ósemkowej.
 
 
DL
 
drukowanie zawartości licznika rozkazów.
1. STOP, RUNNING.
2. Drukowanie licznika rozkazów w postaci ósemkowej.
 
 
P A P
 
podstawienie do komórki.
1. STOP, RUNNING.
2. K(A) := (MX128 + R)* 16384 + N.
 
 
PA P
podstawienie do akumulatora.
1. STOP, RUNNING.
2. A := P.
 
 
PW P
podstawienie do wydłużenia akumulatora.
1. STOP, RUNNING.
2. W := P.
 
 
PL P
podstawienie do licznika rozkazów.
1. STOP, RUNNING.
2. L := P.
 
 
DK
drukuj zawartość kluczy.
1. Wykonalne w dowolnym stanie.
2. Drukowanie kluczy w postaci ósemkowej.
(zlecenie dodatkowe nie będące zleceniem standardowym systemu MASON)
 
 
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.'''
 
1. Zakres pierwszego bloku programu zawierającego komórki
o adresach: 1, 2,3,....,k(21).
2. D 21.
3. Można zmienić stosując rozkazy w kodzie wewnętrznym.
 


KOMÓRKA 22.
# 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.


1. Adres początku drugiego bloku programu zawierającego
'''KOMÓRKA 22.'''
komórki o adresach:
K(22),K(22)+1,...., 34737.
2. D 22.
3. Można zmienić stosując rozkazy w kodzie wewnętrznym.


# 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.'''


1. Wartość zmiennej standardowej time (w sekundach).
# Wartość zmiennej standardowej time (w sekundach).
2. P 23 0. PT 14 25 36.
# P 23 0. PT 14 25 36.
3. Time := 0 ; lub zerk (time).
# Time := 0 ; lub zerk (time).


'''KOMÓRKA 31.'''


KOMÓRKA 31.
# Numer wejścia aktualnego.
# P 31 1.
# Setinput /10.


1. Numer wejścia aktualnego.
'''KOMÓRKA 32.'''
2. P 31 1.
3. Setinput /10.


# Numer wyjścia aktualnego.
# P 32 1.
# Setotput /1.


KOMÓRKA 32.
'''KOMÓRKA 33.'''


1. Numer wyjścia aktualnego.
# Wartość zmiennej lastchar tzn. ostatnio wczytany znak.
2. P 32 1.
# D 33.
3. Setotput /1.
# Print (lastchar).


'''KOMÓRKA 34.'''


KOMÓRKA 33.
# Wartość zmiennej lastinteger tzn. ostatnio wczytana liczba typu integer.
# D 34.
# Print (lastinteger).


1. Wartość zmiennej lastchar tzn. ostatnio
'''KOMÓRKI 35 i 36.'''
wczytany znak.
2. D 33.
3. Print (lastchar).


# Wartość zmiennej lastreal tzn. ostatnia liczba typu real.
# D 35 ; D 36.
# Print (lastreal).


KOMÓRKA 34.
'''KOMÓRKA 41.'''
 
1. Wartość zmiennej lastinteger tzn. ostatnio wczytana
liczba typu integer.
2. D 34.
3. Print (lastinteger).
 
 
KOMÓRKI 35 i 36.
 
1. Wartość zmiennej lastreal tzn. ostatnia liczba typu real.
2. D 35 ; D 36.
3. Print (lastreal).
 
 
KOMÓRKA 41.
 
1. Długość bufora czytnika.
2. P 41 1.
3. Można zmienić stosując rozkazy w kodzie wewnętrznym.


# 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. - wykonanie instrukcji: Setinput(1); Setoutput(1)
'''W'''
* uruchomienie programu od początku.
: Wykonanie instrukcji: <tt>Setinput(1); Setoutput(1)</tt>, uruchomienie programu od początku.
END - program wykonano do końca - do ostatniego end. Inne sygnały podano w wykazach sygnałów systemu MASON oraz translatora ALGOL 1204.
 
 
W0. - wykonanie instrukcji setinput(0); setoutput(0) i uruchomienie programu od początku.
 
 
W1. - wykonanie instrukcji setinput(1); setoutput(0) i uruchomienie programu od początku.
 
 
DITR.- drukowanie śladu retroaktywnego.
END - ślad wydrukowano.
SORRY - w programie nie ma możliwości drukowania śladu.
 
 
TMON.- przejście do wykonania programu:
 
begin
setinput(1);
setoutput(0);
L: outchar(inchar);
goto L
end


bez niszczenia zapisu programu lub translatora w pamięci operacyjnej.
'''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.


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.
'''W0'''
STOP - operator przerwał działanie programu.
: 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.


MONT.- przejście do wykonania programu:
'''DITR'''
: Drukowanie śladu retroaktywnego.


'''END'''


: Ślad wydrukowano.


'''SORRY'''
: W programie nie ma możliwości drukowania śladu.


begin
'''TMON'''
setinput(0);
: Przejście do wykonania programu:
setoutput(1);
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'''
zlecenie umożliwia perforacje krótkich tasiemek w kodzie
: 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}}

Menu nawigacyjne