- 22 -
Rolę wskaźniku programowego można porównać do roli, zwrotnicy kolojowoj. Stan (wstawienie) zwrotnicy decyduje, nn który tor będzie skiorotmny pociąg, czyli okroślu trasę przobiogu pociągu* Podobnie *tnn (wartość) wskaźnika programowego okrośla, która procedura Joat^ w danym momonoio inicjowana, tzn. Jaką "trasą" realizowane Jest sterowanie programowo terminala. Stan wszystkich wskaźników programowych okrośln Jednoznacznie stan, tryb i fazę pracy urządzenia w danej chwili.
Pod względom budowy ASTER składa się z modułów:
• sterowania, • kouiunlkacyJnogo, • wprowadzania i wyprowadzania danych.
Oprócz modułów program zawiera również następująco podprogramy:
• umieszczanie znaku w buforze, •• konwersja znaku z kodu wewnętrznego na kod
• pobieranie znaku z bufora, komunikaoyJny,
• wydruk znaku, • lconworaJ& znaku z kodu komunikacyjnego nu kod
wewnętrzny.
Podprogramy konworsji kodu są wykorzystywane tylko w module komunikaoyjnym, a pozostało podprogramy są używano wo wszystkich raodułaoh.
Konieczność stosowania konworsji kodów wynika stąd, żo minikomputer MERA 3°0 i Jego urządzeniu yowtiętrzno (klawiatura, drukarka) pracują w kodzie IS0-7> zaś transmisja musi się odbywać w kodzie komunikacyjnym PTTC/EDCD.
Moduły programu składają się z sogmentów. Procedury zawarte w tyoh sogmentaoh realizują procesy programowo odpowiadająco stanom pracy tonuinala takim, Jak: gotowość, wprowadzanie danych do buforu, wydruk zawartości bufora, odbiór znaków z linii, nadawanie znaków w linię itd. Budowę :L działanie programu storującego ASTER wyjaśniają schematy logiczno modułów przedstawiono na rysunkach r> - 7«
Modni sterowaniu zawiera cztery sogmenty programowo. Segment 1 realizuje:
• usl.ru/lenio na stronie zerowej PAO adresu etykiety segmentu rozpoznania przerwań woJściu/wyjś-«• in i maski przerwań;
• zainicjowanie wydruku nazwy programu, jeśli klucz systemowy nr ,1 Jest woiinięty;
e ustawJonJo początkowych wartości rejestrów i wskaźników programowych na stronach ateruJących, czyli tzw. "zerowanie" terminala;
o ustawienie trybu pracy terminala w zależności od stanu klticza systemowego nr O; e ustaw leni o stanu gotowości terminala do odbioru sygnałów z linii;-
O ustawianie sygnalizacji trybu i stanu pracy terminala i przekazanie sterowania do segmentu 2.
W sogmoneio 2 roulizowano Jest aktywne oczekiwanie na przerwania woJścia/vyJścia i odliczanie
czasu,
'/ chwilą przyjęcia przerwania sterowania przejmuje segment 3, który rozpoznaje przyczynę przerwaniu 1 w zależności od wyniku togo ro*poznania oraz w zależności od fazy procy inicjuje obsłu-przorwtuiin przez inny segment programowy.
Jeśli przerwanie nie pochodzi od Jednostki sterującej transmisją (JST), to dzinianio przejmuje segment *ł obsługujący drukarkę i klawiaturę. W przeciwnym wypadku storowanie Jest przekazane do modułu komunikacyjnego. Odpowiednio do togo sygnalizowany Jost stan pracy urządzeniu przez zapalenie lub zgaszenie właściwych lampek. Jeśli przerwanio pochodzi od klawiatury, to w segmencie •i realizowany Jest odbiór i rozpoznnnio togo znaku, przy czym znak tekstowy będzie umieszczony w bufo!"/•• tylko wówczas, Jośli terminal znajduje się w stanie wprowadzania danych. Joźeli przorwn-ii le spowodowała drukarka i tonu i nul znajduje się w stanie wyproi/adzania danych, to kolejny znak z buforu będzie wydrukowany na papierze.
/nul; i funkcyjne rozpoznane w sogmoneio U powodują:
o las l - przekazani o sterowania do sogmentu 1, "zerowanie" terminala, ustawienie trybu i stanu
lenili nulu itd. zgodnie z \/yżoJ opisanym działaniem segmentu I ;
• l S2 - ustawienie stanu wprowadzania danych i powrót do sogmentu 2;
• 1SJ - ustawienie stanu wyprowadzania danych i zainicJowanio wydruku zawartości bufora, jeś
li terminal nio znajdujo się w stanio wprowadzania danych, gdyż w tym stanie ES3 nic działu, tzn. powoduje tylko powrót z przerwania;