Kod źródłowy systemu sterowania
teleskopu RT15 z lat 80-tych XX w.



Na tej stronie adresy pamięci operacyjnej (PAO) oraz wydruk całego systemu podane są w kodzie ósemkowobinarnym (8b), w którym 8-bitowy bajt reprezenują trzy cyfry: pierwsza – trzy najbardziej znaczące bity, druga – dwie następne i trzecia – trzy najmniej znaczące.



Spis składników systemu z odnośnikami do schematów
blokowych (na innej stronie) oraz adresy ich początków
lub miejsc startowych w pamięci operacyjnej

Sch.  Część systemu                          Str-m
 1  System sterowania RT-15 - schemat ogólny 400-00
 2  Obsługa przerwania JS KLNR               403-30
 3    "       "         " MP                 221-00
 4    "       "         " RT-15              001-34
 5  Podgrogram KONWERT DEC                   014-37
 6    "        KONWERT BIN                   020-10
 7    "        MNÓŻ                          012-03
 8    "        KIERUNEK I PRZEPELNIENIE      023-05
 9    "        WYSWIETL 6                    024-32
               WYSWIETL 4                    025-10
               WYSWIETL 2                    025-24
10    "        PRZESLIJ 6                    026-00
               PRZESLIJ 4                    026-02
               PRZESLIJ 0                    026-13
11    "        LICZBA                        301-00
12    "        CYFRA                         303-11
13  Wypisywanie znaku na MP              np. 223-35
14  Obsługa instrukcji użytkownika           226-11
15    "     mawiasu otwierającego            133-00
      "       "     zamykającego             135-14
16a Rozkaz v...                              233-06
      "    w...                              233-04
16b   "    b...                              234-33
           p...                              236-17
16c   "    r...                              237-25
           qd                                300-12
           a...                              304-00  
16d   "    d...                              320-37
16e   "    z...                              312-27 
           s...                              305-32
           m...                              305-30
           u...                              311-01
16f   "    c...                              136-01  
17  Realizacja rozkazów d...                 325-07





Mapa miejsc stałych w pamięci operacyjnej
Z prawej strony tej 'mapy' wymieniono znaczenie poszczególnych bitów niektórych miejsc.
Na mapie i w poniższej tabelce MSB/LSB (lub MSD/LSD) to najbardziej/najmniej znaczący
bajt (lub cyfra liczby)

    Nazwa pola                           Str-m       Str-m  
Baza osi godzinowej                 MSB 130-23  LSB 130-25
  "   "  deklinacji                 MSB 131-23  LSB 131-25
Rektascensja - postać binarna       MSB 127-07  LSB 127-11
             - postać dziesiętna    MSD 127-17  LSD 127-12
Kąt godzinny - postać binarna       MSB 130-07  LSB 130-11
             - postać dziesiętna    MSD 130-17  LSD 130-12
Deklinacja   - postać binarna       MSB 131-07  LSB 131-11
             - postać dziesiętna    MSD 131-17  LSD 131-12
Bufor maszyny do pisania - początek     220-01            
                         - koniec       220-35            


Lista rozkazów procesora minikomputera MOMIK 8b
Zapis Ai oznacza i-ty bit 8-bitowego akumulatora (zerowy bit jest
tu najbardziej znaczącym). Wskaźniki to: CI – skoku warunkowego,
P – przelania akumulatora (po operacji przesuwania A), Z – strony
zerowej oraz S – aktualnej strony (dla rozkazów od 0## do 3## i 5##).

Razkaz  Znaczenie
0##     Dodaj do akumulatora (A) zawartość miejsca ## PAO;
           jeśli wystąpił nadmiar, CI = 0; przelanie, P = 1
1##     Zapisz A w miejscu ## i zeruj A,
2##     Mnóż logicznie A przez zawartość miejsca ##
3##     Dodaj 1 do miejsca ##; jeśli ## = 0, ustaw CI = 1 
4## STR Jeśli CI = O, skocz do miejsca ## na stronie STR
5##     Wykonaj rozkaz w miejscu ##
6##     Zainicjuj operację wejścia/wyjścia jednostki steru-
           jącej numer ##
700     Przerwanie programowe 
701     Zeruj akumulator (A = 0)
702     Zgaś wskaźnik CI (CI = 0)
703     Nic nie rób
704     Powróć z przerwania
705     Pamiętaj ślad
706     Powróć według śladu
710     Zgaś wskaźnik Z (Z = 0)
711     Zapal wskaźnik Z (Z = 1)
712     Prześlij A do S (S — rejestr strony)
713       "      S do A
714     Czytaj klucze (KL) z pulpitu minikomputera
715     Jeśli P = 1, ustaw CI = 0, inaczej CI = 1
716     Czekaj na przerwanie 
717     S = S + 1
720     Neguj akumulator
721     Dodaj 1 do A i ustaw CI i P jak w poleceniu 0##
722     A = A + P
725     Przesuń A cyklicznie w lewo
724       "     A w lewo (A = 2A), P = Ao
725       "     A w prawo (A = A/2), Ao = P, P = 0
726     Jeśli A = 0, ustaw CI = 0, inaczej CI = 1
727       "   Ao = 0, ustaw CI = 0, inaczej CI = 1
730 OBE S = OBE
731     Ustaw maski przerwań według miejsca 04 na str. 000
732 MSK Testuj A z MSK; jeśli A = 0, CI = 0, inaczej CI = 1
734     Stop


Wydruk kodu źródłowego jednej z wcześniejszych wersji (takie wydruki
wersji końcowych nie zachowały się) systemu sterowania teleskopu RT15
Przy stronach 006 do 014 (są tu elemetarne procedury) ołówkiem zaznaczono czas wykonania
poszczególnych rozkazów w mikrosekundach (2, 4 lub 6 ms). W innych miejscach można
dopatrzyć się sumarycznego czasu wykonania niektórych procedur. Np. konwersja liczby binarnej
na sześć cyfr dziesiętnych (lub dwie cyfry) na stronach 014 do 020 zajmowała 4,3 ms (lub 0,3 ms),
zaś prostsza procedura odwrotna z kolejnych trzech stron – tylko 1,5 ms (lub 0,2 ms).















Strona utworzona dn. 26 września 2011 r.