uprawlenie  na  operator,
           sledu`}ij za poslednim wypolnennym operatorom GoSUw;

  STOP   - zawer{aet wypolnenie programmy.



       4.3.2. komandy operatora



  APPEND [FILSPC]
         - ob'edinitx programmu, nahodq}u`sq w  operatiwnoj  pamqti,  s
           programmoj iz ukazannogo fajla; rezulxtat ob'edineniq razme-
           }aetsq w operatiwnoj pamqti;

  BYE
         - zawer{enie  seansa  raboty  s  interpretatorom;   wozwra}aet
           uprawlenie monitoru mikro os;

  CLEAR  - inicializirowatx wse peremennye  zna~eniem  nolx,  strokowye
           peremennye - strokami dliny nolx; steretx massiwy;

  COMPILE [FILSPC]
         - sohranitx skompilirowannyj  wariant  programmy  w  ukazannom
           fajle; po umol~ani`  w  ka~estwe  imeni  fajla  ispolxzuetsq
           teku}ee imq programmy; esli imq programmy ne  zadano,  budet
           sozdan fajl s imenem NONAME;

  DEL LINENUM[,...]
         - steretx ukazannye stroki iz teksta programmy, nahodq}ejsq  w
           pamqti;

  LENGTH - raspe~atatx na terminale ob'em programmy w operatiwnoj pamq-
           ti i ob'em ostaw{egosq swobodnogo mesta;


                                 - 111 -




  LISM[NH] [STRINGNUM,...]
         - wywesti na terminal ukazannye stroki  nahodq}ejsq  w  pamqti
           programmy; Nn podawlqet wywod stroki zagolowka;

  NEW [NAME]
         - komanda o~i}aet pamqtx i priswaiwaet  imq  NAME  sozdawaemoj
           programme; esli imq w komande ne  ukazano,  programme  budet
           dano imq, wwedennoe w otwet na wopros "NEW FILE NAME  --  ";
           esli w otwet na wopros budet wwedena pustaq  stroka  (tolxko
           <CR>), programme, wwodimoj s terminala, budet priswoeno  imq
           NONAME;

  OLD [FILSPC]
         - polnostx` o~istitx pamqtx i pro~itatx programmu, sohranennu`
           po komande SAVE, iz ukazannogo FILSPC fajla; esli specifika-
           ciq fajla ne dana, zadaetsq wopros "OLD FILE NAME  --  ",  w
           otwet na kotoryj neobhodimo wwesti imq programmy ili  pustu`
           (tolxko <CR>) stroku; w poslednem slu~ae budet s~itana prog-
           ramma s imenem NONAME;

  RENAME [NAME]
         - izmenitx teku}ee imq programmy  na  ukazannoe  NAME;  imenem
           programmy po umol~ani` qwlqetsq NONAME;

  REPLACE [FILSPC]
         - komanda zamenqet fajl s programmoj, ranee sozdannyj komandoj
           SAVE, na ustrojstwe s fajlowoj strukturoj,  fajlom  s  nowym
           tekstom programmy;  po  umol~ani`  w  ka~estwe  imeni  fajla
           ispolxzuetsq  teku}ee  imq  programmy;  esli  imq  programmy
           otsutstwuet, budet sozdan fajl DK:NONAME.BAS;

  RESEQ [[NEWNUM],[OLDNUM1],[OLDNUM2],[STEP]]
         - perenumerowatx stroki programmy ot nomera OLDNUM1 do  nomera
           OLDNUM2; nowu` numeraci` na~atx  s  nomera  NEWNUM  s  {agom
           STEP;

  RUN[NH] [FILSPC]
         - wypolnitx programmu, nahodq}u`sq w pamqti; esli ukazana spe-
           cifikaciq fajla FILSPC,  to  o~istitx  ispolxzuemu`  pamqtx,
           wwesti programmu iz ukazannogo fajla i  wypolnitx  wwedennu`
           programmu; Nn podawlqet wywod stroki zagolowka  na  terminal
           pri zapuske programmy;

  SAVE [FILSPC]
         - wywesti programmu, hranq}u`sq w pamqti, w ukazannyj fajl; po
           umol~ani` w ka~estwe imeni fajla  ispolxzuetsq  teku}ee  imq
           programmy; esli imq programmy ne ukazano, budet sozdan  fajl
           DK:NONAME.BAS;

  SCR    - polnostx` o~istitx pamqtx i zamenitx imq programmy na  NoNa-
           me;

  SUB LINENUM@STRING1@STRING2[@INT]
         - INT ukazywaet ~islo powtorenij stroki STRING1. propustitx ot
           na~ala stroki s ukazannym nomerom LINENUM INT-1 ~islo powto-
           renij stroki STRING1, sledu`}u` stroku STRING1  zamenitx  na
           stroku STRING2; znak @ qwlqetsq  razdelitelem  w  komande  i
           movet bytx l`bym simwolom, ne whodq}im w STRING1 i STRING2;

                                 - 112 -




  UNSAVE FILSPC
         - steretx ukazannyj fajl FILSPC s ustrojstwa.



       4.3.3. arifmeti~eskie funkcii



  ABS(EXPR)
         - absol`tnoe zna~enie wyraveniq EXPR;

  ATN(EXPR)
         - arktangens wyraveniq EXPR kak weli~ina  ugla  w  radianah  w
           predelah (-rI/2,+rI/2);

  COS(EXPR)
         - kosinus ugla, weli~ina kotorogo w radianah zadana wyraveniem
           EXPR;

  EXP(EXPR)
         - zna~enie stepeni ~isla e, ukazannoj wyraveniem EXPR; e prib-
           lizitelxno rawno 2.71828; EXPR dolvno bytx <= 87.;

  INT(EXPR)
         - funkciq opredelqet  celu`  ~astx  wyraveniq  EXPR,  okruglqq
           rezulxtat;

  LOG(EXPR)
         - naturalxnyj logarifm wyraveniq EXPR; zna~enie wyraveniq EXPR
           dolvno bytx polovitelxnym;

  LOG10(EXPR)
         - logarifm po osnowani` 10. ot wyraveniq EXPR; zna~enie  wyra-
           veniq EXPR dolvno bytx polovitelxnym;

  PI     - zna~enie rI (3.141593); movet  ispolxzowatxsq  kak  ~islowaq
           konstanta;

  RND[(EXPR)]
         - psewdoslu~ajnoe ~islo w interwale [0,1]; pri powtornom wyzo-
           we programmy posledowatelxnostx |tih ~isel budet  powtorena,
           esli ne ispolxzuetsq operator  RANDOMIZE;  argument  ignori-
           ruetsq;

  SGN(EXPR)
         - zna~enie, ukazywa`}ee znak wyraveniq EXPR; -1, 0,  +1  soot-
           wetstwenno dlq  otricatelxnogo,  nulewogo  i  polovitelxnogo
           zna~eniq EXPR;

  SIN(EXPR)
         - sinus ugla, weli~ina kotorogo w radianah  zadana  wyraveniem
           EXPR;

  SQR(EXPR)
         - kwadratnyj korenx iz zna~eniq wyraveniq EXPR; zna~enie wyra-
           veniq EXPR dolvno bytx polovitelxnym;


                                 - 113 -




  TAB(EXPR)
         - ustanawliwaet pe~ata`}u` golowku ustrojstwa wywoda terminala
           (dlq wideoterminala - kursor) na pozici` stroki  s  nomerom,
           zadannym wyraveniem EXPR; wyzow funkcii  razre{en  tolxko  w
           spiske wywoda operatora rRINt.



       4.3.4. strokowye funkcii



  ASC(STRING)
         - zna~enie  7-bitnogo,  wnutrennego  koda  simwola,  zadannogo
           odnosimwolxnoj strokoj STRING;

  BIN(STRING)
         - preobrazuet simwolxnu` posledowatelxnostx, soderva}u` dwoi~-
           nu` zapisx ~isla, w desqti~noe celoe ~islo; probely  ignori-
           ru`tsq;

  CHR$(EXPR)
         - generiruet odnosimwolxnu` stroku po mlad{emu bajtu  zna~eniq
           wyraveniq EXPR; mlad{ij bajt  ispolxzuetsq,  kak  kod  koi-7
           wozwra}aemogo simwola;

  CLK$   - wozwra}aet  teku}ee  wremq  sistemy  kak  stroku  w  formate
           HH:MM:SS (naprimer, 23:57:01);

  DAM$   - wozwra}aet teku}u` sistemnu` datu kak stroku w  formate  DD-
           MMM-YY (naprimer, 1-OCT-84);

  LEN(STRING)
         - ~islo simwolow w stroke STRING;

  OCT(STRING)
         - preobrazuet simwolxnu` posledowatelxnostx STRING, soderva}u`
           wosxmeri~nu` zapisx ~isla w desqti~noe celoe ~islo;  probely
           ignoriru`tsq;

  POS(STRING1,STRING2,EXPR)
         - proizwodit poisk  i  wozwra}aet  pozici`  perwogo  whovdeniq
           stroki STRING2 w stroke STRING1; poisk na~inaetsq s simwola,
           poziciq kotorogo ukazana wyraveniem EXPR;

  SEG$(STRING,EXPR1,EXPR2)
         - wozwra}aet podstroku ukazannoj  stroki  STRING  ot  pozicii,
           ukazannoj EXPR1, do pozicii, ukazannoj EXPR2;

  SMR$(EXPR)
         - wozwra}aet stroku, kotoraq predstawlqet  w  simwolxnom  wide
           zna~enie wyraveniq EXPR;

  TRM$(STRING)
         - wozwra}aet stroku bez zawer{a`}ih probelow;

  VAL(STRING)
         - zna~enie ~isla, desqti~naq zapisx kotorogo nahoditsq w stro-
           ke STRING.

                                 - 114 -




       4.3.5. sistemnye funkcii



  ABORT(EXPR)
         - pri obra}enii k |toj funkcii wypolnenie programmy ostanawli-
           waetsq i, w slu~ae EXPR = 1, programma udalqetsq iz pamqti;

  CTRLC  - razre{aet interpretatoru wypolnenie  komandy  <CTRL/C>;  t.e
           wosstanawliwaet oby~nu` reakci` sistemy na |tot  uprawlq`}ij
           simwol;

  RCTRLC - podawlqet standartnu` reakci` na  <CTRL/C>  i  predotwra}aet
           prekra}enie raboty programmy w slu~ae wwoda |togo  uprawlq`-
           }ego simwola;

  RCTRLO - razre{aet wywod na terminal nezawisimo  ot  komand  <CTRL/O>
           (sbrasywaet flag <CTRL/O>);

  SYS(EXPR1[,EXPR2])
         - wypolnqet sistemnye operacii, opredelqemye wyraveniqmi EXPR;

  TTYSET(255,EXPR)
         - ustanawliwaet {irinu rabo~ego polq terminala rawnoj zna~eni`
           wyraveniq EXPR-1.



       4.4. qzyk programmirowaniq paskalx



       translqciq programm, napisannyh na qzyke paskalx,  prowoditsq  w
  dwa |tapa:

         - translqciq s qzyka paskalx na makroassembler,
         - translqciq s qzyka makroassembler w ob'ektnu` formu.

       perwyj {ag osu}estwlqetsq wyzowom kompilqtora s  qzyka  paskalx,
  za kotorym sleduet wwod komandnoj stroki:

        .R PASCAL
        *PROG.MAC,PROG.LST,PROG.SYM[/OPT]=P1.PAS,P2.PAS,...

   gde

  PROG.MAC
         - fajl rezulxtata translqcii;

  PROG.LST
         - fajl listinga programmy;

  PROG.SYM
         - fajl dwoi~noj tablicy simwolow, opredelennyh w programme;

  P1.PAS, P2.PAS i t.d.
         - fajly, soderva}ie ishodnyj tekst programmy;

  /OPT   - kl`~i kompilqtora (kl`~i pozicionno nezawisimy).

                                 - 115 -




       wtoroj {ag translqcii movet bytx  wypolnen  pri  pomo}i  komandy
  monitora MACRO.



       4.4.1. kl`~i kompilqtora



       kompilqtor s qzyka  paskalx  dopuskaet  ispolxzowanie  sledu`}ih
  kl`~ej:

  /D     - wkl`~itx w transliruemu` programmu informaci` dlq otlad~ika:
           imena peremennyh, procedur, nomera operatorow; pri ispolxzo-
           wanii sowmestno s kl`~om /S ustanawliwaet sootwetstwie nome-
           row operatorow i strok w  listinge  programmy;  ispolxzuetsq
           takve dlq postroeniq "profilq" programmy  s  pomo}x`  modulq
           PASPRF;

  /E     - ob'qwlqet imq transliruemoj  procedury  globalxnym  simwolom
           (dlq komponow}ika);  obqzatelen  pri  razdelxnoj  translqcii
           procedury;

  /F     - optimizaciq raboty s ~islowymi dannymi tipa REAL pri  rabote
           na processorah,  ne  ime`}ih  instrukcij  plawa`}ej  zapqtoj
           (FIS) i ne wkl`~a`}ih processora  plawa`}ej  zapqtoj  (FPU);
           uskorqet rabotu programmy za s~et uweli~eniq ee ob'ema;

  /L[:K] - razre{enie polnoj raspe~atki teksta  programmy  w  listinge;
           "K" opredelqet ~islo strok listinga na stranice raspe~atki;

  /N     - zapre}enie raspe~atki teksta  programmy  w  listinge  (krome
           strok, soderva}ih o{ibki);

  /S     - w processe translqcii programmy s qzyka paskalx na  makroas-
           sembler wkl`~aet w polu~ennyj tekst operatory qzyka  paskalx
           w ka~estwe kommentariew;

  /X     - ispolxzuetsq dlq raboty s  dejstwitelxnymi  ~islami  dwojnoj
           to~nosti (16 desqti~nyh  znakow  posle  zapqtoj);  pri  |tom
           wydelqetsq po 4 slowa operatiwnoj pamqti  kavdoj  peremennoj
           tipa REAL; po umol~ani` dlq peremennyh tipa  REAL  otwoditsq
           po dwa slowa; pri razdelxnoj  translqcii  modulej  programmy
           ispolxzowanie kl`~a /X dolvno bytx soglasowano;

       dejstwie opisannyh kl`~ej movet bytx lokalizowano  na  trebuemom
  u~astke programmy putem wkl`~eniq w tekst programmy kommentariew wida
  (*$Z+*) i (*$Z-*). perwyj iz nih  razre{aet,  a  wtoroj  -  zapre}aet
  translqtoru dejstwiq, opredelqemye kl`~om Z, gde Z = (A, C, D, E,  F,
  S, T, X).

       ispolxzowanie Z = (A, C, T) dopustimo tolxko w kommentariqh:

  (*$A-*)
         - otmenqet kontrolx dopustimosti zna~enij indeksow pri  rabote
           s massiwami, ~to uskorqet wypolnenie i umenx{aet ob'em prog-
           rammy; po umol~ani` translqtor generiruet programmu s  wkl`-
           ~eniem instrukcij kontrolq; rekomenduetsq  primenqtx  tolxko
           dlq otlavennyh programm;

                                 - 116 -




  (*$C   - ob'qwlqet na~alo teksta na makroassemblere, kotoryj  neobho-
           dimo wkl`~itx w rezulxtat translqcii; wstawlqemyj tekst dol-
           ven nahoditxsq wnutri skobok kommentariq, t.e. zakan~iwatxsq
           posledowatelxnostx` znakow *);

  (*$T-*)
         - zapre}aet  generaci`  instrukcij,  prowerq`}ih  perepolnenie
           steka; ispolxzuetsq dlq uskoreniq raboty i umenx{eniq  zani-
           maemoj pamqti; rekomenduetsq primenqtx tolxko dlq otlavennyh
           programm.



       4.4.2. zarezerwirowannye identifikatory



       w realizacii qzyka paskalx su}estwu`t identifikatory, s~ita`}ie-
  sq predopredelennymi (t.e. izwestnymi translqtoru). pri neobhodimosti
  |ti identifikatory mogut bytx pereopredeleny programmistom.  zarezer-
  wirowannymi qwlq`tsq:

   1) identifikatory konstant

  ALFALENG = 10
         - werhnqq granica zna~eniq indeksa dlq massiwa tipa ALFA;

  FALSE, TRUE
         - konstanty tipa BOOLEAN; obozna~a`t "lovx" i "istina",  soot-
           wetstwenno;

  MAXINT = 32767
         - maksimalxnoe celoe ~islo,  dopustimoe  w  dannoj  realizacii
           qzyka;

   2) identifikatory tipow dannyh

  ALFA   - dannye, kotorye predstawlq`tsq w wide massiwa simwolow (tipa
           CHAR); predopredelennyj strukturnyj tip:

                  ALFA = ARRAY [1..ALFALENG] OF CHAR;

  BOOLEAN
         - logi~eskie dannye; movno uslowno s~itatx zadannymi  pere~is-
           leniem:

                  BOOLEAN = (FALSE, TRUE)

  CHAR   - simwolxnye dannye; hranenie pobajtnoe (odin simwol  koi-7  -
           odin bajt);

  INTEGER
         - celye ~isla; hranenie po odnomu ~islu w slowe; movno uslowno
           s~itatx zadannymi otrezkom:

                  INTEGER = -MAXINT-1..MAXINT

  REAL   - dejstwitelxnye ~isla; odno ~islo zanimaet 4 bajta; esli  pri
           translqcii ukazywaetsq kl`~ /X, to kavdoe ~islo  zanimaet  8

                                 - 117 -




           bajt;

  TEXT   - tekstowoj  fajl,  hranq}ijsq  na  wne{nem   nositele;   fajl
           wwoda/wywoda pri rabote s terminalom; pri wwode/wywode  dan-
           nyh bazowyh tipow w |tot fajl ispolnq`}aq sistema proizwodit
           preobrazowanie  wnutrennego  predstawleniq  w  tekstowoe   i
           obratno;

   3) identifikatory bibliote~nyh funkcij

  ABS (X)
         - wy~islqet absol`tnu` weli~inu zna~eniq X; tip argumenta dol-
           ven bytx INTEGER ili REAL; tip rezulxtata sowpadaet s  tipom
           argumenta;

  ARCTAN (X)
         - wy~islqet arktangens dejstwitelxnoj weli~iny X; rezulxtat  -
           dejstwitelxnoe ~islo, predstawlq`}ee weli~inu ugla w  radia-
           nah;

  CHR (X)
         - argument wyzowa dolven imetx tip  INTEGER,  rezulxtat  imeet
           tip CHAR; wozwra}aetsq simwol, porqdkowyj nomer  kotorogo  w
           tablice koi-7 rawen X;

  COS (X)
         - wy~islqet kosinus ugla, zadannogo  w  radianah;  argument  i
           rezulxtat funkcii ime`t tip REAL;

  EOF (F)
         - logi~eskaq funkciq, wozwra}a`}aq zna~enie TRUE, esli  ukaza-
           telx fajla F nahoditsq w konce fajla (za poslednej zapisx`);

  EOLN (F)
         - logi~eskaq funkciq, wozwra}a`}aq zna~enie TRUE, esli  ukaza-
           telx wwodimogo tekstowogo fajla nahoditsq  w  konce  stroki;
           primenimo tolxko dlq fajlow tipa TEXT; esli pri wyzowe  faj-
           lowaq peremennaq fajla ne  ukazana,  to  funkciq  opredelqet
           konec stroki, wwodimoj s terminala;

  EXP (X)
         - |ksponenta ot X; argument i rezulxtat funkcii ime`t dejstwi-
           telxnyj tip;

  EXP10 (X)
         - |ksponenta po osnowani` 10 ot X; argument i rezulxtat  funk-
           cii ime`t dejstwitelxnyj tip;

  FLOAT (X)
         - preobrazowanie celogo zna~eniq X w formu s  plawa`}ej  zapq-
           toj, t.e. iz tipa INTEGER w tip REAL;

  LN (X) - naturalxnyj logarifm ot  X;  argument  i  rezulxtat  funkcii
           ime`t dejstwitelxnyj tip;

  LOG (X)
         - desqti~nyj logarifm ot X; argument i rezulxtat funkcii ime`t
           dejstwitelxnyj tip;

                                 - 118 -




  ODD (X)
         - logi~eskaq funkciq; wozwra}aet zna~enie TRUE, esli  argument
           (tipa INTEGER) - ne~etnoe ~islo;

  ORD (C)
         - esli argument wyzowa simwolxnogo tipa (CHAR), to rezulxtat -
           celoe ~islo, rawnoe porqdkowomu nomeru litery "C" w  tablice
           koi-7; esli argument wyzowa imeet tip,  zadannyj  pere~isle-
           niem, to wozwra}aemoe zna~enie - porqdkowyj nomer zna~eniq w
           pere~islenii;

  PRED (X)
         - wozwra}aet zna~enie, pred{estwu`}ee X, esli ono  su}estwuet;
           X dolvno bytx skalqrnogo tipa; wozwra}aemoe  zna~enie  imeet
           tot ve tip, ~to i X;

  ROUND (X)
         - okruglenie do blivaj{ego celogo; argument wyzowa dolven bytx
           tipa REAL; wozwra}aemoe zna~enie imeet tip INTEGER;

  SIN (X)
         - sinus ugla, zadannogo w radianah; argument wyzowa i zna~enie
           funkcii ime`t tip REAL;

  SQR (X)
         - wy~islenie kwadrata ~isla; dopustimy argumenty tipa  INTEGER
           i REAL; wozwra}aemoe zna~enie imeet tot ve tip, ~to i  argu-
           ment;

  SQRT (X)
         - wy~islenie kwadratnogo kornq ot X; argument movet bytx  tipa
           REAL ili INTEGER, a rezulxtat wsegda tipa REAL;

  SUCC (X)
         - wozwra}aet zna~enie, sledu`}ee za X, esli ono su}estwuet;  X
           dolven bytx skalqrnogo tipa; wozwra}aemoe zna~enie imeet tot
           ve tip, ~to i X;

  TRUNC (X)
         - use~enie do celogo; argument wyzowa dolven imetx  tip  REAL;
           wozwra}aemoe zna~enie imeet tip INTEGER;

  TIME   - wozwra}aet zna~enie tipa REAL, sootwetstwu`}ee  wremeni  dnq
           (ot poluno~i) w sekundah; to~nostx ne menee odnoj sekundy;

   4) identifikatory procedur

  BREAK (F)
         - w ispolnq`}ej sisteme paskalx/mikro os osu}estwlqetsq  bufe-
           rizaciq wwoda/wywoda - fakti~eskij wywod proizwoditsq tolxko
           pri zapolnenii bufera obmena;  obra}enie  k  BREAK  wyzywaet
           nemedlennyj wywod zapolnennoj ~asti bufera fajla F;

  CLOSE (F)
         - zakrytx ukazannyj fajl F; pri zakrytii awtomati~eski  wypol-
           nqetsq procedura BREAK(F) i  oswobovdaetsq  pamqtx,  zanqtaq
           buferom obmena;


                                 - 119 -




  DISPOSE (P)
         - oswoboditx (wernutx w spisok swobodnoj pamqti) oblastx pamq-
           ti, polu~ennu` po procedure NEW; P  qwlqetsq  ukazatelem  na
           oswobovdaemu` oblastx; razmer oswobovdaemoj oblasti  oprede-
           lqetsq  tipom  ukazatelq  P;  esli  P  qwlqetsq   ukazatelem
           wariantnoj zapisi, to za P w spiske  argumentow  mogut  bytx
           zadany zna~eniq polej wariantow, kotorye ignoriru`tsq siste-
           moj "DISPOSE (P[,V1,...,VK])";

  GET (F)
         - peredwinutx ukazatelx w fajle F na sledu`}u` zapisx i  pris-
           woitx  ee  zna~enie  bufernoj  peremennoj   F^;   w   slu~ae
           EOF(F)=TRUE zna~enie F^ ne opredeleno;

  NEW (P)
         - wydelqet oblastx pamqti iz spiska swobodnoj i priswaiwaet  P
           zna~enie, ukazywa`}ee na  |tu  oblastx;  razmer  dinami~eski
           wydelqemoj oblasti opredelqetsq tipom ukazatelq  P;  esli  P
           qwlqetsq ukazatelem wariantnoj zapisi,  to  za  P  w  spiske
           argumentow wyzowa mogut bytx zadany zna~eniq  polej  prizna-
           kow, kotorye sistemoj ignoriru`tsq "NEW (P[,V1,...,VK])";

  PAGE (F)
         - wywesti w tekstowoj fajl F uprawlq`}ij znak <FF> dlq pereho-
           da k nowoj stranice;

  PUT (F)
         - zapisywaet zna~enie bufernoj peremennoj F^ w fajl F;  opera-
           ciq opredelena pri EOF(F)=TRUE;

  RESET (F,FILSPC,DEF,LEN)
         - otkrytx su}estwu`}ij na wne{nem nositele  fajl  dlq  ~teniq;
           ustanowitx sootwetstwie mevdu specifikaciej fajla (w formate
           CSI) FILSPC i  fajlowoj  peremennoj  F,  priswoitx  bufernoj
           peremennoj F^ zna~enie perwoj zapisi fajla;  DEF  opredelqet
           specifikaci` fajla po  umol~ani`,  a  wozwra}aemoe  w  celoj
           peremennoj LEN zna~enie - dlinu fajla w blokah (ili -1, esli
           ukazannyj fajl ne najden); FILSPC i DEF dolvny bytx odnomer-
           nymi massiwami |lementow  tipa  CHAR;  FILSPC  i  DEF  mogut
           sodervatx sledu`}ie kl`~i:

           /BUFFERSIZE:N
                - ukazywaet razmer bufera obmena w bajtah; po umol~ani`
                  N rawno 512 (desqti~noe);

           /GO  - ignoriruet o{ibki pri obmene  s  dannym  fajlom;  bez
                  |togo kl`~a l`bye o{ibki obmena qwlq`tsq fatalxnymi i
                  priwodqt k prekra}eni` raboty programmy;

           /SEEK
                - razre{aet ispolxzowanie procedury SEEK() dlq  prqmogo
                  dostupa k zapisqm fajla;

           /SPANNED
                - razre{aet zapisi peresekatx granicu bloka na  nosite-
                  le; uweli~iwaet |ffektiwnostx  ispolxzowaniq  wne{nej
                  pamqti; bez |togo kl`~a blok  wsegda  sodervit  celoe
                  ~islo zapisej, ~to  uweli~iwaet  skorostx  obmena  za
                  s~et rashoda wne{nej pamqti;

                                 - 120 -




           /TEMPORARY
                - sozdaet wremennyj fajl (tolxko dlq  procedury  REWRI-
                  TE); posle wypolneniq operacii zakrytiq (CLOSE)  fajl
                  udalqetsq; pri ispolxzowanii |togo kl`~a imq fajla ne
                  obqzatelxno;

  REWRITE (F,FILSPC,DEF,LEN)
         - sozdatx fajl FILSPC na wne{nem nositele i  otkrytx  ego  dlq
           zapisi; ustanowitx  sootwetstwie  mevdu  fajlom  i  fajlowoj
           peremennoj F; DEF opredelqet specifikaci` fajla  po  umol~a-
           ni`, a celo~islennaq peremennaq  LEN  -  dlinu  sozdawaemogo
           fajla w blokah; FILSPC i DEF dolvny bytx odnomernymi  massi-
           wami |lementow tipa CHAR; posle  wypolneniq  |toj  procedury
           EOF(F) prinimaet zna~enie TRUE; FILSPC i DEF mogut sodervatx
           kl`~i, ispolxzuemye w procedure RESET;

  READ (F,LIST)
         - pro~itatx iz tekstowogo fajla F i priswoitx peremennym, uka-
           zannym w spiske LIST, zna~eniq; dlq peremennyh bazowyh tipow
           proizwoditsq preobrazowanie zna~enij iz tekstowogo predstaw-
           leniq wo wnutrennee; dopustim wwod w peremennye  tipa  odno-
           mernogo simwolxnogo massiwa; esli ne ukazana peremennaq-fajl
           F, to wwod osu}estwlqetsq s terminala;

  READLN (F,LIST)
         - |kwiwalentno READ; dopolnitelxno proizwoditsq  propusk  wseh
           znakow, ostaw{ihsq w teku}ej stroke wwoda,  do  ograni~itelq
           stroki wkl`~itelxno;

  SEEK (F,N)
         - pozicionirowatx ukazatelx fajla F na zapisx nomer N  i  s~i-
           tatx |tu zapisx w  bufernu`  peremennu`  F^;  dlq  izmeneniq
           sodervimogo |toj zapisi  posle  pozicionirowaniq  neobhodimo
           priswoitx bufernoj peremennoj  nowoe  zna~enie  i  wypolnitx
           PUT(F);

  WRITE (F,LIST)
         - wywesti w tekstowoj fajl  F  zna~eniq,  ukazannye  w  spiske
           LIST, ~erez zapqtu`; dlq peremennyh bazowyh  tipow  proizwo-
           ditsq preobrazowanie iz wnutrennego predstawleniq w  teksto-
           woe; dopustim wywod zna~enij  tipa  odnomernogo  simwolxnogo
           massiwa,  i  ispolxzowanie   konstrukcij   wida   "V:N1"   i
           "V:N1:N2"; esli  ne  ukazana  peremennaq-fajl  F,  to  wywod
           proizwoditsq na terminal;

  WRITELN (F,LIST)
         - |kwiwalentno WRITE; dopolnitelxno proizwoditsq wywod  upraw-
           lq`}ih znakow perehoda na nowu` stroku.



       4.4.3. kl`~ewye slowa



       kl`~ewye slowa qwlq`tsq sredstwom  opisaniq  struktur  dannyh  i
  algoritmow raboty programmy na qzyke  paskalx.  pereopredelenie  |tih
  identifikatorow zapre}eno. k kl`~ewym slowam otnosqtsq:

                                 - 121 -




  AND    - operaciq "logi~eskoe "i" operandow tipa BOOLEAN";
         - operaciq "porazrqdnoe logi~eskoe "i"  operandow  tipa  INTE-
           GER";

  ARRAY  - kl`~ewoe slowo dlq opisaniq massiwa;

         - kl`~ewoe slowo na~ala tela procedury, funkcii  ili  golownoj
           programmy;
         - kl`~ewoe slowo na~ala sostawnogo operatora.

  CASE   - kl`~ewoe  slowo  na~ala  opisaniq  wariantnoj  ~asti  zapisi
           (RECORD); wariantnaq ~astx dolvna bytx poslednej  w  zapisi;
           ona imeet strukturu  "CASE  NAM:SWTYP  OF  C1:(L1);  C2:(L2)
           ..."; NAM zadaet imq polq i~eskoe "i"  operandow  tipa  BOO-
           LEAN";
         - operaciq "porazrqdnoe logi~eskoe "i"  operandow  tipa  INTE-
           GER";

  ARRAY  - kl`~ewoe slowo dlq opisaniq massiwa;

         - kl`~ewoe slowo na~ala tela procedury, funkcii  ili  golownoj
           programmy;
         - kl`~ewoe slowo na~ala sostawnogo operatora.

  CASE   - kl`~ewoe  slowo  na~ala  opisaniq  wariantnoj  ~asti  zapisi
           (RECORD); wariantnaq ~astx dolvna bytx poslednej  w  zapisi;
           ona imeet strukturu  "CASE  NAM:SWTYP  OF  C1:(L1);  C2:(L2)
           ..."; NAM zadaet imq polq wok razdela opredeleniq konstant w
           programme ili procedure;

  DIV    - operaciq celo~islennogo deleniq; imeet operandy  tipa  INTE-
           GER;

  DO     - kl`~ewoe slowo, whodq}ee w konstrukcii FOR, WITH, WHILE,  za
           kotorym sleduet operator,  wypolnqemyj  w  |toj  uprawlq`}ej
           strukture;

  DOWNTO - kl`~ewoe slowo w konstrukcii FOR, opredelq`{ee, ~to peremen-
           naq cikla dolvna w konce kavdoj iteracii  izmenqtx  zna~enie
           na pred{estwu`}ee teku}emu;

  ELSE   - kl`~ewoe slowo w konstrukciqh CASE i IF, za kotorym  sleduet
           operator, polu~a`}ij uprawlenie w slu~ae newypolneniq  uslo-
           wiq (IF) ili nesowpadeniq zna~eniq perekl`~atelq  s  metkami
           wariantow (CASE); slowo ELSE i sledu`}ij za nim  operator  w
           ukazannyh konstrukciqh ne qwlq`tsq obqzatelxnymi;

  END    - kl`~ewoe slowo okon~aniq sostawnogo operatora;
         - kl`~ewoe slowo okon~aniq tela procedury ili funkcii;
         - kl`~ewoe slowo  okon~aniq  opisaniq  struktury  dannyh  wida
           RECORD;

  END.   - kl`~ewoe slowo konca teksta programmy;

  EXIT   - operator wyhoda iz teku}ego cikla,  obrazowannogo  konstruk-
           ciqmi FOR, WHILE, REPEAT, nezawisimo ot  uslowiq  zawer{eniq
           |togo cikla;


                                 - 122 -




  EXTERNAL
         - kl`~ewoe slowo opisaniq wne{nej, otdelxno transliruemoj pro-
           cedury ili funkcii; w opisanii sleduet za opredeleniem zago-
           lowka procedury (funkcii) i  otdelqetsq  ot  nego  to~koj  s
           zapqtoj; telo procedury (funkcii) pri |tom ne zadaetsq;

  FILE   - kl`~ewoe slowo opredeleniq  fajla  w  konstrukcii  "FILE  OF
           TYP", gde TYP - tip zapisi (|lementa) fajla;

  FOR    - kl`~ewoe slowo operatora  cikla;  operator  imeet  strukturu
           "FOR IVAR:= EXPR1 TO EXPR2 DO STAT", gde IVAR  -  peremennaq
           cikla, EXPR1 i EXPR2 - na~alxnoe i, sootwetstwenno, kone~noe
           zna~enie, prinimaemoe |toj peremennoj; wypolnenie  operatora
           STAT prekra}aetsq pri IVAR>EXPR2; izmenenie peremennoj cikla
           opredelqetsq kl`~ewym slowom "TO"; w konce  kavdoj  iteracii
           zna~enie IVAR zame}aetsq na  SUCC(IVAR);  pri  ispolxzowanii
           wmesto "TO" kl`~ewogo  slowa  "DOWNTO"  zna~enie  peremennoj
           cikla w konce iteracii  zamenqetsq  na  PRED(IVAR),  i  cikl
           zakan~iwaetsq po uslowi` IVAR<EXPR2;

  FORTRAN
         - kl`~ewoe slowo opisaniq wne{nej procedury ili funkcii, napi-
           sannoj na qzyke fortran; w opisanii sleduet za  opredeleniem
           zagolowka procedury (funkcii) i otdelqetsq ot nego to~koj  s
           zapqtoj; telo procedury (funkcii) pri |tom ne zadaetsq;

  FORWARD
         - kl`~ewoe slowo predwaritelxnogo opisaniq zagolowka procedury
           ili funkcii; w opisanii sleduet za opredeleniem i otdelqetsq
           ot nego to~koj s zapqtoj; telo procedury (wmeste s sokra}en-
           nym zadaniem zagolowka) opisywaetsq dalee w tekste  program-
           my; |to kl`~ewoe slowo ispolxzuetsq pri neobhodimosti wyzowa
           procedury do ee polnogo opisaniq;

  FUNCTION
         - kl`~ewoe slowo opredeleniq zagolowka funkcii, imeet struktu-
           ru: "FUNCTION NAME(PARLIST):TYP",  gde  NAME  -  zadaet  imq
           funkcii, a TYP - tip wozwra}aemogo rezulxtata; spisok  para-
           metrow wyzowa PARLIST movet wkl`~atx sledu`}ie  predloveniq,
           razdelennye to~kami s zapqtoj:

           NAM:TYP1
                - opredelenie parametra, peredawaemogo po zna~eni`;

           VAR NAM:TYP
                - opredelenie parametra, peredawaemogo po ssylke (para-
                  metra s wozwra}aemym zna~eniem);

           FUNCTION NAM:TYP
                - opredelenie parametra  -  imeni  funkcii,  wyzywaemoj
                  wnutri dannoj funkcii;

           PROCEDURE NAM
                - opredelenie parametra - imeni  procedury,  wyzywaemoj
                  wnutri dannoj funkcii;

  GOTO LAB
         - operator bezuslownoj pereda~i uprawleniq na metku LAB; metka
           dolvna nahoditxsq w predelah programmnoj edinicy, w  razdele

                                 - 123 -




           opisaniq metok kotoroj ona ob'qwlena;

  IF     - kl`~ewoe slowo uslownogo operatora, ime`}ego  strukturu  "IF
           LOGEXPR THEN OPER1 ELSE OPER2", gde, w zawisimosti ot zna~e-
           niq logi~eskogo wyraveniq LOGEXPR, wypolnqetsq OPER1 (w slu-
           ~ae "TRUE") ili  OPER2  (w  slu~ae  "FALSE");  oborot  "ELSE
           OPER2" ne obqzatelen; pri wlovennosti IF  oborot  ELSE  s~i-
           taetsq otnosq}imsq k  poslednemu  (po  wlovennosti)  IF,  ne
           ime`}ego ELSE;

  IN     - operaciq prowerki prinadlevnosti |lementa mnovestwu;  "A  IN
           B" - |lement "A" whodit w mnovestwo "B";

  LABEL  - zagolowok razdela opredeleniq metok w programme ili procedu-
           re;

  MOD    - operaciq polu~eniq ostatka pri celo~islennom delenii;  argu-
           menty tipa INTEGER;

  NIL    - konstanta specialxnogo wida: neopredelennoe zna~enie  ukaza-
           telq;

  NOT    - operaciq "otricaniq" operanda tipa BOOLEAN;
         - porazrqdnaq inwersiq operanda tipa INTEGER;

  OF     - kl`~ewoe slowo, whodq}ee w sostaw konstrukcij  ARRAY,  CASE,
           FILE, SET;

  OR     - logi~eskaq operaciq "ili" operandow tipa BOOLEAN;
         - porazrqdnoe logi~eskoe "ili" operandow tipa INTEGER;

  ORIGIN - kl`~ewoe slowo, whodq}ee w konstrukci` opredeleniq  peremen-
           noj (NAME : TYP ORIGIN ADR) pri neobhodimosti ukazaniq adre-
           sa q~ejki pamqti, s kotoroj peremennaq na~inaet razme}atxsq;
           peremennaq NAM tipa TYP razme}aetsq w pamqti po adresu ADR;

  PACKED - kl`~ewoe slowo, opredelq`}ee uplotnennoe (upakowannoe)  raz-
           me}enie dannyh ob'qwlqemogo tipa; ignoriruetsq kompilqtorom;

  PROGRAM
         - kl`~ewoe slowo opredeleniq imeni programmy, ime`}ee struktu-
           ru "PROGRAM NAME(ARG)"; parametry ARG ukazywa`t  peremennye-
           fajly, zadawaemye pri zapuske programmy; opredelenie ignori-
           ruetsq kompilqtorom;

  PROCEDURE
         - kl`~ewoe slowo opredeleniq zagolowka procedury, imeet struk-
           turu "PROCEDURE NAME(PARLIST)", gde NAME zadaet imq procedu-
           ry, a spisok parametrow wyzowa PARLIST imeet  tu  ve  formu,
           ~to i w opredelenii funkcii;

  RECORD - kl`~ewoe slowo deklaracii tipa dannyh so strukturoj  zapisi;
           deklaraciq    imeet    formu     "RECORD     NAM1:     TYP1;
           NAM2:TYP2,...END;", gde NAM opredelqet imq  polq  zapisi,  a
           TYP - tip dannyh, hranq}ihsq w |tom pole; dopuskaet  nali~ie
           wariantnoj ~asti (opisano w CASE);

  REPEAT - kl`~ewoe slowo na~ala operatora  cikla  "REPEAT  STAT  UNTIL
           LOGEXPR"; wypolnenie operatora STAT powtorqetsq do teh  por,

                                 - 124 -




           poka  logi~eskoe  wyravenie  LOGEXPR  ne  polu~it   zna~enie
           "TRUE"; operator STAT wypolnqetsq po krajnej mere odin raz;

  SET    - kl`~ewoe slowo deklaracii dannyh tipa "mnovestwo";  deklara-
           ciq imeet formu "SET OF TYP", gde TYP - opisanie  tipa  |le-
           menta mnovestwa; tip TYP obqzan bytx skalqrnym  i  imetx  ne
           bolee 64 raznyh zna~enij;

  THEN   - kl`~ewoe slowo  w  konstrukcii  IF,  opredelq`}ee  operator,
           wypolnq`}ijsq w slu~ae istinnosti uslowiq;

  TO     - kl`~ewoe slowo w konstrukcii FOR, opredelq`}ee, ~to peremen-
           noj cikla w konce iteracii dolvno bytx  priswoeno  zna~enie,
           sledu`}ee za teku}im;

  TYPE   - zagolowok razdela opredeleniq imen  tipow  w  programme  ili
           procedure;

  UNTIL  - kl`~ewoe slowo konca operatora cikla REPEAT, za kotorym sle-
           duet logi~eskoe wyravenie, opredelq`}ee  uslowie  zawer{eniq
           cikla;

  VAR    - zagolowok razdela opredeleniq imen  peremennyh  w  programme
           ili procedure;

  WHILE  - kl`~ewoe slowo na~ala  operatora  cikla  "WHILE  LOGEXPR  DO
           STAT"; wypolnenie operatora STAT powtorqetsq, poka  logi~es-
           koe wyravenie LOGEXPR imeet zna~enie "TRUE";

  WITH   - kl`~ewoe slowo operatora dostupa k polqm zapisi "WITH REC DO
           STAT"; pozwolqet w operatore STAT obra}atxsq k polqm  zapisi
           REC kak k peremennym (po imenam);

  @      - adresnyj operator; zna~eniem "@VARI" qwlqetsq  ukazatelx  na
           peremennu` VARI;

  :=     - operator priswaiwaniq; w  operatore  "A:=B"  peremennoj  "A"
           priswaiwaetsq zna~eni e wyraveniq "B";

  ..     - konstrukciq "A .. B" opredelqet  tip  dannyh,  dlq  kotorogo
           zna~eniq nahodqtsq w granicah ot A do B  wkl`~itelxno;  |tot
           tip qwlqetsq otrezkom tipa, k kotoromu prinadlevat skalqrnye
           konstanty A i B; obqzatelxnym qwlqetsq uslowie A<=B; k  tipu
           REAL wydelenie otrezka ne primenimo.



       4.4.4. programma PCL



       programma prednazna~ena dlq raboty s  sistemoj  programmirowaniq
  paskalx: po wwedennoj komandnoj stroke formata CSI  programma  formi-
  ruet i zapuskaet na wypolnenie komandnyj fajl (DK:PASCAL.COM),  obes-
  pe~iwa`}ij translqci`, komponowku i zapusk  programm  na  paskale.  w
  komandnoj stroke PCL dopustimy  kl`~i,  razre{ennye  translqtorom,  i
  sledu`}ie dopolnitelxnye kl`~i:

  /C     - ottranslirowatx i skomponowatx programmu, no ne wyzywatx  ee

                                 - 125 -




           na wypolnenie;

  /G     - ottranslirowatx, skomponowatx  programmu  i  wyzwatx  ee  na
           wypolnenie (kl`~ po umol~ani`);

  /I     - posle translqcii kompilqtorom paskalx wypolnitx  optimizaci`
           polu~ennogo na assemblere teksta s pomo}x` programmy PASIMP;

  /M     - wypolnitx tolxko translqci` programmy kompilqtorom paskalx;

  /O     - wypolnitx translqci` programmy kompilqtorom paskalx  i  mak-
           roassemblerom;

  /P     - w processe komponowki prisoedinitx k programme modulx  post-
           roeniq profilq ~astoty wypolneniq operatorow i procedur;  ne
           sowmestim s kl`~om /D; pri ispolxzowanii s kl`~om /S  priwo-
           dit k wywodu listinga programmy po okon~anii ee raboty.



       4.4.5. postroenie profilq (modulx PASPRF)



       modulx postroeniq profilq prednazna~en dlq  sbora  i  raspe~atki
  statistiki o wypolnenii operatorow programmy  i  wyzowah  procedur  i
  funkcij. modulx postroeniq profilq wkl`~aetsq w programmu  s  pomo}x`
  kl`~a /P programmy PCL.

       pri wyzowe programmy, wkl`~a`}ej PASPRF, modulx postroeniq  pro-
  filq zapra{iwaet imq programmy i,  pri  neobhodimosti,  imena  fajlow
  listinga i dwoi~noj tablicy  simwolow,  a  takve  specifikaci`  fajla
  wywoda statistiki (tip po umol~ani` .PRO). po okon~anii raboty  prog-
  rammy modulx postroeniq profilq wywodit  w  zadannyj  fajl  sobrannu`
  statistiku, kotoraq wkl`~aet imena procedur i  ~islo  ih  wyzowow,  a
  takve nomera operatorow i ~islo ih wypolneniq.  esli  pri  translqcii
  ispolxzowalsq kl`~ /S, to wywoditsq listing programmy, w kotorom kav-
  daq stroka, soderva}aq wypolnqemyj operator, pome~ena sootwetstwu`}im
  nomerom.

       statistika nakapliwaetsq tolxko dlq perwyh 100 operatorow,  pro-
  cedur i funkcij. maksimalxnoe dopustimoe  ~islo  procedur  i  funkcij
  rawno 40.



       4.4.6. otlad~ik programm na paskale "PDT"



       otlad~ik programm na paskale predstawlqet programmistu  sredstwa
  prosmotra i izmeneniq sodervimogo peremennyh, razme}eniq to~ek  osta-
  nowa pered zadannymi operatorami,  sleveniq  za  izmeneniem  zna~enij
  wybrannoj peremennoj, a takve  trassirowki  wypolneniq  operatorow  i
  wyzowow procedur. otladka wedetsq w terminah qzyka paskalx.

       dlq wkl`~eniq otlad~ika w programmu ispolxzuetsq  programma  PCL
  (kl`~ /D). pri translqcii programmy s  kl`~om  /S  otlad~ik  polu~aet
  wozmovnostx raboty s listingom programmy.  poskolxku  otlad~ik  imeet

                                 - 126 -




  strukturu perekrytij, to dlq otladki programmy s perekrytiqmi komand-
  nyj fajl, sozdawaemyj PCL, dolven bytx sootwetstwu`}im obrazom  otre-
  daktirowan. pri zapuske programmy  s  otlad~ikom  operatoru  zadaetsq
  wopros ob imeni fajla s listingom programmy.

       dostup k peremennym iz otlad~ika proizwoditsq  tak  ve,  kak  iz
  programmy na paskale. PDT raspoznaet wse struktury peremennyh i  ska-
  lqrnye  tipy,  opredelennye  polxzowatelem.  dlq  izmeneniq  zna~eniq
  ispolxzuetsq operator priswaiwaniq ":=", w lewoj ~asti kotorogo  uka-
  zywaetsq izmenqemaq peremennaq, a w prawoj - konstanta  ili  peremen-
  naq, iz kotoroj beretsq zna~enie. wyraveniq w prawoj ~asti nedopusti-
  my.

       otlad~ik programm na paskale imeet sledu`}ij nabor komand:

  B      - otmenitx teku}u` to~ku ostanowa;

  B(SUBR,N)<COMMAND>
         - ustanowitx to~ku ostanowa pered operatorom s nomerom N  pro-
           cedury ili funkcii SUBR; w processe raboty movet bytx  opre-
           deleno do 8 to~ek  ostanowa;  neobqzatelxnaq  posledowatelx-
           nostx komand otlad~ika COMMAND swqzywaetsq s ukazannoj  to~-
           koj ostanowa i wypolnqetsq, kogda programma wyhodit  na  |tu
           to~ku;

  C(N)   - prodolvitx wypolnenie programmy posle wyhoda w to~ku ostano-
           wa; neobqzatelxnyj argument N opredelqet ~islo bezostanowo~-
           nyh prohodow ~erez dannu` to~ku  ostanowa;  po  umol~ani`  N
           rawno 1;

  D      - raspe~atatx na terminale teku}ee sostoqnie otlad~ika: otsle-
           viwaemye peremennye, su}estwu`}ie to~ki ostanowa i swqzannye
           s nimi posledowatelxnosti  komand,  a  takve  operatory,  na
           kotoryh ustanowleny metki otlad~ika;

  G      - na~atx wypolnenie otlaviwaemoj programmy sna~ala;

  G(N)   - prodolvitx wypolnenie  programmy  s  operatora,  pome~ennogo
           metkoj otlad~ika N;

  H      - raspe~atatx 10 poslednih wypolnennyh operatorow programmy;

  K(SUBR,N)
         - otmenitx to~ku ostanowa ili ubratx metku otlad~ika na opera-
           tore N podprogrammy ili funkcii SUBR;  esli  argument  N  ne
           ukazan, udalq`tsq wse metki i wse to~ki ostanowa;

  L(N)   - pometitx metkoj otlad~ika N teku}u` to~ku ostanowa; N - ~is-
           lo w diapazone ot 1 do 8;

  P(N)   - wypolnitx N o~erednyh operatorow teku}ej procedury; po umol-
           ~ani` N rawno 1; pri |tom  wyzow  procedury  i  obra}eniq  k
           funkciqm w wyravenii rassmatriwa`tsq kak odin operator;  pri
           wyhode iz teku}ej procedury proishodit ostanow na operatore,
           sledu`}em za to~koj wyzowa;

  R      - raspe~atatx teku}ee sodervimoe registrow processora R1-R7  w
           wosxmeri~nom i desqti~nom  wide;  ispolxzuetsq  dlq  otladki
           assemblernyh wstawok;

                                 - 127 -




  S(N)   - wypolnitx N o~erednyh operatorow programmy, wkl`~aq operato-
           ry wyzywaemyh procedur i funkcij; po umol~ani` N rawno 1;

  T(FALSE)
         - otmenitx revim trassirowki;

  T(TRUE)
         - wkl`~itx revim  trassirowki;  pered  wypolneniem  o~erednogo
           operatora na terminal wywoditsq imq procedury i nomer  |togo
           operatora w procedure; esli programma translirowalasx s kl`-
           ~om /S, to wywoditsq takve i tekst stroki, soderva}ej opera-
           tor;

  V      - otmenitx slevenie za izmeneniem zna~eniq peremennoj;

  V(VARIABLE)<COMMAND>
         - slevenie za izmeneniem zna~eniq  ukazannoj  peremennoj;  pri
           izmenenii zna~eniq otlad~ik polu~it uprawlenie, kak w  to~ke
           ostanowa; pri |tom budet wypolnena posledowatelxnostx komand
           otlad~ika COMMAND, esli ona byla zadana; ustanowitx slevenie
           za lokalxnoj peremennoj procedury movno tolxko pri  wypolne-
           nii |toj procedury; po okon~anii procedury slevenie za pere-
           mennoj awtomati~eski prekra}aetsq; pri wypolnenii  procedury
           movet otsleviwatxsq tolxko odna peremennaq;

  W(VAR1,VAR2,...)
         - raspe~atatx  zna~eniq  peremennyh,  ukazatelej,  konstant  i
           q~eek pamqti, pere~islennyh ~erez zapqtu`.





                   5. sistemnye tablicy i biblioteki




       programma polxzowatelq movet polu~atx  informaci`  o  parametrah
  monitora i uprawlqtx swoej rabotoj, ispolxzuq sistemnu` oblastx swqzi
  i fiksirowannye sme}eniq (q~ejki) rezidentnogo monitora.

       sredstwa monitorow i drajwerow dostupny programme s pomo}x` sis-
  temnoj makrobiblioteki (dlq programm na makroassemblere) i  sistemnoj
  ob'ektnoj biblioteki (dlq programm na fortrane i paskale).



       5.1. sistemnye tablicy monitora



       wo wremq wypolneniq  zada~i  ~asto  neobhodimo  znatx  nekotorye
  parametry monitora i samoj zada~i, ili nuvno izmenitx |ti parametry.

                                 - 128 -







   1) sistemnaq oblastx swqzi



       bajty 40-57 (absol`tnye adresa)  nazywa`tsq  sistemnoj  oblastx`
  swqzi (SYSCOM). oni sodervat informaci`  o  sisteme  i  o  programme,
  wypolnq`}ejsq w dannyj moment. |ta informaciq neobhodima kak  monito-
  ru, tak i programmistu. ~toby ispolxzowatx |ti swedeniq w  programme,
  movno primenqtx sistemnye  makrokomandy,  opredelq`}ie  simwoli~eskie
  obozna~eniq |tih bajtow. sodervimoe |tih q~eek opredelqetsq pri  zag-
  ruzke monitora (w ~asti, kasa`}ejsq sistemy) i pri zagruzke  program-
  my. informaciq o programme beretsq iz sootwetstwu`}ih q~eek  nulewogo
  bloka fajla zagruzo~nogo modulq programmy t.e. opredelqetsq na  |tape
  ee komponowki, i movet bytx izmenena samoj  programmoj  wo  wremq  ee
  wypolneniq. nive priwedeny nomera bajtow i ih simwoli~eskie obozna~e-
  niq.

    40,41     USeRrs
         - startowyj adres programmy. |to slowo ustanawliwaetsq  kompo-
           now}ikom libo samoj programmoj.  pri  zagruzke  operatiwnogo
           zadaniq po komande FRUN |to slowo korrektiruetsq tak,  ~toby
           ono sodervalo fakti~eskij startowyj adres.

    42,43     USeRSr
         - na~alxnoe zna~enie ukazatelq steka. |to slowo ustanawliwaet-
           sq programmoj polxzowatelq s pomo}x`  direktiwy  .aSest.  po
           umol~ani` beretsq 1000 ili  werhnij  adres  oblasti  .aSest.
           esli operatiwnoe zadanie ne opredelqet ukazatelx  steka,  to
           po umol~ani` stek razmerom w 128 (desqti~noe)  bajtow  budet
           razme}en pri wypolnenii komandy  FRUN  neposredstwenno  nive
           programmy. ukazatelx steka takve movet bytx ustanowlen  kl`-
           ~ami komponow}ika.

    44,45     JSW
         - slowo sostoqniq  programmy.  ~astx  ego  bitow  ispolxzuetsq
           tolxko monitorom, ostalxnye mogut bytx  izmeneny  programmoj
           polxzowatelq.

    46,47     UFLoat
         - adres zagruzki USR. w |to slowo, oby~no rawnoe  nul`,  prog-
           rammoj polxzowatelq movet  bytx  ustanowlen  l`boj  adres  w
           oblasti programmy. po |tomu adresu  budet  zagruvatxsq  USR.
           esli slowo rawno nul`, USR zagruvaetsq po adresu, soderva}e-
           musq w sme}enii 266 otnositelxno na~ala RmoN.

    50,51     USeRtor
         - werhnij adres programmy. w  |tom  slowe  sodervitsq  star{ij
           adres pamqti,  kotoryj  predostawlqetsq  sistemoj  programme
           polxzowatelq. perwona~alxno  ustanawliwaetsq  komponow}ikom.
           movet bytx izmenen sistemnoj makrokomandoj .Settor.

    52        eRRwYt
         - bajt o{ibki emt. pri poqwlenii o{ibki w processe  wypolneniq
           sistemnoj makrokomandy kod o{ibki peredaetsq w dannyj  bajt,
           a w slowe sostoqniq processora (PS) ustanawliwaetsq bit "s".
           kavdaq sistemnaq makrokomanda imeet swoj nabor kodow o{ibok.

                                 - 129 -




    53        USeRRw
         - status zawer{eniq programmy. pri poqwlenii o{ibki  wo  wremq
           wypolneniq programmy informaciq o tipe o{ibki ustanawliwaet-
           sq samoj programmoj w dannom bajte. ispolxzuetsq pri  rabote
           koswennogo komandnogo fajla.

    54,55     SYSrtR
         - nivnij adres rezidentnogo monitora.  RT11  wsegda  zagruvaet
           rezidentnu` ~astx monitora w werhnie adresa pamqti (nive  56
           Kbajtow). dannoe slowo ukazywaet  na  perwu`  q~ejku  pamqti
           rezidentnogo monitora RMON. zna~enie  |togo  slowa  izmenqtx
           zapre}eno.

    56        ttFILL
         - znak, trebu`}ij zapolniteli. nekotorye wysokoskorostnye ter-
           minaly trebu`t znaki-zapolniteli posle  wywoda  opredelennyh
           simwolow. bajt 56 sodervit kod (w koi-7) simwola, trebu`}ego
           posle sebq wywoda znakow-zapolnitelej.

    57        ttNFIL
         - s~et~ik zapolnitelej. koli~estwo znakow-zapolnitelej oprede-
           lqetsq w zawisimosti ot apparatury. esli bajty 56 i 57 rawny
           0, to zapolniteli ne trebu`tsq.


       pRIME^ANIE. q~ejka 52 dolvna ispolxzowatxsq wsegda kak  bajt,  a
  ne slowo, t.k. bajt 53 primenqetsq dlq  ukazaniq  statusa  zawer{eniq
  programmy.



   2)status zawer{eniq programmy (USERRB)



       pri zagruzke interpretator komand monitora (KMON) prowerqet sta-
  tus zawer{eniq polxzowatelxskoj programmy. esli pri wypolnenii  polx-
  zowatelxskoj programmy imelisx o{ibki, informaciq o kotoryh sodervit-
  sq w bajte 53 (USERRB), to KMON movet prerwatx (prekratitx)  dalxnej-
  {ee wypolnenie teku}ego komandnogo fajla. takim obrazom, proizwoditsq
  kontrolx za wypolneniem komand w komandnom fajle. |to osobenno wavno,
  esli korrektnoe wypolnenie posledu`}ih komand  zawisit  ot  uspe{nogo
  zawer{eniq pred{estwu`}ih.

       ime`tsq sledu`}ie statusy zawer{eniq programmy:

  SUCCESS
         - uspe{noe zawer{enie; |tot status  zawer{eniq  ozna~aet,  ~to
           programma byla wypolnena bez o{ibok;

  WARNING
         - zawer{enie s preduprevdeniem; |tot status ozna~aet, ~to  pri
           wypolnenii programmy bylo wydano preduprevda`}ee  soob}enie,
           no programma wypolnilasx polnostx`;

  ERROR  - o{ibka; |tot status ozna~aet, ~to programma  ne  wypolnilasx
           iz-za nali~iq o{ibki; |tot status ispolxzuetsq  w  sistemnyh
           programmah RT11, esli oni sozda`t wyhodnye  fajly,  nesmotrq
           na soderva}iesq w nih  o{ibki;  naprimer,  kompilqtor  movet

                                 - 130 -




           ispolxzowatx |tot status dlq ukazaniq  togo,  ~to  ob'ektnyj
           fajl byl sozdan, no programma polxzowatelq sodervit o{ibki;

  FATAL ERROR
         - serxeznaq o{ibka; |tot status ozna~aet,  ~to  programmoj  ne
           byli sozdany wyhodnye dannye; |tot status movet  bytx  usta-
           nowlen, esli otsutstwu`t resursy, neobhodimye programme  dlq
           polnogo  ee  zawer{eniq;  naprimer,  otsutstwie  dostato~noj
           oblasti pamqti dlq assemblirowaniq ili kompilqcii prikladnoj
           programmy;

  UNCONDITIONAL ERROR
         - neustranimaq o{ibka; |tot status  ozna~aet,  ~to  ne  tolxko
           prerwano wypolnenie programmy, no, wozmovno, ispor~en  moni-
           tor.

       sistemnye programmy i KMON wsegda ustanawliwa`t status  zawer{e-
  niq programmy dlq ukazaniq rezulxtata wypolneniq kavdoj komandy moni-
  tora. oby~no wypolnenie komandnyh  fajlow  prekra}aetsq,  esli  imela
  mesto o{ibka pri wypolnenii komandy monitora. w tabl. 4  predstawleny
  kody tipow o{ibok, kotorye mogut bytx ustanowleny w bajte 53.

                                                   tABLICA 3
   ----------------------------------------------------------
          ! zna~enie !         !
    nomer !  maski   !   tip   !      soob}enie
    bita  ! (wosxme- ! o{ibki  !      programmy
          ! ri~noe)  !         !
   ----------------------------------------------------------
      0   !     1    ! SUCCESS ! ?PROG-I-TEXT ili otsutstwuet
      1   !     2    ! WARNING ! ?PROG-W-TEXT
      2   !     4    ! ERROR   ! ?PROG-E-TEXT
      3   !    10    ! FATAL   ! ?PROG-F-TEXT
      4   !    20    ! UNCOND. ! ?PROG-U-TEXT


       pRIME^ANIE. bity 5-7 zarezerwirowany dlq primeneniq w  sledu`}ih
  wersiqh sistemy. programmy ne dolvny obnulqtx bajt 53,  movno  tolxko
  ustanawliwatx neobhodimyj bit s pomo}x` instrukcii BISB.  opredelenie
  simwoli~eskih obozna~enij statusa zawer{eniq i bajta 53 rekomenduetsq
  wypolnqtx s pomo}x` sistemnoj makrokomandy .USBDF.  esli  pri  rabote
  programmy bylo ustanowleno neskolxko bitow, to sistema  RT11  oprede-
  lqet status po bitu s naibolx{im porqdkowym nomerom.



       3) slowo sostoqniq programmy (JSW)

       bajty 44 i 45 sodervat slowo  sostoqniq  programmy  (JSW).  nive
  daetsq opisanie bitow  JSW.  bity,  otme~ennye  "*",  ustanawliwa`tsq
  monitorom ili samoj programmoj wo wremq ee wypolneniq. bity, otme~en-
  nye "+", ustanawliwa`tsq pered zagruzkoj programmy (pri  komponowke),
  a bity, otme~ennye "*+", mogut bytx ustanowleny kak  do,  tak  i  pri
  wypolnenii programmy.

  15 (USWar$)
         - bit swopinga USR (tolxko dlq RT11SJ). ustanawliwaetsq siste-
           moj, esli USR rezidentna.

                                 - 131 -




  14*+ (ttLs$)
         - bit wwoda kirillicy. esli on ustanowlen, wwod kirillicy raz-
           re{en. esli programma  polxzowatelq  ne  ustanawliwaet  |tot
           bit, to pri wwode s terminala drajwer  proizwodit  awtomati-
           ~eskoe preobrazowanie simwolow kirillicy w latinskie  simwo-
           ly.

  13*+ (RStRt$)
         - bit restarta. esli trebuetsq, ~toby programma byla  powtorno
           zapu}ena po komande REENTER s terminala,  neobodimo  ustano-
           witx |tot bit w programme.

  12*+ (ttSrs$)
         - bit specrevima terminala. su}estwu`t dwa revima wwoda s ter-
           minala w zawisimosti ot zna~eniq bita.
         - esli bit 12=0, to proizwoditsq  oby~nyj  wwod  s  klawiatury
           sistemnogo terminala:
                - wse nabrannye simwoly otobrava`tsq  na  |krane  (|ho-
                  pe~atx);
                - wypolnqetsq stiranie stroki  ili  simwola  s  pomo}x`
                  specialxnyh komand operatora <CTRL/U> i  <DEL>  soot-
                  wetstwenno;
                - simwoly teku}ej stroki na~nut peredawatxsq w program-
                  mu  polxzowatelq  tolxko  posle   navatiq   <CTRL/Z>,
                  <CTRL/C>, <CR> i <LF>; do ih poqwleniq simwoly  sobi-
                  ra`tsq w sistemnom bufere terminala.
         - esli bit 12=1, to terminal nahoditsq w specrevime wwoda:
                - ni odin iz nabiraemyh  simwolow  ne  otobravaetsq  na
                  |krane, krome <CTRL/C> i <CTRL/O>;
                - <CTRL/U> i <DEL> ne wypolnq`t swoih funkcij, a  pere-
                  da`tsq w programmu kak oby~nye znaki;
                - simwoly pereda`tsq w  programmu  polxzowatelq  srazu,
                  kak tolxko navata klawi{a na sistemnom terminale.

  11+ (snNIF$)
         - bit komandnogo fajla. esli on ustanowlen programmoj, to,  po
           okon~anii ee  wypolneniq,  wypolnqetsq  koswennyj  komandnyj
           fajl. |tot bit nelxzq ispolxzowatx dlq programm operatiwnogo
           razdela (operatiwnoj i sistemnyh) pri rabote RT11FB(XM).

  10+ (VIRt$)
         - bit wirtualxnoj programmy (tolxko  dlq  RT11XM).  on  dolven
           bytx ustanowlen pered zapuskom programmy. |tot bit  ustanaw-
           liwaetsq libo wo wremq assemblirowaniq (dlq modifikacii  JSW
           ispolxzuetsq direktiwa .ASECT), libo  wypolnqetsq  korrekti-
           rowka fajla ob'ektnogo modulq programmy ili fajla ee  zagru-
           zo~nogo modulq s pomo}x` programmy PAT ili SIPP,  sootwetst-
           wenno.

  9 (oVLY$)
         - bit owerlejnoj programmy. ustanawliwaetsq komponow}ikom  pri
           nali~ii owerlejnyh struktur.

  8+ (snaIN$)
         - |tot bit movet bytx ispolxzowan dwumq sposobami. esli w zag-
           ruzo~nom module |tot razrqd ne ustanowlen, to on  ustanawli-
           waetsq monitorom pri zagruzke programmy makrokomandoj .CHAIN
           i w bajty s 500 po 777 ne proizwoditsq zapisx informacii  iz
           sootwetstwu`}ih q~eek nulewogo  bloka  zagruzo~nogo  modulq.

                                 - 132 -




           |ti q~ejki movno ispolxzowatx dlq pereda~i informacii zagru-
           vaemoj programme (oby~nyj wariant). esli |tot bit byl  usta-
           nowlen polxzowatelem w JSW programmy pered ee zagruzkoj mak-
           rokomandoj .CHAIN, to w |tom slu~ae w bajty  s  500  po  777
           budet proizwoditxsq zapisx, t.e. zagruzka budet  wypolnqtxsq
           analogi~no zagruzke po komande monitora R ili RUN.

  7*+ (nLteR$)
         - bit ostanowa po o{ibke  wwoda/wywoda  (tolxko  dlq  RT11SJ).
           esli polxzowatelx ho~et prerwatx  wypolnenie  programmy  pri
           wozniknowenii o{ibki wwoda/wywoda, on dolven ustanowitx |tot
           bit.

  6*+ (tswIt$)
         - bit zapreta ovidaniq wwoda/wywoda dlq  sistemnogo  terminala
           (tolxko dlq RT11FB(XM) i NTS). esli on sbro{en, to programma
           priostanawliwaetsq do wwoda simwola s terminala. esli bit  6
           ustanowlen i w bufere terminala net wwedennyh  simwolow,  to
           operaciq zawer{aetsq s o{ibkoj.

  3*+    - bit nezawer{ennoj sistemnoj makrokomandy .GTLIN. ispolxzuet-
           sq makrokomandoj .GTLIN dlq polu~eniq  stroki  s  terminala,
           esli ona otsutstwuet w komandnom fajle. |tot bit ispolxzuet-
           sq w takih sistemnyh programmah, kak  LINK,  DUP,  SRCCOM  i
           LIBR. on ustanawliwaetsq, esli  w  komandnom  fajle  imeetsq
           stroka ^C. naprimer, pri wypolnenii  komandnogo  fajla  wesx
           wwod posle ^C budet proizwoditxsq s terminala:

                RUN LINK
                TEST,TEST=MOD1,LIB/I
                ^C

       razrqdy 5,4,2,1,0 zarezerwirowany dlq sistemnyh celej.


       4) fiksirowannye sme}eniq

       nekotorye q~ejki, soderva}ie informaci` o sisteme, wsegda  ime`t
  fiksirowannoe polovenie ot na~ala RMON. |ti q~ejki nazywa`tsq q~ejka-
  mi s fiksirowannymi sme}eniqmi. dlq dostupa k q~ejkam s fiksirowanny-
  mi sme}eniqmi iz wypolnq`}ejsq programmy ispolxzuetsq sistemnaq  mak-
  rokomanda .GVAL.

       nive dany fiksirowannye sme}eniq, ih simwoli~eskoe  obozna~enie,
  dlina w bajtah i nazna~enie (zna~eniq dany w wosxmeri~nom wide).

     266         USRLC             2
         - adres oby~noj zagruzki USR. |tot adres ispolxzuetsq pri zag-
           ruzke USR w pamqtx fonowym zadaniem, esli q~ejka 46  sistem-
           noj oblasti swqzi rawna 0. operatiwnoe ili sistemnoe zadanie
           obqzatelxno dolvno obespe~itx oblastx wnutri  programmy  dlq
           swopinga USR (dlq RT11FB(XM)).

     270         QCOMP             2
         - adres podprogrammy zawer{eniq operacii wwoda/wywoda dlq wseh
           drajwerow.

     272         SPUSR             2
         - slowo ispolxzuetsq drajwerami ustrojstw,  ne  ime`}ih  stan-

                                 - 133 -




           dartnu` fajlowu` strukturu RT11, dlq  soob}eniq  monitoru  o
           poqwiw{ihsq o{ibkah.

     274         SYUNIT            2
         - star{ij bajt sodervit nomer ustrojstwa, s kotorogo byla zag-
           ruvena sistema.

     276         SYSVeR            1
         - nomer redakcii (wersii) monitora.

     277         SYSUrD            1
         - nomer korrekcii monitora.

     300         CONFIG            2
         - slowo konfiguracii sistemy. bity  |togo  slowa  ispolxzu`tsq
           dlq hraneniq informacii o  nabore  apparatnyh  sredstw  i  o
           parametrah  monitora.  q~ejka  370  sodervit  dopolnitelxnu`
           informaci` o sisteme.

     302         SCROLL            2
         - adres programmy obsluviwaniq (skrollera) grafi~eskogo  disp-
           leq (tolxko dlq RT11 SJ...XM).

     304         ttkS              2
         - adres registra  sostoqniq  klawiatury  sistemnogo  terminala
           (tolxko dlq RT11 SJ...XM).

     306         ttkw              2
         - adres bufernogo  registra  klawiatury  sistemnogo  terminala
           (tolxko dlq RT11 SJ...XM).

     310         ttrS              2
         - adres registra sostoqniq |krana sistemnogo terminala (tolxko
           dlq RT11 SJ...XM).

     312         ttrw              2
         - adres bufernogo registra |krana sistemnogo terminala (tolxko
           dlq RT11 SJ...XM).

     314         mahwLk            2
         - maksimalxnaq  dlina  fajla,  sozdawaemogo  po   makrokomande
           .eNteR, w kotoroj argument LEN rawen  0.  po  umol~ani`  |to
           zna~enie rawno  177777,  t.e.  ograni~enie  na  dlinu  fajla
           otsutstwuet. zna~enie |toj q~ejki  movet  bytx  izmeneno  wo
           wremq raboty programmy, ~to delatx ne rekomenduetsq, ili pri
           pomo}i programmy SIPP.

     320         CNTXT             2
         - ukazatelx na sme{annu`  oblastx  zadaniq,  wypolnq`}egosq  w
           dannyj moment (tolxko dlq RT11FB(XM)).

     322         JOBNUM            2
         - nomer wypolnq`}egosq zadaniq (tolxko dlq RT11FB(XM) i NTS).

     320         $TIME             4
         - wremq dnq (tolxko dlq RT11SJ).

     324         SYNsn             2
         - adres podprogrammy obrabotki sistemnoj  makrokomandy  .SYNsn

                                 - 134 -




           (tolxko dlq RT11 SJ...XM).

     326         LOWMAP           24
         - na~alo karty za}ity mlad{ih adresow  pamqti  (s  0  po  476)
           (tolxko dlq RT11 SJ...XM).

     352         USRLOC            2
         - ukazatelx teku}ej to~ki whoda w USR. on rawen 0, esli USR ne
           zagruvena w pamqtx. esli USR tolxko  ~to  byla  zagruvena  w
           pamqtx, to on ukazywaet na na~alo  bufera  USRBUF.  wo  wseh
           ostalxnyh slu~aqh w  |toj  q~ejke  sodervitsq  adres  na~ala
           oblasti  postoqnnyh  podprogramm  USR.  (tolxko   dlq   RT11
           SJ...XM).

     354         GtVest            2
         - adres wektora prerywanij po ostanowu grafi~eskogo displeq po
           umol~ani` rawen 320. (tolxko dlq RT11 SJ...XM).

     356         ERRCNT            2
         - mlad{ij bajt qwlqetsq  s~et~ikom  o{ibok.  ispolxzuetsq  pri
           rabote sistemnyh programm.  star{ij  bajt  ne  ispolxzuetsq.
           (tolxko dlq RT11 SJ...XM).

     360         $mtrS             2
         - adres podprogrammy obrabotki sistemnoj makrokomandy .mtrS.

     362         $mFrS             2
         - adres podprogrammy obrabotki sistemnoj makrokomandy .mFrS.

     364         SYINDX            2
         - indeks drajwera sistemnogo ustrojstwa  w  tablice  ustrojstw
           monitora.

     370         soNFG2            2
         - dopolnitelxnoe slowo konfiguracii sistemy. ego bity  ispolx-
           zu`tsq dlq ukazaniq ime`}egosq dopolnitelxnogo  oborudowaniq
           centralxnogo processora.

     372         SYSGeN            2
         - slowo parametrow generacii monitora.

     374         USRaRe            2
         - razmer USR w bajtah. programmy mogut ispolxzowatx |tu infor-
           maci` dlq opredeleniq razmera oblasti, neobhodimoj dlq  swo-
           pinga USR.

     406         MONAME            4
         - w dwuh slowah sodervitsq imq fajla monitora (w kode  RAD50),
           zagruvennogo w pamqtx.

     412         SUFFIX            2
         - q~ejka, sodervit simwol w kode RADIX-50  (wyrownennyj  wpra-
           wo), ispolxzuemyj teku}im monitorom w ka~estwe  postfiksa  w
           imenah drajwerow ustrojstw.

                                 - 135 -




       5) slowo konfiguracii sistemy (soNFIG)

       slowo konfiguracii sistemy CONFIG (imeet otnositelxnoe  sme}enie
  300) sodervit informaci` o podkl`~ennoj  apparature  i  o  parametrah
  monitora.

       nive priwodqtsq bity slowa konfiguracii CONFIG. dana  informaciq
  ob ustanowlennyh bitah, ili ve nazna~enie bita ukazywaetsq dlq  oboih
  slu~aew.

      0       FBMON$
         - esli rawen 0 pri FJOB$=0, to rabotaet RT11SJ.
         - esli rawen 1 pri mmU$=0, to rabotaet RT11FB.
         - esli rawen 1 pri mmU$=1, to rabotaet RT11XM.
         - esli rawen 0 pri FJOB$=1, to rabotaet os NTS.

      2       nWDSr$
         - imeetsq apparatura grafi~eskogo displeq (w sssr sm-7300  ili
           |pg-sm).

      5       sLk50$
         - esli rawen 1, to ispolxzuetsq tajmer s  ~astotoj  prerywanij
           50gc.
         - esli rawen 0, to ispolxzuetsq tajmer s  ~astotoj  prerywanij
           60gc.

      6       HWFPU$
         - prisutstwuet processor s plawa`}ej zapqtoj (dlq sm-1420).

      7       FJOB$
         - zagruvena operatiwnaq programma ili sistemnoe  zadanie.  dlq
           os NTS |tot bit wsegda rawen 1.

      8       GtLNk$
         - ispolxzuetsq grafi~eskij displej (posle komandy Gt oN).

      9       USR$
         - USR rezidentna w operatiwnoj pamqti (ispolxzowalasx  komanda
           "Set USR NoSWar").

     10
         - zagruvena sistemnaq programma QUEUE.

     11       LSI$
         - w ka~estwe  centralxnogo  ispolxzuetsq  mikroprocessor  tipa
           LSI-11 (net adresuemogo slowa sostoqniq processora).

     12       mmU$
         - rabotaet RT11XM.

     13       LksS$
         - tajmer imeet registr sostoqniq.

     14       kW$P
         - w ka~estwe sistemnogo ispolxzuetsq programmiruemyj tajmer.

     15       sLosk$
         - w sostaw sistemy whodit tajmer.

                                 - 136 -




       6) dopolnitelxnoe slowo konfiguracii sistemy (soNFG2)

       dopolnitelxnoe slowo konfiguracii sistemy (otnositelxnoe  sme}e-
  nie 370) ukazywaet na ime`}iesq dopolnitelxnye apparatnye sredstwa  w
  komplekse. wse opisaniq dany dlq ustanowlennogo bita.

      0       sasne$
         - w sostaw centralxnogo processora whodit k|{-pamqtx.

      1       mrtY$
         - ispolxzuetsq operatiwnaq pamqtx s kontrolem po  ~etnosti  (s
           paritetom).

      2       SWReG$
         - processor imeet registr perekl`~atelej (dlq ~teniq).

      3       LIGnt$
         - processor imeet registr indikatorow (dlq zapisi).

      8       eIS$
         - processor imeet ras{irennyj nabor instrukcij (eIS).

      9       Vt6$0
         - w sostaw kompleksa whodit grafi~eskij displej VT60 (|pg-2),

     14       tYr70$
         - processor dopuskaet 22-razrqdnu` adresaci` operatiwnoj pamq-
           ti.

     15       tYr60$
         - processor imeet pereprogrammiruemyj mikroprogrammnyj blok.



       7) slowo parametrow generacii sistemy (SYSGeN)

       slowo parametrow generacii sistemy sodervit informaci`  o  para-
  metrah, opredelqemyh pri generacii sistemy.  wse  opisaniq  dany  dlq
  ustanowlennogo bita.

      0       eRLG$
         - sbor statistiki o rabote operatiwnoj pamqti (s paritetom)  i
           wne{nih ustrojstwah.

      1       mmGt$
         - ispolxzowanie apparatury dispet~era pamqti.

      2       tImIt$
         - ispolxzowanie zaprosow dlq raboty s tajmerom w drajwerah.

      9       mrtY$
         - ispolxzowanie pamqti s paritetom.

     10       tImeR$
         - rabota s tajmerom w RT11SJ.

     13       MTTY$
         - rabota s dopolnitelxnymi terminalami w RT11 SJ...XM.

                                 - 137 -




     14
         - rabota s sistemnymi zadaniqmi w RT11FB(XM).


       pRIME^ANIE. zna~eniq perwyh treh  bitow  dolvny  sootwetstwowatx
  parametram, kotorye ustanawliwa`tsq pri  translqcii  polxzowatelxskih
  drajwerow.



       5.2. sistemnaq makrobiblioteka



       sistemnaq makrobiblioteka pozwolqet  polxzowatel`  iz  programm,
  napisannyh na qzyke makroassembler, imetx dostup k monitoru i drajwe-
  ram, wypolnqtx obmen mevdu zada~ami, prerywatx i wozobnowlqtx  rabotu
  programmy ~erez zadannye promevutki wremeni, programmirowatx rabotu s
  dopolnitelxnymi terminalami, ispolxzowatx pamqtx ob'emom do 248 kbajt
  i t.d.

       imena wseh sistemnyh makrokomand  na~ina`tsq  s  to~ki  (.)  dlq
  otli~iq ih ot simwolow i imen makrokomand,  opredelqemyh  polxzowate-
  lem. wse sistemnye makrokomandy,  ispolxzuemye  w  programme,  dolvny
  bytx pere~isleny w direktiwe .MCALL.

       argumenty sistemnyh makrokomand dolvny bytx dopustimymi  wyrave-
  niqmi qzyka makroassembler, poskolxku oby~no  w  processe  translqcii
  oni budut ispolxzowany w ka~estwe operanda instrukcii MOV.

       w RT11 ispolxzu`tsq sistemnye makrokomandy dwuh formatow:

            1) .PRGREQ   ARG1,ARG2,...,ARGN

            2) .PRGREQ   AREA,ARG1,ARG2,...,ARGN

       makrokomandy perwogo formata generiru`t instrukci` emt  374  ili
  EMT s kodami ot 340 do 357. sistemnye makrokomandy, ispolxzu`}ie  EMT
  374, razme}a`t argumenty w registre  R0  (w  mlad{ij  bajt  zanositsq
  nomer kanala, a w star{ij  -  kod  funkcii).  makrokomandy  s  kodami
  340-357 razme}a`t argumenty (esli oni zadany) w  steke  i/ili  w  R0.
  nekotorye argumenty makrokomandy mogut bytx opu}eny. w |tom slu~ae im
  priswaiwaetsq zna~enie 0.

       makrokomandy wtorogo formata wsegda generiru`t emt  375.  perwyj
  argument (aRea) predstawlqet soboj adres tablicy w pamqti, w  kotoru`
  makrokomanda ili programmist peresylaet ostalxnye argumenty.

       mlad{ij bajt perwogo slowa tablicy  (spiska  argumentow)  oby~no
  sodervit nomer kanala, a star{ij - kod funkcii. esli opu}en  argument
  AREA, to predpolagaetsq, ~to on sodervitsq w R0 (kod funkcii pri |tom
  w tablicu  ne  zanositsq).  esli  opu}eny  kakie-libo  iz  argumentow
  (aRG1,...,aRGN), to makrokomanda ne izmenqet sootwetstwu`}ih im zapi-
  sej w spiske argumentow.

       ispolxzowanie wmesto AREA slowa BLOCK daet wozmovnostx polxzowa-
  tel` stati~eski opisywatx spisok argumentow dlq  EMT  375  w  razdele
  dannyh programmy sledu`}im obrazom:

                                 - 138 -




   LABEL:      .PRGREQ   BLOCK,ARG1,...,ARGN
   gde

  aRG1,...,aRGN
         - dopustimye argumenty  dlq  direktiw  .WoRD  i  .wYte.  ~toby
           wypolnitx dannu` makrokomandu, polxzowatelx dolven ispolxzo-
           watx makrokomandu .DIR.

       ispolxzowanie wmesto AREA  slowa  PSECT  pozwolqet  odnowremenno
  stati~eski opredelitx spisok  argumentow  i  wypolnitx  makrokomandu.
  wstretiw |tot kl`~ewoj argument, makroassembler sozdaet spisok  argu-
  mentow w programmnoj sekcii $$emt$.

       kl`~ewoj argument CODE pozwolqet ispolxzowatx odnu i tu ve  tab-
  licu argumentow dlq razli~nyh makrokomand, ime`}ih odni i te ve argu-
  menty, no razli~nye kody funkcij. ispolxzowanie |togo kl`~ewogo argu-
  menta umenx{aet razmer programmy i wremq ee  wypolneniq.  CODE  movet
  imetx dwa zna~eniq: SET - zanesti kod funkcii i NOSET -  ne  zanositx
  kod funkcii.


       pRIME^ANIE. pri wypolnenii sistemnoj  makrokomandy  wse  uniwer-
  salxnye registry, krome R0, sohranq`t swoi zna~eniq. R0 budet  soder-
  vatx informaci`, wozwra}aemu` monitorom. w teh slu~aqh, kogda  infor-
  maciq ne wozwra}aetsq, sodervimoe R0 ne predskazuemo. ukazatelx steka
  ostaetsq bez izmenenij.  iskl`~eniem  qwlqetsq  wyzow  interpretatora
  komandnoj stroki (.CSIGEN i .CSISPC).

       pri opisanii makrokomand ispolxzu`tsq sledu`}ie ponqtiq:

  nomer kanala (CHAN)
         - ~islowoj identifikator dlq fajla ili nabora dannyh,  ispolx-
           zuemyj monitorami RT11; on imeet zna~enie ot 0 do 377; polx-
           zowatelx dolven ustanowitx sootwetstwie nomera kanala i faj-
           la ili ustrojstwa s  pomo}x`  sistemnyh  makrokomand;  posle
           |togo dlq ssylki na fajl ili ustrojstwo  dostato~no  ukazatx
           nomer kanala; pri wyzowe programme predostawlqetsq 16  kana-
           low s nomerami ot 0 do 15, esli programma  imeet  owerlejnu`
           strukturu, to polxzowatxsq kanalom 15 zapre}eno (on  ispolx-
           zuetsq sistemoj  dlq  zagruzki  perekrytij);  dlq  polu~eniq
           bolx{ego koli~estwa kanalow neobhodimo ispolxzowatx makroko-
           mandu .CDFN;

  blok ustrojstwa (DBLK)
         - ~etyrehslownaq tablica, soderva}aq specifikaci` fajla w kode
           RADIX-50: fizi~eskoe ili logi~eskoe imq ustrojstwa (do  treh
           simwolow); imq fajla (do {esti simwolow);  ras{irenie  imeni
           fajla (do treh simwolow). dlq udobstwa zapolneniq bloka ust-
           rojstwa rekomenduetsq polxzowatxsq makrokomandoj .DBLK; nap-
           rimer, blok ustrojstwa, predstawlq`}ij  fajl  EXAMPL.MAC  na
           ustrojstwe RK1, imeet wid:

                          .RAD50  /RK1EXAMPLMAC/
                    ili
                          .DBLK   RK1,EXAMPL,MAC

  podprogramma zawer{eniq (CRTN)
         - podprogramma, wypolnqemaq pri nastuplenii  sobytiq;  sobytie
           movet zakl`~atxsq w zawer{enii operacii wwoda/wywoda,  movet

                                 - 139 -




           bytx wyzwano prerywaniem ot wne{nego ustrojstwa,  iste~eniem
           zadanogo interwala wremeni i t.d.

       pri opisanii makrokomand priwoditsq format, wypolnqemaq operaciq
  i kod o{ibki. esli makrokomanda  wypolnilasx  prawilxno,  to  monitor
  wozwra}aet uprawlenie programme s o~i}ennym bitom "s" slowa sostoqniq
  processora, w protiwnom slu~ae ustanawliwaetsq bit "s", a w  bajt  52
  sistemnoj oblasti swqzi zanositsq kod o{ibki. wozmovnostx  wypolneniq
  makrokomandy pod uprawleniem togo ili  inogo  monitora  priwoditsq  w
  prilovenii 4.



       5.2.1. operacii s katalogami



  .CLOSE CHAN
         - zakrywaet kanal. oswobovdaet ego dlq ispolxzowaniq w  drugih
           celqh. esli kanal swqzan s  fajlom,  otkrytym  makrokomandoj
           .ENTER, to |tot fajl stanowitsq  postoqnnym.  esli  na  ust-
           rojstwe uve su}estwuet za}i}ennyj fajl s analogi~nym imenem,
           to zakrytie fajla proishodit, no poqwlq`tsq dwa fajla s odi-
           nakowymi imenami. esli su}estwuet neza}i}ennyj fajl,  to  on
           udalqetsq.

         - o{ibki:

           3    - na ustrojstwe su}estwuet za}i}ennyj fajl s  analogi~-
                  nym imenem.

  .DELETE AREA,CHAN,DBLK,SEQNUM
         - udalqet fajl, ukazannyj w DBLK, iz kataloga ustrojstwa. SEQ-
           NUM - nomer fajla pri operaciqh s kassetnymi magnitnymi len-
           tami. wremenno ispolxzuemyj w  operacii  kanal  dolven  bytx
           swoboden. po okon~anii operacii kanal oswobovdaetsq.  opera-
           ciq zapre}ena dlq magnitnyh lent.

         - o{ibki:

           0    - kanal zanqt;

           1    - ne najden fajl w kataloge ustrojstwa;

           2    - nedopustimaq operaciq dlq dannogo ustrojstwa.

  .ENTER AREA,CHAN,DBLK,LEN,SEQNUM
         - zanosit w katalog zapisx o sozdanii wremennogo fajla (ukazan
           w DBLK) i rezerwiruet dlq nego oblastx  na  nositele  dlinoj
           LEN. swqzywaet nomer kanala CHAN s fajlom. SEQNUM  uprawlqet
           pozicionirowaniem pri rabote s magnitnoj ili kassetnoj  len-
           toj.

         - o{ibki:

           0    - kanal zanqt;

           1    - ne najdena oblastx, bolx{aq ili rawnaq LEN.

                                 - 140 -




  .RENAME AREA,CHAN,DBLK
         - wypolnqet pereimenowanie  fajla  (priswaiwaet  su}estwu`}emu
           fajlu nowoe imq i tip). w dwojnom bloke ustrojstwa DBLK uka-
           zywaetsq: perwye ~etyre slowa - staraq specifikaciq, a  sle-
           du`}ie ~etyre slowa - nowaq. imq ustrojstwa w oboih specifi-
           kaciqh dolvno sowpadatx. wremenno  ispolxzuemyj  w  operacii
           kanal dolven bytx swoboden.

         - o{ibki:

           0    - kanal zanqt;

           1    - fajl ne najden;

           2    - nedopustimaq operaciq dlq ukazannogo ustrojstwa;

           3    - na ustrojstwe estx za}i}ennyj fajl s  ukazannym  ime-
                  nem.

   .LOOKUP AREA,CHAN,DBLK,SEQNUM
   .LOOKUP AREA,CHAN,JOBBLK
         - perwaq forma ustanawliwaet swqzx mevdu kanalom i ustrojstwom
           ili su}estwu`}im fajlom, ukazannym w DBLK.  argument  SEQNUM
           ukazywaet nomer fajla dlq  magnitnoj  ili  kassetnoj  lenty.
           wtoraq forma swqzywaet kanal s drugim  zadaniem  dlq  obmena
           informaciej w RT11FB(XM). imq zadaniq ukazywaetsq po  adresu
           JOBBLK.

         - o{ibki:

           0    - kanal zanqt;

           1    - net fajla w kataloge ustrojstwa  ili  net  ukazannogo
                  zadaniq.



       5.2.2. operacii wwoda/wywoda



       w makrokomandah dannoj gruppy  ispolxzu`tsq  argumenty:  CHAN  -
  nomer kanala, po kotoromu proizwoditsq operaciq; BUF - adres  oblasti
  pamqti (bufera), soderva}ej informaci` dlq obmena; WCNT - dlina bufe-
  ra (ob'em peredawaemoj informacii) w slowah; BLK - nomer bloka  otno-
  sitelxno na~ala fajla, s kotorogo  na~inaetsq  obmen;  CRTN  -  adres
  podprogrammy zawer{eniq, wypolnq`}ejsq po okon~anii obmena.

       dlq dannoj gruppy wozmovnymi qwlq`tsq sledu`}ie o{ibki:

           0    - popytka wwoda/wywoda posle konca fajla;

           1    - proizo{la apparatnaq o{ibka;

           2    - kanal ne otkryt.

  .READ AREA,CHAN,BUF,WCNT,BLK
         - zapuskaet operaci` wwoda po ukazannomu kanalu  i  wozwra}aet
           uprawlenie programme.

                                 - 141 -




  .READC AREA,CHAN,BUF,WCNT,BLK,CRTN
         - zapuskaet operaci` wwoda po ukazannomu kanalu  i  wozwra}aet
           uprawlenie programme. posle zawer{eniq operacii budet wypol-
           nena podprogramma zawer{eniq.

  .READW AREA,CHAN,BUF,WCNT,BLK
         - zapuskaet operaci` wwoda po  ukazannomu  kanalu.  wozwra}aet
           uprawlenie programme posle zawer{eniq operacii.

  .TTINR - zapra{iwaet wwod odnogo znaka s sistemnogo terminala.  wozw-
           ra}aet uprawlenie programme s ustanowlennym bitom "s",  esli
           znak ne wweden (whodnoj bufer pust). revim wwoda ukazywaetsq
           bitami 14, 12 i 6 JSW.

  .TTOUTR
         - wywodit znak na sistemnyj terminal. wozwra}aet uprawlenie  s
           ustanowlennym bitom "s", esli w wyhodnom bufere net mesta.

  .TTYIN CHAR
         - wwodit znak s sistemnogo  terminala.  dovidaetsq  zawer{eniq
           operacii. revim wwoda ukazywaetsq bitami  14,  12,  6  slowa
           sostoqniq zadaniq JSW.

  .TTYOUT CHAR
         - wywodit znak na terminal i ovidaet zawer{eniq operacii.

  .WAIT CHAN
         - priostanawliwaet wypolnenie programmy do zawer{eniq operacij
           wwoda/wywoda po ukazannomu kanalu.

         - kody o{ibok:

           0    - kanal ne otkryt;

           1    - apparatnaq o{ibka.

  .WRITC AREA,CHAN,BUF,WCNT,CRTN,BLK
         - zapuskaet wywod na wne{nee ustrojstwo i wozwra}aet  uprawle-
           nie programme. posle  zawer{eniq  operacii  budet  wypolnena
           ukazannaq podprogramma zawer{eniq.

  .WRITE AREA,CHAN,BUF,WCNT,BLK
         - zapuskaet wywod na wne{nee ustrojstwo i wozwra}aet  uprawle-
           nie programme.

  .WRITW AREA,CHAN,BUF,WCNT,BLK
         - zapuskaet wywod na wne{nee ustrojstwo i wozwra}aet  uprawle-
           nie programme posle zawer{eniq operacii.

  .PRINT ADDR
         - raspe~atywaet stroku ADDR na sistemnom terminale.

  .SPFUN AREA,CHAN,FUNC,BUF,WCNT,BLK[,CRTN]
         - daet wozmovnostx wypolnqtx  nestandartnye  funkcii  na  ust-
           rojstwah tipa magnitnoj lenty, gibkih diskow i t.p.

                                 - 142 -




       5.2.3. rabota s kanalami



       dannaq gruppa makrokomand ispolxzuetsq dlq polu~eniq  sprawo~noj
  informacii o kanalah, kopirowaniq informacii iz odnogo kanala w  dru-
  goj i t.d.

  .CDFN AREA,ADDR,NUM
         - opredelqet ~islo (NUM) kanalow dlq wwoda/wywoda. dlina polq,
           ukazannogo adresom ADDR, dolvna bytx rawna 7*NUM dlq  RT11XM
           i 5*NUM - dlq ostalxnyh monitorow.  makrokomandy  .HRESET  i
           .SRESET otmenq`t dejstwie .CDFN i  wosstanawliwa`t  ishodnye
           16 kanalow.

         - kod o{ibki:

           0    - popytka opredelitx menx{ee koli~estwo kanalow.

  .CHCOPY AREA,CHAN,OCHAN[,JOBBLK]
         - otkrywaet kanal CHAN dlq ~teniq i logi~eski swqzywaet ego  s
           kanalom OCHAN drugogo zadaniq, otkrytym dlq wwoda ili  wywo-
           da. argument JOBBLK (adres, soderva}ij imq zadaniq w  koi-7)
           ukazywaetsq w slu~ae swqzywaniq s kanalom  sistemnogo  zada-
           niq. makrokomanda dopustima tolxko dlq ustrojstw s katalogo-
           woj organizaciej, w protiwnom slu~ae ona ignoriruetsq.

         - kody o{ibok:

           0    - net drugogo zadaniq ili kanal OCHAN ne otkryt;

           1    - kanal CHAN zanqt.

  .CSTAT AREA,CHAN,ADDR
         - zapolnqet 6 slow pamqti po adresu ADDR informaciej o  kanale
           CHAN: slowo sostoqniq kanala;  nomer  perwogo  bloka  fajla;
           dlina fajla (sodervit 0, esli ustrojstwo nefajlowoj struktu-
           ry); maksimalxnyj nomer zapisannogo bloka (sodervit 0,  esli
           ustrojstwo nefajlowoj struktury); nomer ustrojstwa (sodervit
           0, esli ustrojstwo nefajlowoj struktury); imq ustrojstwa  (w
           kode RADIX-50).

         - kod o{ibki:

           0    - kanal ne otkryt.

  .REOPEN AREA,CHAN,CBLK
         - powtorno otkrywaet kanal, informaciq o kotorom byla sohrane-
           na makrokomandoj .SAVESTATUS w CBLK.

         - kod o{ibki:

           0    - kanal zanqt.

  .SAVESTATUS AREA,CHAN,CBLK
         - sohranqet w CBLK informaci` o kanale  (5  slow),  oswobovdaq
           kanal dlq drugih celej. tablica CBLK budet sodervatx sledu`-
           }ie slowa: slowo sostoqniq  kanala;  na~alxnyj  nomer  bloka
           fajla; dlina fajla;  zarezerwirowano;  s~et~ik  w/w  (bajt);

                                 - 143 -




           nomer ustrojstwa (bajt).

         - kody o{ibok:

           0    - kanal ne otkryt;

           1    - ukazannyj fajl otkryt makrokomandoj .ENTER ili  naho-
                  ditsq na magnitnoj lente.

  .PURGE CHAN
         - oswobovdaet kanal bez  wypolneniq  operacii  zakrytiq  fajla
           (wremenno sozdannyj fajl terqetsq).



       5.2.4. obrabotka komandnoj stroki



       dlq obleg~eniq wwoda i analiza komandnoj stroki  formata  CSI  w
  RT11 predostawlq`tsq nivepere~islennye makrokomandy.

  .CSIGEN DEVSPC,DEFEXT,CSTRING[,LINBUF]
         - wyzywaet interpretator komandnoj stroki (CSI). esli argument
           CSTRING rawen 0, to wwodit komandnu` stroku s  terminala.  w
           protiwnom slu~ae obrabatywaet  stroku  w  CSTRING.  peredaet
           kopi` komandnoj stroki w programmu, esli ukazan adres LINBUF
           (dlinoj 81. bajt). zagruvaet drajwery w oblastx DEVSPC.  wse
           ukazannye fajly otkrywa`tsq i swqzywa`tsq s kanalami, nomera
           kotoryh sootwetstwu`t nomeru pozicii fajla w komandnoj stro-
           ke minus 1. w pole DEFEXT ukazywa`tsq w kode RADIX-50 ras{i-
           reniq imen fajlow, ispolxzuemye po umol~ani`: perwoe slowo -
           ras{irenie dlq wseh whodnyh fajlow, ostalxnye  tri  slowa  -
           dlq sootwetstwu`}ih wyhodnyh fajlow. kl`~i,  ispolxzuemye  w
           komandnoj stroke pereda`tsq ~erez stek. perwoe  slowo  steka
           sodervit koli~estwo kl`~ej w komandnoj stroke,  esli  0,  to
           kl`~i otsutstwu`t. mlad{ij bajt  sledu`}ego  slowa  sodervit
           mnemoniku kl`~a, star{ij - porqdkowyj nomer fajla w  komand-
           noj stroke, pri kotorom stoit kl`~. esli bit 15  ustanowlen,
           to kl`~ imeet zna~enie, kotoroe peredaetsq w sledu`}em  slo-
           we. analogi~no peredaetsq informaciq ob ostalxnyh kl`~ah.

         - kody o{ibok:

           0    - nedopustimaq komandnaq stroka;

           1    - otsutstwuet drajwer ukazannogo ustrojstwa;

           3    - pri otkrytii wyhodnogo fajla  proizo{lo  perepolnenie
                  kataloga;

           4    - whodnoj fajl ne najden.

  .CSISPC OUTSPC,DEFEXT,CSTRING[,LINBUF]
         - wyzywaet CSI w osobom revime. wozwra}aet specifikacii fajlow
           w massiw OUTSPC iz 39-ti slow: 15  slow  otwoditsq  pod  tri
           wyhodnyh fajla (po 5 slow na fajl), 24 slowa - pod 6 whodnyh
           fajlow (po 4 slowa na fajl). wyhodnye fajly  w  pqtom  slowe
           sodervat razmer fajla.

                                 - 144 -




  .GTLIN LINBUF[,PROMPT]
         - s~itywaet w LINBUF stroku s terminala ili iz  wypolnq`}egosq
           komandnogo fajla. esli  ukazana  stroka-podskazka  (argument
           PROMPT), to pered s~itywaniem ona raspe~atywaetsq na  termi-
           nale.



       5.2.5. rabota s tajmerom



       w makrokomandah dannoj gruppy  ispolxzu`tsq  argumenty:  TIME  -
  adres dwuhslownogo massiwa, w kotoryj zanositsq wremq  wo  wnutrennem
  formate (perwoe slowo - star{aq ~astx, wtoroe slowo - mlad{aq ~astx);
  ID - ~islo, identificiru`}ee zapros (ot 1 do 177377).

  .GTIM AREA,TIME
         - wozwra}aet pokazanie (zna~enie) sistemnogo tajmera wo  wnut-
           rennem formate.

  .CMKT AREA,ID[,TIME]
         - otmenqet odin (ID ne rawno 0) ili wse (ID=0) wremennye  zap-
           rosy na podprogrammy zawer{eniq. ID qwlqetsq identifikatorom
           zaprosa, ispolxzowannom w makrokomande .MRKT, kotoryj dolven
           bytx otmenen. w TIME monitor pomestit ostaw{eesq  w  zaprose
           wremq wo wnutrennem formate.

         - kod o{ibki:

           0    - ne najden wremennoj zapros s identifikatorom  ID  (ne
                  byl zadan ili uve zakon~ilsq).

  .TWAIT AREA,TIME
         - priostanawliwaet wypolnenie programmy na ukazannyj  interwal
           wremeni.

         - kod o{ibki:

           0    - net |lementa o~eredi.

  .MRKT AREA,TIME,CRTN,ID
         - planiruet zapusk  ukazannoj  podprogrammy  zawer{eniq  ~erez
           zadannyj interwal wremeni. pri whode w podprogrammu zawer{e-
           niq R0 budet sodervatx ID.

         - kod o{ibki:

           0    - net |lementa o~eredi.



       5.2.6. sistemnye makrokomandy ob}ego nazna~eniq



       RT11 predostawlqet {irokij nabor serwisnyh  sredstw,  polu~iw{ij
  ob}ee nazwanie "sluvebnye makrokomandy".

                                 - 145 -




  .CHAIN - pozwolqet fonowoj programme peredatx uprawlenie drugoj fono-
           woj  programme,  ukazannoj  w  q~ejkah   500-507   (w   kode
           RADIX-50). esli bit 8 w slowe sostoqniq wyzywaemoj programmy
           sodervit 0, to  pri  zagruzke  sledu`}ej  programmy  oblastx
           pamqti ot 500 do 777 sohranqet swoe sodervimoe.

         - kod o{ibki:

                - makrokomanda generiruet te ve soob}eniq  ob  o{ibkah,
                  ~to i komanda monitora RUN.

  .CNFDF - opredelqet simwoly i mnemoni~eskie obozna~eniq razrqdow slow
           konfiguracii sistemy.

  .CNTXSW AREA,ADDR
         - opredelqet q~ejki, kotorye  neobhodimo  wkl`~itx  w  oblastx
           sohraneniq zada~i pri perekl`~enii monitora mevdu programma-
           mi. pole ADDR dolvno sodervatx  spisok  adresow  sohranqemyh
           q~eek i zakan~iwatxsq  nulewym  slowom.  ukazywaemye  adresa
           dolvny prinadlevatx k oblastqm:  2-476,  oblastx  programmy,
           stranica  wwoda/wywoda  (160000-177776).  po  umol~ani`  pri
           perekl`~enii sohranq`tsq adresa 34-36,  40-52  i  sodervimoe
           uniwersalxnyh registrow R0-R7. pri  mnogokratnom  wypolnenii
           makrokomandy sohranq`tsq adresa iz poslednego spiska.

         - kod o{ibki:

           0    - wstretilsq ne~etnyj adres w pole ADDR ili on  prinad-
                  levit k zapre}ennoj oblasti.

  .CTRLT - opredelqet  simwoli~eskie  obozna~eniq  uprawlq`}ih   znakow
           koi-7 (ime`}ih kody 0-37).

  .DATE  - wozwra}aet w R0 teku}u` datu: razrqdy 14-10 -  nomer  mesqca
           (1-12.); razrqdy 9-5 - denx (1-31.); razrqdy 4-0 - god  (god
           minus 1972.).

  .DBLK DEV,NAM,TYP
         - sozdaet blok specifikacii fajla w kode RADIX-50  (w  formate
           bloka ustrojstwa).

  .DEVICE AREA,ADDR[,LINK]
         - opredelqet tablicu adresow, w kotorye nuvno zapisatx ukazan-
           nu` informaci` pri zawer{enii programmy. tablica ADDR soder-
           vit pary slow, w kotoryh w perwom slowe  ukazywaetsq  adres,
           wo wtorom - zna~enie, kotoroe neobhodimo zanesti po  dannomu
           adresu. zakan~iwaetsq tablica  nulewym  slowom.  esli  zadan
           argument LINK, to tablica ob'edinqetsq s tablicej,  zadannoj
           w predydu}em wyzowe .DEVICE. w protiwnom slu~ae nowaq tabli-
           ca zame}aet staru`.

  .DIR DIR
         - wypolnqet sistemnu` makrokomandu, tablica argumentow kotoroj
           nahoditsq po adresu DIR.

  .DSTATUS ADDR,DNAM
         - wozwra}aet sistemnye harakteristiki ustrojstwa DNAM w tabli-
           cu ADDR (4 slowa): status ustrojstwa; razmer drajwera w baj-
           tah; adres zagruzki drajwera; razmer ustrojstwa w blokah.  w

                                 - 146 -




           mlad{em bajte  statusa  ukazywaetsq  kod-identifikator  ust-
           rojstwa, opredelq`}ij ego tip:

                  ------------           ------------
                   ustrojstwo             ustrojstwo
                  ------------           ------------
                   kod ! imq              kod ! imq
                  -----!------           -----!------
                    0  !  RK              14  !  CR
                    3  !  LP              20  !  MM
                    4  !  TT              21  !  DM
                    7  !  PC              22  !  DX
                   11  !  MT              23  !  DP
                   12  !  RF              25  !  NL
                   13  !  CT

         - kod o{ibki:

           0    - ustrojstwa net w tablicah monitora.

  .EXIT  - zawer{aet wypolnenie programmy i peredaet uprawlenie monito-
           ru. wse podprogrammy zawer{eniq dannoj zada~i  zakan~iwa`tsq
           normalxno. esli programma wypolnqetsq ne w operatiwnom  raz-
           dele, to pri ustanowlennom bite  CHNIF$  w  slowe  sostoqniq
           zadaniq JSW i  o~i}ennom  registre  R0  wypolnq`tsq  komandy
           monitora, ukazannye w q~ejkah 510-777.

  .FETCH ADDR,DNAM
         - zagruvaet drajwer ustrojstwa, ukazannogo w bloke  ustrojstwa
           DNAM (w kode RADIX-50), w operatiwnu` pamqtx po adresu ADDR.
           posle wypolneniq operacii R0 sodervit adres perwoj swobodnoj
           q~ejki posle drajwera.

         - kod o{ibki:

           0    - net drajwera dannogo ustrojstwa.

  .GTJB AREA,ADDR[,JOBBLK]
         - wozwra}aet parametry zadaniq (9 slow) po adresu ADDR:  nomer
           razdela (linii); werhnij adres programmy; nivnij adres prog-
           rammy; na~alxnyj adres tablicy kanalow  wwoda/wywoda;  adres
           parametrow razdela dlq RT11FB(XM); nomer sistemnogo termina-
           la (w star{em bajte); werhnij  wirtualxnyj  adres  programmy
           (dlq RT11XM);  dwa  slowa  zarezerwirowany;  logi~eskoe  imq
           zadaniq (6 bajt w kode koi-7), esli ukazan  argument  JOBBLK
           (dlq RT11FB(XM)).

         - kod o{ibki:

           0    - otsutstwuet ukazannoe zadanie.

  .GVAL AREA,OFFSET
         - wozwra}aet w R0  sodervimoe  ukazannogo  sme}eniq  OFFSET  w
           rezidentnom monitore. esli sme}enie otricatelxnoe, to  wozw-
           ra}a`tsq nekotorye parametry os NTS.

         - kod o{ibki:

           0    - nedopustimoe sme}enie.

                                 - 147 -




  .HERR  - zapre}aet obrabotku serxeznyh o{ibok w prikladnoj programme.
           obrabotku o{ibok beret na sebq monitor.  ispolxzuetsq  posle
           makrokomandy .SERR.

  .HRESET
         - o~i}aet kanaly wwoda/wywoda, oswobovdaet drajwery, zagruven-
           nye programmoj w operatiwnu` pamqtx, i prekra}aet wse opera-
           cii wwoda/wywoda.

  .INTEN PRI[,PIC]
         - soob}aet  monitoru  o  woznik{em  prerywanii.   osu}estwlqet
           perekl`~enie na  sistemnyj  revim.  ustanawliwaet  trebuemyj
           prioritet PRI processora. PIC ukazywaet, ~to  .INTEN  dolvna
           porovdatx pozicionno-nezawisimyj kod.

  .JSWDF - opredelqet simwoly i mnemoni~eskie obozna~eniq razrqdow slo-
           wa sostoqniq programmy JSW.

  .LOCK  - zakreplqet USR za dannoj zada~ej  i  zapre}aet  ee  swoping.
           proizwodit zagruzku USR, esli ona ne zagruvena.

  .MFPS ADDR
         - s~itywaet mlad{ij bajt slowa sostoqniq processora w slowo  s
           adresom ADDR.

  .MTPS ADDR
         - ustanawliwaet bity prioriteta, kody uslowij i T-bit w  slowe
           sostoqniq processora.

  .POP ARGS
         - izwlekaet iz steka zna~eniq i pome}aet ih w ukazannye  argu-
           menty. neskolxko argumentow  dolvny  zakl`~atxsq  w  uglowye
           skobki.

  .PROTECT AREA,ADDR
         - zakreplqet za programmoj wektor prerywaniq ADDR, raspoloven-
           nyj w diapazone 0-476.

         - kody o{ibok:

           0    - wektor ispolxzuetsq i ne movet bytx zakreplen;

           1    - ADDR bolx{e 476 ili ne kraten 4.

  .PUSH ARGS
         - zanosit sodervimoe argumentow w stek.  neskolxko  argumentow
           dolvny zakl`~atxsq w uglowye skobki.

  .QSET ADDR,LEN
         - uweli~iwaet na LEN  ~islo  |lementow  o~eredi  dlq  operacij
           wwoda/wywoda, podprogramm zawer{eniq i  t.p.  ADDR  -  adres
           polq dlq razme}eniq |lementow. dlina polq dolvna bytx  rawna
           LEN*10 (dlq RT11XM) i LEN*7 (dlq RT11SJ(FB)).

  .RCTRLO
         - razre{aet wywod na terminal (sbrasywaet flag CTRL/O).


                                 - 148 -




  .RELEASE DNAM
         - udalqet drajwer, ukazannyj w DNAM (kod RADIX-50), iz  opera-
           tiwnoj pamqti.

         - kod o{ibki:

           0    - ukazannyj drajwer otsutstwuet w tablicah monitora.

  .ROFDF - opredelqet mnemoni~eskie obozna~eniq sme}enij w  rezidentnom
           monitore.

  .RSUM  - prodolvaet wypolnenie programmy posle  togo,  kak  ona  byla
           priostanowlena makrokomandoj .SPND.

  .SCCA AREA,ADDR
         - zapre}aet  zawer{enie   programmy   po   komande   operatora
           <CTRL/C>. daet wozmovnostx programme  razli~atx  <CTRL/C>  i
           <CTRL/C><CTRL/C> (ustanawliwaetsq bit 15 w slowe  po  adresu
           ADDR).

  .SCMDF - opredelqet mnemoni~eskie obozna~eniq sistemnoj oblasti  swq-
           zi.

  .SDTTM AREA,ADDR
         - ustanawliwaet w sisteme nowu` datu i wremq dnq iz ADDR.

  .SERR  - pozwolqet programme obrabatywatx serxeznye o{ibki  i  zapre-
           }aet monitoru prekra}atx ee wypolnenie w slu~ae  ih  poqwle-
           niq.

  .SETTOP ADDR
         - zapra{iwaet  dopolnitelxnu`  oblastx  pamqti  i   wozwra}aet
           dejstwitelxnyj star{ij adres programmy w R0. ADDR - zapra{i-
           waemyj werhnij adres programmy.

  .SFPA AREA,ADDR
         - daet wozmovnostx programme obrabatywatx prerywaniq processo-
           ra s plawa`}ej zapqtoj (dlq sm-1420).  ADDR  -  podprogramma
           obrabotki prerywanij.

  .SPCPS AREA,ADDR
         - predostawlqet wozmovnostx w podprogramme zawer{eniq izmenitx
           adres wozwrata iz prerywaniq. ADDR - tablica iz treh slow. w
           perwom i tretxem slowe tablicy neobhodimo ukazatx nowye PC i
           PS. posle zawer{eniq makrokomandy wtoroe slowo budet  soder-
           vatx staryj adres wozwrata.

         - kody o{ibok:

           0    - monitor sgenerirowan bez poddervki dannoj makrokoman-
                  dy;

           1    - powtornyj wyzow .SPCPS w odnoj podprogramme  zawer{e-
                  niq.

  .SRESET
         - inicializiruet tablicy  monitora,  swqzannye  s  programmoj:
           oswobovdaet kanaly, sbrasywaet o~eredx wwoda/wywoda, udalqet
           zagruvennye drajwery.

                                 - 149 -




  .SYNCH AREA[,PIC]
         - daet wozmovnostx podprogramme obrabotki prerywanij wypolnqtx
           sistemnye makrokomandy.

  .SPND  - priostanawliwaet  wypolnenie  programmy  (mogut  wypolnqtxsq
           tolxko podprogrammy zawer{eniq).

  .TLOCK - esli USR swobodna, to wypolnqetsq makrokomanda .LOCK, w pro-
           tiwnom slu~ae osu}estwlqetsq wozwrat s  ustanowlennym  bitom
           "C" slowa sostoqniq processora.

         - kod o{ibki:

           0    - USR ispolxzuetsq drugim zadaniem.

  .TRPSET AREA,ADDR
         - ustanawliwaet podprogrammu obrabotki prerywanij ADDR po wek-
           toram 4 i 10. pozwolqet programme samoj obrabatywatx  dannye
           prerywaniq.

  .UNLOCK
         - otmenqet dejstwie makrokomandy .LOCK i oswobovdaet USR.

  .UNPROTECT AREA,ADDR
         - oswobovdaet wektor ADDR, raspolovennyj w diapazone ot  0  do
           476 (otmenqet makrokomandu .PROTECT).

         - kod o{ibki:

           1    - adres wektora wne ukazannogo diapazona.

  .USBDF - opredelqet  mnemoni~eskie  obozna~eniq  statusa   zawer{eniq
           programmy.



       5.2.7. obmen mevdu zada~ami (RT11FB(XM))



       makrokomandy dannoj gruppy mogut ispolxzowatxsq dlq obmena  dan-
  nymi mevdu fonowoj i operatiwnoj programmami. posle priema  soob}eniq
  perwoe slowo bufera budet  sodervatx  dejstwitelxnoe  ~islo  prinqtyh
  slow. pri opisanii  ispolxzu`tsq  argumenty:  BUF  -  adres  massiwa,
  soderva}ego informaci` dlq obmena; WCNT - s~et~ik dliny informacii (w
  slowah), u~astwu`}ej w obmene; CRTN - adres podprogrammy  zawer{eniq,
  wypolnq`}ejsq po okon~anii  obmena.  dlq  wseh  makrokomand  wozmovna
  tolxko odna o}ibka:

         - 0 - w sisteme net operatiwnogo zadaniq.

  .MWAIT - priostanawliwaet wypolnenie programmy  do  okon~aniq  obmena
           soob}eniqmi mevdu programmami. ispolxzuetsq  w  so~etanii  s
           makrokomandami .RCVD i .SDAT.

  .RCVD AREA,BUF,WCNT
         - ustanawliwaet zapros na priem soob}eniq ot drugoj  programmy
           w o~eredx i wozwra}aet uprawlenie programme.  pri  neobhodi-
           mosti priostanowitx programmu do okon~aniq priema  soob}eniq

                                 - 150 -




           nuvno ispolxzowatx makrokomandu .MWAIT.

  .RCVDC AREA,BUF,WCNT,CRTN
         - ustanawliwaet zapros na priem soob}eniq ot drugoj  programmy
           w o~eredx i wozwra}aet uprawlenie  programme.  posle  priema
           soob}eniq budet wypolnena podprogramma zawer{eniq.

  .RCVDW AREA,CHAN,BUF,WCNT
         - stawit zapros na priem soob}eniq ot drugoj programmy w  o~e-
           redx i perewodit programmu w sostoqnie ovidaniq do polu~eniq
           soob}eniq.

  .SDAT AREA,BUF,WCNT
         - zapuskaet pereda~u soob}eniq drugomu  zadani`  i  nemedlenno
           wozwra}aet uprawlenie programme.

  .SDATC AREA,BUF,WCNT,CRTN
         - zapuskaet pereda~u soob}eniq drugomu  zadani`  i  wozwra}aet
           uprawlenie programme. posle zawer{eniq pereda~i budet wypol-
           nena ukazannaq podprogramma zawer{eniq.

  .SDATW AREA,BUF,WCNT
         - zapuskaet pereda~u soob}eniq  drugomu  zadani`  i  wozra}aet
           uprawlenie programme posle zawer{eniq pereda~i.



       5.2.8. rabota  s   dopolnitelxnymi   terminalami   (RT11
              SJ...XM)



       pri opisanii makrokomand ispolxzuetsq  argument  UNIT  -  ~islo,
  ukazywa`}ee nomer terminala. dlq  dannoj  gruppy  wozmovny  sledu`}ie
  o{ibki:

           0    - net mesta w bufere terminala;

           1    - TErminal ne zakreplen za zada~ej;

           2    - nesu}estwu`}ij nomer terminala;

           3    - neweren kod funkcii;

           4    - terminal zakreplen za drugim zadaniem;

           5    - adres bufera  nahoditsq  wne  adresnogo  prostranstwa
                  zadaniq (dlq RT11XM).

  .MTATCH AREA,ADDR,UNIT
         - wypolnqet priwqzku  ukazannogo  terminala  dlq  monopolxnogo
           ispolxzowaniq dannoj programmoj.  ADDR  -  adres  slowa  dlq
           asinhronnogo statusa terminala  ili  0.  wozmovny  o{ibki  s
           kodami 2, 3, 4, 5.

  .MTBDF - opredelqet mnemoni~eskie  obozna~eniq  asinhronnogo  statusa
           terminala, slowa konfiguracii terminala i t.d.


                                 - 151 -




  .MTDTCH AREA,UNIT
         - oswobovdaet ukazannyj terminal, posle ~ego ego movno ispolx-
           zowatx w drugoj programme. wozmovny o{ibki s kodami 1, 2, 3.

  .MTGET AREA,ADDR,UNIT
         - wozwra}aet zapra{iwa`}ej programme status ukazannogo  termi-
           nala po adresu ADDR (4 slowa): slowo konfiguracii terminala;
           rezerwnoe;  znak,  trebu`}ij  zapolnitelej  (bajt);  s~et~ik
           zapolnitelej  (bajt);  {irina  stroki  terminala  w   znakah
           (bajt); bajt sostoqniq terminala. wozmovny o{ibki  s  kodami
           1, 2, 3, 4, 5.

  .MTIN AREA,ADDR,UNIT[,BCNT]
         - s~itywaet odin znak s terminala w bufer programmy s  adresom
           ADDR (mnogoterminalxnaq forma  makrokomandy  .TTYIN).  movno
           wwesti neskolxko znakow, ukazaw BCNT  w  ka~estwe  s~et~ika.
           wozmovny o{ibki s kodami 0, 1, 2, 3, 5.

  .MTOUT AREA,ADDR,UNIT[,BCNT]
         - wywodit na terminal odin znak iz bufera  ADDR.  (mnogotermi-
           nalxnaq forma makrokomandy .TTYOUT). movno wywesti neskolxko
           znakow, esli ukazan BCNT. wozmovny o{ibki s kodami 0, 1,  2,
           3, 5.

  .MTPRNT AREA,ADDR,UNIT
         - stroka ADDR wywoditsq na terminal  (mnogoterminalxnaq  forma
           makrokomandy .PRINT). wozmovny o{ibki s kodami 1, 2, 5.

  .MTRCTO AREA,UNIT
         - sbrasywaet flag CTRL/O dlq ukazannogo terminala UNIT (mnogo-
           terminalxnaq forma makrokomandy .RSTRLO). wozmovny o{ibki  s
           kodami 1, 2, 3.

  .MTSET AREA,ADDR,UNIT
         - pozwolqet prikladnoj programme ustanowitx trebuemye harakte-
           ristiki terminala iz bloka ADDR (4 slowa). wozmovny o{ibki s
           kodami 1, 2, 3, 4, 5.

  .MTSTAT AREA,ADDR
         - pozwolqet polu~itx tablicu ADDR (8 slow), soderva}u`  harak-
           teristiki mnogoterminalxnoj sistemy: sme}enie ot nivnej gra-
           nicy RMON do perwogo bloka uprawleniq  terminalom;  sme}enie
           ot nivnej granicy RMON do bloka uprawleniq sistemnym  termi-
           nalom; ~islo blokow uprawleniq terminalom w  sisteme;  ob'em
           bloka uprawleniq w bajtah;  rezerwnye  (4  slowa).  wozmovna
           o{ibka s kodom 5.



       5.2.9. sluvebnye (os NTS)



       os NTS ras{irqet nabor serwisnyh sredstw makrokomandami raboty w
  revime razdeleniq wremeni. dalee priwodqtsq  makrokomandy,  wypolnq`-
  }iesq tolxko w os NTS.


                                 - 152 -




  .BLIN AREA,BUF,BCNT
         - s~itywaet s terminala znaki w bufer BUF  do  ego  zapolneniq
           (dlina BCNT) ili poka ne budet polu~en odin iz znakow  akti-
           wacii.  posle  zawer{eniq  makrokomandy  R0  sodervit  ~islo
           dejstwitelxno wwedenyh znakow.

  .BLOUT AREA,BUF,BCNT
         - pozwolqet |ffektiwno wywoditx  na  terminal  bolx{u`  porci`
           informacii (blok) iz BUF na dline BCNT. ispolxzowanie dannoj
           makrokomandy pozwolqet su}estwenno  menx{e  zagruvatx  cent-
           ralxnyj processor kompleksa pri wywode na terminal po  sraw-
           neni` s .TTYOUT.

  .BREAK AREA,CHAR,CRTN
         - opredelqet podprogrammu  zawer{eniq  CRTN,  kotoroj  os  NTS
           peredaet uprawlenie pri navatii na klawiature terminala uka-
           zannoj klawi{i (kod zadaetsq CHAR). wypolnenie dannoj makro-
           komandy w programme otmenqet ee predydu}ee dejstwie. esli  w
           ka~estwe adresa podprogrammy zawer{eniq ukazatx 0, to dejst-
           wie poslednej makrokomandy .BREAK otmenqetsq.

  .DISMO AREA,DEVICE
         - prekra}aet k|{irowanie kataloga ukazannogo ustrojstwa analo-
           gi~no komande monitora DISMOUNT. DEVICE - adres slowa  pamq-
           ti, soderva}ego imq ustrojstwa w kode RADIX-50.

  .FRSPL AREA
         - makrokomanda wozwra}aet w R0 ~islo swobodnyh blokow w  fajle
           podsistemy spulinga.

  .HIOF AREA
         - otmenqet wysoko|ffektiwnyj revim raboty s terminalom.

  .HION AREA
         - perehodit w wysoko|ffektiwnyj revim raboty s  terminalom.  w
           |tom revime raboty ne  proizwoditsq  prowerka  na  razli~nye
           uprawlq`}ie simwoly (tipa tabulqcii) i  po|tomu  su}estwenno
           sokra}aetsq zagruzka  centralxnogo  processora.  specialxnym
           obrazom obrabatywa`tsq tolxko znaki aktiwacii,  opredelennye
           polxzowatelem (dolven bytx opredelen hotq by odin znak akti-
           wacii).

  .MOUNT AREA,DEVICE,#0
         - wypolnqet zapusk processa k|{irowaniq kataloga dlq ukazanno-
           go ustrojstwa analogi~no komande monitora  MOUNT.  DEVICE  -
           adres  slowa  pamqti,  soderva}ego  imq  ustrojstwa  w  kode
           RADIX-50.

         - kod o{ibki:

           1    - Tablica ustrojstw, katalogi kotoryh k|{iru`tsq, pere-
                  polnena.

  .MSEND AREA,LINE,ADDR
         - pozwolqet wywesti stroku soob}eniq ADDR na ukazannyj  termi-
           nal LINE (fizi~esku` lini`).


                                 - 153 -




  .SETODT
         - ispolxzuetsq dlq aktiwacii os NTS na znaki, trebuemye otlad-
           ~iku TSODT. w |tom revime os NTS rassmatriwaet wse  znaki  w
           ka~estwe znakow aktiwacii za iskl`~eniem cifr,  ",",  "$"  i
           ";".

  .RSTODT
         - otmenqet dejstwie makrokomandy .SETODT.

  .TRMTYPE AREA
         - wozwra}aet w R0 ~islo, opredelq`}ee tip  terminala,  ispolx-
           zuemogo s teku}ej programmoj.

  .TSLINE AREA
         - wozwra}aet w R0 nomer linii,  swqzannoj  s  programmoj.  wse
           linii numeru`tsq w os NTS s edinicy: wna~ale idut fizi~eskie
           linii, zatem idut linii dlq awtonomnyh  zadanij,  poslednimi
           numeru`tsq  wirtualxnye  linii.  dannaq  makrokomanda  movet
           ispolxzowatxsq programmoj dlq opredeleniq togo,  wypolnqetsq
           li ona pod uprawleniem os NTS ili net. dlq  |togo  predwari-
           telxno nuvno wypolnitx makrokomandu .SERR, a zatem  .TSLINE.
           esli poslednqq makrokomanda zawer{itsq bez  o{ibki,  to  |to
           ozna~aet, ~to programma wypolnqetsq pod uprawleniem os  NTS.
           w protiwnom  slu~ae  ispolxzuetsq  odin  iz  monitorow  RT11
           SJ...XM.

  .TSTACT AREA
         - opredelqet nali~ie w bufere terminala znaka  aktiwacii,  e}e
           ne s~itannogo programmoj. esli w bufere wwoda terminala  net
           ni odnogo znaka aktiwacii, to posle makrokomandy budet usta-
           nowlen w 1 bit "C" slowa sostoqniq processora.  w  protiwnom
           slu~ae - bit "C" sbro{en.

  .TSTER AREA
         - pozwolqet opredelitx nali~ie o{ibok pri  wwode  s  terminala
           (posledowatelxnyj interfejs). nali~ie  o{ibok  pri  wwode  s
           terminala opredelqetsq ustanowlennym w  1  bitom  "C"  slowa
           sostoqniq processora posle zawer{eniq makrokomandy.

  .TSTOP AREA,TOPADR
         - prednazna~ena dlq dinami~eskogo  izmeneniq  razmera  pamqti,
           wydelennoj programme. TOPADR - zapro{ennyj programmoj  werh-
           nij adres operatiwnoj pamqti. posle wypolneniq  makrokomandy
           R0 budet sodervatx dejstwitelxnyj werhnij  adres,  dostupnyj
           programme.

  .TTIME AREA,TIME,CHAR
         - zadaet tajm-aut (interwal wremeni)  dlq  sledu`}ej  operacii
           wwoda s terminala. makrokomanda pozwolqet zadatx  maksimalx-
           noe wremq, kotoroe dopustimo mevdu wyda~ej zaprosa na ~tenie
           i zawer{eniem wwoda s klawiatury (naprimer, zawer{enie wwoda
           stroki). TIME - interwal wremeni w tikah. CHAR - znak, polu-
           ~aemyj programmoj w slu~ae tajm-auta. nowoe  zna~enie  tajm-
           auta dolvno zadawatxsq pered kavdoj nowoj operaciej ~teniq s
           terminala.

                                 - 154 -




       5.2.10. rezidentnye biblioteki (os NTS)



       ispolxzowanie rezidentnyh bibliotek pozwolqet  |konomitx  pamqtx
  neskolxkim programmam (net neobhodimosti kavdoj programme  dervatx  w
  pamqti sobstwennu` kopi` biblioteki), a  takve  pozwolqet  neskolxkim
  programmam obmeniwatxsq dannymi ~erez ob}u` oblastx pamqti.

  .SHARE AREA,NAME
         - ustanawliwaet swqzx  programmy  s  rezidentnoj  bibliotekoj.
           NAME - adres dwuhslownoj tablicy, soderva}ej imq  biblioteki
           ili oblasti. imq sostoit iz 6 znakow w kode RAD50 (imq  bib-
           lioteki sowpadaet s imenem fajla, iz kotorogo ona byla  zag-
           ruvena). esli adres rawen  nul`,  to  makrokomanda  ustranit
           swqzx programmy so wsemi bibliotekami i wosstanowit normalx-
           noe sostoqnie otobraveniq wirtualxnogo prostranstwa program-
           my. otobravenie wirtualxnogo adresnogo prostranstwa program-
           my ne izmenqetsq. w odnoj programme movno ispolxzowatx  nes-
           kolxko rezidentnyh bibliotek.

         - kod o{ibki:

           1    - ukazannaq rezidentnaq biblioteka otsutstwuet.

  .SHMAP AREA,PAGE,OFF,SIZE
         - posle ustanowleniq swqzi programmy s bibliotekoj  s  pomo}x`
           makrokomandy .SHARE ~astx wirtualxnogo prostranstwa program-
           my movet bytx otobravena na ws` biblioteku ili na ~astx bib-
           lioteki pri pomo}i makrokomandy .SHMAP. PAGE - nomer strani-
           cy (0-7)  wirtualxnogo  prostranstwa  programmy,  s  kotoroj
           budet na~inatxsq oblastx, otobravaemaq  na  biblioteku.  OFF
           opredelqet sme}enie w blokah po 64 bajta otnositelxno na~ala
           biblioteki, s kotorogo na~inaetsq zona biblioteki,  popada`-
           }aq w otobravenie programmy. |to pozwolqet otobravatx  prog-
           rammu na razli~nye u~astki  biblioteki.  SIZE  -  opredelqet
           dlinu u~astka w blokah po 64 bajta, otobravaemogo na biblio-
           teku. otobravenie ostalxnyh stranic wirtualxnogo prostranst-
           wa ne izmenqetsq, dave esli oni byli  otobraveny  na  drugie
           rezidentnye biblioteki. programmy  realxnogo  wremeni  mogut
           otobravatx sedxmu` stranicu na stranicu wwoda/wywoda, a dru-
           gie stranicy - na rezidentnye biblioteki.

         - kod o{ibki:

           1    - programma ne ustanowila swqzx ni s odnoj  rezidentnoj
                  bibliotekoj ili oblastx` dannyh.



       5.2.11. awtonomnye zadaniq (os NTS)



       osnownymi sredstwami raboty s awtonomnymi zadaniqmi iz  programm
  qwlq`tsq pere~islqemye nive makrokomandy.


                                 - 155 -




  .DJKILL AREA,LINE
         - prekra}aet wypolnenie awtonomnogo zadaniq na ukazannoj linii
           LINE.

         - kod o{ibki:

           1    - ukazan nedopustimyj nomer linii.

  .DJSTART AREA,DJOB
         - zapuskaet awtonomnoe zadanie, esli imeetsq swobodnaq  liniq.
           DJOB sodervit imq awtonomnogo zadaniq. nomer linii, na koto-
           roj zapuskaetsq zadanie, wozwra}aetsq w R0.

         - kod o{ibki:

           1    - net ni odnoj swobodnoj linii dlq zapuska  awtonomnogo
                  zadaniq.

  .DJTST AREA,LINE
         - opredelqet  sostoqnie  awtonomnoj  linii  i  wozwra}aet  bit
           "s"=0, esli liniq zanqta, i bit "s"=1, esli liniq swobodna.



       5.2.12. po~towye q}iki (os NTS)



       w monitore razdeleniq wremeni obmen soob}eniqmi  mevdu  zada~ami
  wedetsq ~erez po~towye q}iki. po~towyj q}ik ukazywaetsq swoim imenem,
  strokoj w koi-7 do 6-ti simwolow dlinoj. BOX  -  adres  stroki  imeni
  po~towogo q}ika.

  .MGET AREA,BOX,BUF,BCNT
         - ispolxzuetsq dlq izwle~eniq soob}enij iz po~towogo q}ika BOX
           w bufer BUF (dlinoj BCNT) programmy polxzowatelq. esli soob-
           }enie prinqto, to posle  zawer{eniq  makrokomandy  R0  budet
           sodervatx dejstwitelxnyj razmer  soob}eniq  w  bajtah.  esli
           dlina soob}eniq bolx{e razmera bufera,  to  ostalxnaq  ~astx
           budet poterqna.

         - kody o{ibok:

           3    - w ukazannom q}ike net soob}enij;

           4    - dlina prinqtogo soob}eniq prewy{aet razmer bufera.

  .MGETWAIT AREA,BOX,BUF,BCNT
         - perewodit programmu polxzowatelq w sostoqnie ovidaniq do teh
           por, poka w ukazannom q}ike ne poqwitsq soob}enie. argumenty
           makrokomandy analogi~ny argumentam .MGET.

         - kody o{ibok:

           1    - net swobodnogo po~towogo q}ika;

           4    - dlina prinqtogo soob}eniq prewy{aet razmer bufera.


                                 - 156 -




  .MPUT AREA,BOX,BUF,BCNT
         - pome}aet soob}enie w po~towyj q}ik. esli posylaemoe  soob}e-
           nie imeet dlinu, prewy{a`}u` maksimalxnu`, to ostatok  soob-
           }eniq otbrasywaetsq.

         - kody o{ibok:

           1    - net swobodnogo po~towogo q}ika;

           2    - net swobodnogo sistemnogo bufera dlq hraneniq soob}e-
                  niq;

           4    - dlina soob}eniq prewy{aet maksimalxnu`, zadannu`  pri
                  generacii.



       5.2.13. sredstwa realxnogo wremeni (os NTS)



       pri wypolnenii makrokomand dannoj gruppy womovna o{ibka s kodom:

           0    - sredstwa realxnogo wremeni ne byli wkl`~eny pri gene-
                  racii os NTS, ili programma ne qwlqetsq  priwilegiro-
                  wannoj.

  .CONVIR AREA,VADDR,BUF
         - wypolnqet preobrazowanie wirtualxnogo adresa VADDR w oblasti
           programmy w fizi~eskij (pome}aetsq w blok, ukazannyj adresom
           BUF, iz dwuh slow). pered wypolneniem makrokomandy programma
           dolvna bytx obqzatelxno zakreplena w  pamqti.  perwoe  slowo
           bufera budet sodervatx mlad{ie 16 razrqdow fizi~eskogo adre-
           sa. dwa star{ih razrqda fizi~eskogo adresa budut razme}eny w
           razrqdah 4-5 wtorogo slowa bufera.

  .ENSWAP AREA
         - otmenqet zakreplenie programmy w pamqti i razre{aet ee  swo-
           ping.

  .IMLOCK AREA
         - wyzywaet nemedlennoe zakreplenie programmy w pamqti  (zapre-
           }aet ee swoping) bez predwaritelxnogo pereme}eniq.

  .POLOCK AREA
         - zakreplqet programmu w pamqti (zapre}aet ee swoping),  pred-
           waritelxno peremestiw ee w nivn``, swobodnu` oblastx pamqti.

  .INTCON AREA,VEC,CRTN,PRI
         - podkl`~aet podprogrammu zawer{eniq CRTN k wektoru prerywanij
           s adresom VEC wne{nego ustrojstwa. PRI - prioritet w sisteme
           (ot 0 do 7),  na  kotorom  dolvna  wypolnqtxsq  podprogramma
           zawer{eniq.

         - kody o{ibok:

           1    - maksimalxnoe ~islo podprogramm  obrabotki  prerywanij
                  uve opredeleno (ukazywaetsq pri generacii);

                                 - 157 -




           2    - drugaq programma uve ispolxzuet ukazannyj wektor pre-
                  rywanij.

  .INTFRE AREA,VEC
         - otmenqet swqzx wektora prerywanij VEC s podprogrammoj zawer-
           {eniq. wektor  prerywaniq  oswobovdaetsq  dlq  ispolxzowaniq
           drugoj programmoj.

  .IOBIC AREA,ADDR,WORD
         - wypolnqet dejstwiq, analogi~nye instrukcii  processora  BIC,
           t.e. o~istku razrqdow w registre wne{nego ustrojstwa  (adres
           ADDR). WORD - adres slowa, iz kotorogo budet wzqta maska.

  .IOBIS AREA,ADDR,WORD
         - wypolnqet dejstwiq, analogi~nye instrukcii  processora  BIS,
           t.e. o~istku razrqdow w registre wne{nego ustrojstwa  (adres
           ADDR). WORD - adres slowa, iz kotorogo budet wzqta maska.

  .IOGET AREA,ADDR
         - pozwolqet s~itatx sodervimoe registra wne{nego ustrojstwa  w
           adres ADDR iz stranicy wwoda/wywoda bez izmeneniq  otobrave-
           niq wirtualxnogo adresnogo prostranstwa programmy.  sodervi-
           moe s~itannogo registra wozwra}aetsq w R0.

  .IOPUT AREA,ADDR,WORD
         - pozwolqet pereslatx slowo s adresom WORD w registr  wne{nego
           ustrojstwa s adresom ADDR stranicy wwoda/wywoda.

  .IOMAP AREA
         - proizwodit otobravenie sedxmoj stranicy wirtualxnogo  adres-
           nogo prostranstwa programmy (adresa 160000-177777) na  stra-
           nicu wwoda/wywoda, obespe~iwaq tem samym dostup k  registram
           wne{nih ustrojstw.

  .IOUNMAP AREA
         - otmenqet otobravenie sedxmoj  stranicy  wirtualxnogo  prost-
           ranstwa programmy na stranicu wwoda/wywoda.



       5.2.14. razdelqemye fajly (os NTS)



       dlq ob'qwleniq fajla razdelqemym neobhodimo otkrytx kanal makro-
  komandoj .LOOKUP i pri pomo}i .SFOPEN opredelitx metod  ispolxzowaniq
  fajla. metod ispolxzowaniq zadaetsq kodom, kotoryj opredelqet  dopus-
  timye operacii nad fajlom dlq dannoj programmy (0, 2, 4 - tolxko ~te-
  nie; 1, 3, 5 - ~tenie i zapisx). s kodom  swqzany  takve  ograni~eniq
  dlq drugih programm pri rabote s dannym fajlom (0, 1 - zapret  raboty
  s fajlom; 2, 3 - tolxko ~tenie; 4, 5 - ~tenie i zapisx).

  .SFLOCK AREA,CHAN,BLK
         - prednazna~ena dlq blokirowaniq dostupa  k  ukazannomu  bloku
           BLK fajla iz drugih programm. esli  zapra{iwaemyj  blok  uve
           zablokirowan drugoj programmoj, to  dannaq  programma  budet
           priostanowlena do teh por, poka  trebuemyj  blok  ne  stanet
           dostupen. maksimalxnoe ~islo blokow, kotorye mogut bytx zab-
           lokirowanny odnowremenno, ukazywaetsq pri generacii sistemy.

                                 - 158 -




           blok s nomerom -1 (wosxmeri~noe 177777) movet bytx ispolxzo-
           wan dlq zaprosa na blokirowku wseh blokow w fajle. esli nes-
           kolxko programm zapra{iwa`t odin i tot ve blok, to dostup  k
           nemu polu~a`t posledowatelxno, w porqdke postupleniq  zapro-
           sow.

         - kody o{ibok:

           1    - kanal ne otkryt;

           2    - blokiruetsq sli{kom mnogo blokow.

  .SFOPEN AREA,CHAN,CODE
         - ob'qwlqet fajl razdelqemym.

         - kody o{ibok:

           1    - kanal ne otkryt;

           2    - otkryto sli{kom mnogo kanalow dlq razdelqemyh fajlow;

           3    - otkryto sli{kom mnogo razdelqemyh fajlow;

           4    - zapre}ennyj dostup k fajlu.

  .SFSAVE AREA,CHAN
         - sohranqet   sostoqnie   kanala   (analogi~no    makrokomande
           .SAVESTATUS,  no  dlq  razdelqemyh   fajlow).   makrokomanda
           .SAVESTATUS otmenqet ob'qwlenie fajla razdelqemym.

  .SFTLOCK AREA,CHAN,BLK
         - wypolnqetsq blokirowanie dostupa k bloku analogi~no makroko-
           mande .SFLOCK. otli~ie sostoit w tom, ~to esli blok zabloki-
           rowan drugoj programmoj, to dannaq programma ne  priostanaw-
           liwaetsq.

         - kody o{ibok:

           1    - kanal ne otkryt;

           2    - blokiruetsq sli{kom mnogo blokow;

           3    - blok uve zablokirowan.

  .SFUNALL AREA,CHAN
         - razblokirowka wseh blokow razdelqemogo fajla.

         - kod o{ibki:

           1    - kanal ne otkryt.

  .SFUNLOCK AREA,CHAN,BLK
         - razblokirowka ukazannogo bloka BLK w fajle.

         - kod o{ibki:

           1    - kanal ne otkryt.


                                 - 159 -




  .SFWCHECK AREA,CHAN
         - opredelqet, byla li proizwedena zapisx  w  razdelqemyj  fajl
           drugoj programmoj.

         - kody o{ibok:

           1    - kanal ne otkryt;

           2    - zapisx proizwodilasx.



       5.2.15. analiz |ffektiwnosti (os NTS)



       ispolxzowanie makrokomand dannoj gruppy  pozwolqet  iz  programm
  polxzowatelq opredelitx procent wremeni, kotoroe  processor  zatratil
  na wypolnenie toj ili inoj ~asti programmy.

  .PAINIT AREA,HIADDR,LOADDR,ICLSIZ,FLAG
         - inicializiruet  programmnye  sredstwa   podsistemy   analiza
           |ffektiwnosti programm (analogi~no komande monitora MONITR).
           HIADDR i LOADDR ukazywa`t nivn`` i werhn`` granicy  program-
           my, w kotoryh prowoditsq analiz. ICLSIZ - cena deleniq  gis-
           togrammy. FLAG ukazywaet neobhodimostx u~eta ovidaniq zawer-
           {eniq operacij wwoda/wywoda: 0 - bez ovidaniq, 1 - s  ovida-
           niem.

         - kody o{ibok:

           0    - sredstwa uve ispolxzu`tsq drugoj programmoj (liniej);

           1    - sredstwa ne wkl`~eny pri generacii.

  .PASTART AREA
         - zapuskaet (ili prodolvaet) rabotu programmnyh  sredstw  pod-
           sistemy analiza |ffektiwnosti programm.

         - kod o{ibki:

           0    - sredstwa podsistemy analiza |ffektiwnosti ne  inicia-
                  lizirowany.

  .PASTOP AREA
         - priostanawliwaet sbor statistiki dlq  analiza  |ffektiwnosti
           programm.

         - kod o{ibki:

           0    - sredstwa podsistemy analiza |ffektiwnosti ne  inicia-
                  lizirowany.

  .PAGET PAR,BUF,BUFSIZE
         - peredaet w bufer BUF sobrannu`  statistiku  o  |ffektiwnosti
           programmy. BUFSIZE zadaet razmer bufera.

         - kody o{ibok:

                                 - 160 -




           0    - statisti~eskie dannye ne sobiralisx;

           1    - razmer bufera programmy mal.



       5.2.16. makrokomandy dlq napisaniq drajwerow



       nive priwodqtsq makrokomandy, ispolxzuemye tolxko pri  napisanii
  drajwerow.

  .CTIMIO TBLK
         - otmenqet wremennoj  zapros  na  podprogrammu  zawer{eniq.  w
           ka~estwe argumenta TBLK ukazywaetsq metka  tablicy  makroko-
           mandy .TIMIO.

  .DRAST NAME,PRI[,ABT]
         - opredelqet na~alo podprogrammy obrabotki prerywanij. NAME  -
           imq ustrojstwa. PRI -  prioritet  processora  pri  obrabotke
           prerywaniq. ABT - metka to~ki whoda  w  drajwer  pri  otmene
           obsluviwaniq |lementa o~eredi.

  .DRBEG NAME
         - sozdaet tablicu zagolowka drajwera. NAME - imq ustrojstwa.

  .DRBOT NAME,SUBR,READ
         - ob'qwlqet na~alo razdela perwi~nogo zagruz~ika w drajwere:

           NAME - imq ustrojstwa;

           SUBR - to~ka whoda w proceduru programmnogo zagruz~ika;

           READ - to~ka whoda w proceduru ~teniq po gotownosti.

  .DRDEF NAME,COD,STAT,SIZE,CSR,VEC
         - opredelqet parametry drajwera i ustrojstwa  i  mnemoni~eskie
           obozna~eniq, ispolxzuemye pri napisanii drajwera:

           NAME - imq ustrojstwa;

           COD  - identifikator ustrojstwa;

           STAT - status ustrojstwa;

           SIZE - ob'em ustrojstwa w blokah (0 - dlq ustrojstw posledo-
                  watelxnogo dostupa);

           CSR  - adres registra uprawleniq ustrojstwom na {ine;

           VEC  - adres wektora prerywaniq.

  .DREND NAME
         - oformlqet dlq drajwera tablicu, soderva}u`  adresa  obsluvi-
           wa`}ih  podprogramm  monitora;  ob'qwlqet  logi~eskij  konec
           teksta drajwera. NAME - imq ustrojstwa.


                                 - 161 -




  .DRFIN NAME
         - peredaet uprawlenie monitoru po zawer{enii obsluviwaniq |le-
           menta o~eredi: NAME - imq ustrojstwa.

  .DRSET OPTION,VAL,SUBR[,MODE]
         - ispolxzuetsq dlq postroeniq tablic parametrow drajwera:

           OPTION
                - imq parametra;

           VAL  - argument podprogrammy nastrojki;

           SUBR - to~ka whoda w podprogrammu nastrojki;

           MODE - opredelqet dopustimye zna~eniq  parametra  w  komande
                  SET.

  .DRVTB NAME,VEC,SUBR[,PS]
         - ispolxzuetsq dlq  opisaniq  tablicy  wektorow  prerywanij  i
           podprogramm ih obrabotki w drajwere dlq mnogowektornyh  ust-
           rojstw:

           NAME - imq ustrojstwa;

           VEC  - adres wektora prerywaniq;

           SUBR - podprogramma obrabotki prerywaniq po |tomu wektoru;

           PS   - opredelqet zna~enie kodow uslowij w  slowe  sostoqniq
                  processora posle prerywaniq.

  .FORK FKBLK
         - drajwer otkladywaet obrabotku prerywaniq i stawitsq w  FORK-
           o~eredx. FKBLK - metka |lementa FORK-o~eredi w drajwere.

  .QELDF - opredelqet mnemoni~eskie obozna~eniq  dlq  |lementa  o~eredi
           wwoda/wywoda.

  .TIMIO TBK,HI,LO
         - planiruet  zapusk  podprogrammy  zawer{eniq  ~erez  zadannyj
           interwal wremeni w tikah. HI - star{ee, LO -  mlad{ee  slowa
           zapisi interwala wremeni wo wnutrennem formate.



       5.2.17. ispolxzowanie ras{irennoj pamqti (RT11XM)



       pri opisanii ispolxzu`tsq ponqtiq:

                                 - 162 -





                     tablica opisaniq okna (7 slow)
   ---------------------------------------------------
   ! identifikator okna ! nomer bazowogo adresa okna !
   ---------------------------------------------------
   !       bazowyj wirtualxnyj adres okna            !
   ---------------------------------------------------
   !      razmer okna (w blokah po 64 bajta)         !
   ---------------------------------------------------
   !   identifikator oblasti, swqzannoj s oknom      !
   ---------------------------------------------------
   !    sme}enie w oblasti, s kotorogo na~inaetsq    !
   !      otobravenie okna (w blokah po 64 bajta)    !
   ---------------------------------------------------
   ! dlina otobravaemogo okna (w blokah po 64 bajta) !
   ---------------------------------------------------
   !             slowo sostoqniq okna                !
   ---------------------------------------------------

       slowo sostoqniq okna sodervit (opisano dlq razrqdow, ustanowlen-
  nyh w edinicu):

  razrqd 15 - okno sozdano;

  razrqd 14 - otobravenie odnogo ili neskolxkih  okon  otmeneno,  ~toby
  otobrazitx dannoe okno;

  razrqd 13 - odno ili bolee okon otmeneny;

  razrqd 8 - neobhodimo otobrazitx okno na oblastx posle ego  sozdaniq;
  ustanawliwaetsq polxzowatelem.


                   tablica opisaniq oblasti (3 slowa)
   ---------------------------------------------------
   !             identifikator oblasti               !
   ---------------------------------------------------
   !       razmer oblasti (w blokah po 64 bajta)     !
   ---------------------------------------------------
   !            slowo sostoqniq oblasti              !
   ---------------------------------------------------

       slowo sostoqniq oblasti sodervit (opisano dlq razrqdow, ustanow-
  lennyh w edinicu):

  razrqd 15 - oblastx sozdana uspe{no;

  razrqd 14 - w  rezulxtate  ustraneniq  oblasti  otmeneno  otobravenie
  odnogo ili bolee okon;

  razrqd 13 - newozmovno sozdatx oblastx trebuemogo razmera.

       pri wypolneniii makrokomand  dannoj  gruppy  wozmovny  o{ibki  s
  kodami:

           0    - okno sli{kom weliko ili identifikator okna bolx{e 7;

           1    - net sbobodnyh blokow uprawleniq oknom;

                                 - 163 -




           2    - zadan nedopustimyj identifikator oblasti, esli  usta-
                  nowlen bit 8 slowa sostoqniq okna;

           4    - ukazannoe okno ne movet bytx otobraveno na  trebuemu`
                  oblastx, esli ustanowlen bit 8 slowa sostoqniq okna;

           5    - okno ne otobraveno;

           6    - net swobodnyh blokow uprawleniq oblastx`;

           7    - oblastx ukazannogo  razmera  nelxzq  sozdatx,  razmer
                  naibolx{ej ime`}ejsq oblasti wozwra}aetsq w R0;

           10   - nedopustimyj razmer oblasti (nulewoj  ili  bolee  192
                  Kbajt).

  .CRAW AREA[,ADDR]
         - sozdaet wirtualxnoe okno i, esli ustanowlen bit 8 slowa sos-
           toqniq okna, otobravaet ego na oblastx w ras{irennoj pamqti.
           argument ADDR - adres tablicy opisaniq okna. wozmovny o{ibki
           s kodami 0, 1, 2, 4.

  .CRRG AREA[,ADDR]
         - wydelqet oblastx  w  ras{irennoj  pamqti  dlq  ispolxzowaniq
           programmoj. ADDR - adres tablicy opisaniq oblasti.  wozmovny
           o{ibki s kodami 6, 7, 10.

  .ELAW AREA,ADDR
         - otmenqet  otobravenie  su}estwu`}ego  wirtualxnogo  okna   w
           oblastx ras{irennoj pamqti i razre{aet ego  pereopredelenie.
           ADDR - adres tablicy opisaniq okna. wozmovna o{ibka s  kodom
           3.

  .ELRG AREA,ADDR
         - oswobovdaet zanqtu` oblastx w ras{irennoj pamqti i  peredaet
           ee w spisok swobodnoj. ADDR - adres tablicy opisaniq  oblas-
           ti. wozmovna o{ibka s kodom 2.

  .GMCX AREA,ADDR
         - zanosit po adresu ADDR status ukazannogo  wirtualxnogo  okna
           (w formate tablicy opisaniq okna). wozmovna o{ibka  s  kodom
           3.

  .MAP AREA,ADDR
         - otobravaet predwaritelxno opredelennoe wirtualxnoe  okno  na
           oblastx ras{irennoj pamqti. ADDR -  adres  tablicy  opisaniq
           okna. wozmovny o{ibki s kodami 2, 3, 4.

  .RDBBK RGSIZ
         - wydelqet pamqtx i sozdaet tablicu opisaniq oblasti w  ras{i-
           rennoj pamqti (razmer oblasti RGSIZ ukazywaetsq w blokah  po
           64 bajta).

  .RDBDF - opredelqet mnemoni~eskie obozna~eniq  dlq  tablicy  opisaniq
           oblasti.

  .UNMAP AREA,ADDR
         - otmenqet otobravenie wirtualxnogo okna na oblastx  w  ras{i-
           rennoj pamqti. ADDR - adres tablicy opisaniq okna.  wozmovny

                                 - 164 -




           o{ibki s kodami 3, 5.

  .WDBBK WNAPR,WNSIZ,WNRID,WNOFF,WNLEN,WNSTS
         - wydelqet pamqtx  i  sozdaet  tablicu  opisaniq  wirtualxnogo
           okna.

  .WDBDF - opredelqet mnemoni~eskie obozna~eniq  dlq  tablicy  opisaniq
           wirtualxnogo okna.




       5.3. sistemnaq ob'ektnaq biblioteka



       sistemnaq ob'ektnaq biblioteka sodervit nabor modulej, pozwolq`-
  }ij programmam na qzyke fortran (a takve  paskalx,  no  s  nekotorymi
  ograni~eniqmi) ispolxzowatx sredstwa monitorow. podprogrammy  biblio-
  teki predostawlq`t takve raznoobraznye wspomogatelxnye funkcii. prog-
  rammy na qzyke makroassembler takve mogut ispolxzowatx ob'ektnu` bib-
  lioteku.


       pRIME^ANIE. biblioteka ne sodervit podprogramm uprawleniq ras{i-
  rennoj pamqtx`, t.k. sootwetstwu`}ie sredstwa ispolxzu`tsq  ispolnq`-
  }ej sistemoj (OTS) fortrana pri rabote s wirtualxnymi massiwami.

       sistemnaq ob'ektnaq biblioteka razme}aetsq w  fajle  SYSLIB.OBJ,
  ispolxzuemom komponow}ikom kak biblioteka po umol~ani`.  podprogrammy
  i funkcii iz SYSLIB.OBJ wyzywa`tsq tak ve, kak i standartnye procedu-
  ry iz OTS fortrana. ispolxzowanie  podprogramm  i  funkcij  SYSLIB  w
  ka~estwe parametrow wyzowa procedur zapre}eno. w sistemnu`  ob'ektnu`
  biblioteku whodqt kak podprogrammy (SUBROUTINE), tak i funkcii (FUNC-
  TION).

       obra}enie k funkcii proizwoditsq po imeni w wide:

                           I=NAME([ARGUMENTS])

  zna~enie, wozwra}aemoe funkciej, movet bytx kodom o{ibki  ili  drugoj
  informaciej, kotoru` ispolxzuet wyzywa`}aq programma. smysl  zna~eniq
  opredelqetsq konkretnoj funkciej.

       podprogrammy wyzywa`tsq s pomo}x` operatora CALL w wide:

                         CALL NAME[(ARGUMENTS)]

       funkcii iz SYSLIB.OBJ mogut bytx  wyzwany  i  kak  podprogrammy,
  esli net neobhodimosti w polu~enii rezulxtiru`}ej weli~iny. naprimer:

          CALL  ITWAIT(ITIME)
          I = ITWAIT(ITIME)

       podprogrammy iz SYSLIB mogut bytx wyzwany kak funkcii, no  wozw-
  ra}aemoe zna~enie pri |tom ne opredeleno.

                                 - 165 -




       prime~aniq:
       1. w kwadratnyh skobkah budut ukazywatxsq  neobqzatelxnye  argu-
  menty.
       2. esli funkciq wypolnilasx prawilxno, to,  w  bolx{instwe  slu-
  ~aew, wozwra}aemoe e` zna~enie rawno 0.
       3. wozmovnostx wypolneniq funkcij i podprogramm pod  uprawleniem
  togo ili inogo monitora predstawlena w prilovenii 4.
       4. esli w opisanii priwedeno obra}enie k funkcii,  to  ee  movno
  wyzywatx i kak podprogrammu. esli priwedeno obra}enie k podprogramme,
  to pri wyzowe ee kak funkcii wozwra}aemoe zna~enie ne opredeleno.



       5.3.1. operacii s katalogami



       dlq wseh funkcij dannoj gruppy neobhodimo, ~toby drajwer ispolx-
  zuemogo ustrojstwa nahodilsq w pamqti. |ti funkcii nelxzq wyzywatx iz
  podprogrammy zawer{eniq i podprogrammy obrabotki prerywaniq.

       w obra}enii k funkciqm |toj gruppy ispolxzu`tsq ob}ie parametry:
  DBLK - massiw iz  4  slow,  soderva}ij  specifikaci`  fajla  (w  kode
  RADIX-50), ispolxzuemogo w operacii; CHAN - nomer kanala, u~astwu`}e-
  go w operacii.



   I=ICLOSE (CHAN)
    ili
   I=CLOSEC (CHAN)
         - zakrywaet fajl. kanal  oswobovdaetsq  dlq  drugoj  operacii.
           wyzow ignoriruetsq, esli kanal ne otkryt.

       funkciq wozwra}aet zna~enie:

           -4   - na nositele su}estwuet za}i}ennyj fajl s  analogi~nym
                  imenem; wypolnqetsq operaciq zakrytiq, na  ustrojstwe
                  budut dwa fajla s odinakowym imenem.

  I=IDELET (CHAN,DBLK[,SEGNUM])
         - udalqet zapisx o fajle iz kataloga wne{nego ustrojstwa. wre-
           menno ispolxzuemyj w operacii kanal CHAN dolven bytx  swobo-
           den. parametr SEGNUM ukazywaet nomer  fajla  w  operaciqh  s
           magnitnoj i kassetnoj lentami.

       funkciq wozwra}aet zna~enie:

           N    - pozicioniruet magnitnu` lentu na  fajl  s  posledowa-
                  telxnym nomerom N na lente;

           1    - kanal zanqt;

           2    - fajl ne najden;

           3    - ustrojstwo zakrepleno za drugim zadaniem;

           4    - fajl za}i}en; operaciq ignoriruetsq.

                                 - 166 -




  I=IENTER (CHAN,DBLK,LENGTH[,SEGNUM])
         - sozdaet nowyj fajl dlq wywoda i  swqzywaet  nomer  kanala  s
           ukazannym fajlom. LENGTH sodervit dlinu sozdawaemogo  fajla.
           parametr SEGNUM uprawlqet pozicionirowaniem  w  operaciqh  s
           magnitnoj i kassetnoj lentami.

       funkciq wozwra}aet zna~enie:

           N    - ~islo blokow, otwedennyh pod fajl;

           -1   - kanal zanqt;

           -2   - na nositele ne najden swobodnyj u~astok, dlina  koto-
                  rogo bolx{e ili rawna ukazannoj;

           -3   - ustrojstwo zakrepleno za drugim zadaniem;

           -4   - su}estwuet za}i}ennyj fajl s analogi~nym imenem;

           -5   - fajl s ukazannym posledowatelxnym nomerom ne najden.

  I=IRENAM (CHAN,DBLK)
         - wypolnqet pereimenowanie  fajla  (priswaiwaet  su}estwu`}emu
           fajlu nowoe imq i tip). w dwojnom bloke DBLK  perwye  ~etyre
           slowa sodervat staru` specifikaci` fajla, a sledu`}ie ~etyre
           slowa - nowu`. imq ustrojstwa w oboih  specifikaciqh  dolvno
           sowpadatx. wremenno ispolxzuemyj w operacii kanal CHAN  dol-
           ven bytx swoboden.

       funkciq wozwra}aet zna~enie:

           1    - kanal zanqt;

           2    - fajl ne najden;

           3    - su}estwuet za}i}ennyj fajl s analogi~nym imenem.

   I=LOOKUP (CHAN,DBLK[,COUNT,SEGNUM])
    ili
   I=LOOKUP (CHAN,JOBDES)
         - perwaq forma ustanawliwaet swqzx mevdu kanalom CHAN  i  ust-
           rojstwom ili su}estwu`}im  fajlom.  wtoraq  forma  swqzywaet
           kanal s drugim zadaniem dlq obmena informaciej w RT11FB(XM).
           imq zadaniq ukazywaetsq w massiwe JOBDES  iz  4  slow.  esli
           JOBDES opu}en, to kanal otkrywaetsq  dlq  ~teniq  iz  l`bogo
           zadaniq. parametr SEGNUM ukazywaet nomer fajla w operaciqh s
           magnitnoj lentoj. parametr COUNT ispolxzuetsq dlq uprawleniq
           kassetnoj magnitnoj lentoj.

       funkciq wozwra}aet zna~enie:

           N    - ~islo blokow w otkrytom fajle;

           -1   - kanal zanqt;

           -2   - fajl ne najden;

           -3   - ustrojstwo zakrepleno za drugim zadaniem;

                                 - 167 -




           -4   - nedostupen ukazannyj lentoprotqvnyj mehanizm.



       5.3.2. operacii wwoda/wywoda



       pri obra}enii k funkciqm |toj gruppy ispolxzu`tsq parametry:

  BUF    - massiw, soderva}ij peredawaemye ili prinimaemye dannye;

  WCNT   - s~et~ik peredawaemyh ili prinimaemyh slow;

  CRTN   - podprogramma zawer{eniq;

  CHAN   - nomer ispolxzuemogo w operacii kanala;

  BLK    - nomer bloka w fajle, s kotorogo na~inaetsq operaciq;

  AREA   - massiw iz 4 slow dlq informacii o swqzqh.



  I=IREAD (WCNT,BUF,BLK,CHAN)
         - ustanawliwaet w o~eredx zapros na ~tenie informacii iz fajla
           po ukazannomu kanalu i wozwra}aet uprawlenie programme.

       funkciq wozwra}aet zna~enie:

           N    - ~islo pro~itannyh slow;

           -1   - byla sdelana popytka ~teniq posle konca fajla;

           -2   - w kanale proizo{la apparatnaq o{ibka;

           -3   - kanal ne otkryt.

  I=IREADC (WCNT,BUF,BLK,CHAN,CRTN)
         - ustanawliwaet w o~eredx zapros na ~tenie informacii iz fajla
           po ukazannomu kanalu i wozwra}aet uprawlenie programme. pos-
           le zawer{eniq operacii budet wypolnena podprogramma zawer{e-
           niq, napisannaq na makroassemblere.

       funkciq wozwra}aet zna~enie:

           N    - ~islo pro~itannyh slow;

           -1   - byla sdelana popytka ~teniq posle konca fajla;

           -2   - w kanale proizo{la apparatnaq o{ibka;

           -3   - kanal ne otkryt.

  I=IREADF (WCNT,BUF,BLK,CHAN,AREA,CRTN)
         - ustanawliwaet w o~eredx zapros na ~tenie informacii iz fajla
           po ukazannomu kanalu i wozwra}aet uprawlenie programme. pos-
           le zawer{eniq operacii budet wypolnena podprogramma zawer{e-
           niq, napisannaq na fortrane.

                                 - 168 -




       funkciq wozwra}aet zna~enie:

           N    - ~islo pro~itannyh slow;

           -1   - byla sdelana popytka ~teniq posle konca fajla;

           -2   - w kanale proizo{la apparatnaq o{ibka;

           -3   - kanal ne otkryt.

  I=IREADW (WCNT,BUF,BLK,CHAN)
         - ustanawliwaet w o~eredx zapros na ~tenie informacii iz fajla
           po ukazannomu kanalu. wozwra}aet uprawlenie programme  posle
           zawer{eniq operacii.

       funkciq wozwra}aet zna~enie:

           N    - ~islo pro~itannyh slow;

           -1   - byla sdelana popytka ~teniq posle konca fajla;

           -2   - w kanale proizo{la apparatnaq o{ibka;

           -3   - kanal ne otkryt.

  I=ITTINR ()
         - s~itywaet odin znak  s  sistemnogo  terminala.  revim  wwoda
           zadaetsq bitami 6 i 12 slowa sostoqniq zadaniq JSW.

       funkciq wozwra}aet zna~enie:

           >0   - oby~nyj wyhod; simwol pro~itan;

           <0   - bufer wwoda pust; simwol ne wweden.

  I=ITTOUR (CHAR)
         - peredaet odin  znak  na  sistemnyj  terminal.  revim  wywoda
           zadaetsq bitom {estx slowa sostoqniq zadaniq JSW.

       funkciq wozwra}aet zna~enie:

           1    - kolxcewoj bufer polon.

  I=IWAIT (CHAN)
         - perewodit programmu w sostoqnie ovidaniq zawer{eniq operacij
           wwoda/wywoda po ukazannomu kanalu.  podprogrammy  zawer{eniq
           prodolva`t funkcionirowatx.

       funkciq wozwra}aet zna~enie:

           1    - kanal ne otkryt;

           2    - wo wremq predydu}ej operacii wwoda/wywoda po  dannomu
                  kanalu byla zafiksirowana apparatnaq o{ibka.

  I=IWRITE (WCNT,BUF,BLK,CHAN)
         - ustanawliwaet w o~eredx zapros na pereda~u informacii w fajl
           po ukazannomu kanalu i wozwra}aet uprawlenie programme.


                                 - 169 -




       funkciq wozwra}aet zna~enie:

           N    - ~islo zapisannyh slow;

           -1   - byla sdelana popytka zapisi posle konca fajla;

           -2   - na ustrojstwe proizo{la apparatnaq o{ibka;

           -3   - kanal ne otkryt.

  I=IWRITC (WCNT,BUF,BLK,CHAN,CRTN)
         - ustanawliwaet w o~eredx zapros na pereda~u informacii w fajl
           po ukazannomu kanalu i wozwra}aet uprawlenie programme. pos-
           le zawer{eniq operacii budet wypolnena podprogramma zawer{e-
           niq, napisannaq na makroassemblere.

       funkciq wozwra}aet zna~enie:

           N    - ~islo zapisannyh slow;

           -1   - byla sdelana popytka zapisi posle konca fajla;

           -2   - na ustrojstwe proizo{la apparatnaq o{ibka;

           -3   - kanal ne otkryt.

  I=IWRITF (WCNT,BUF,BLK,CHAN,AREA,CRTN)
         - ustanawliwaet w o~eredx zapros na pereda~u informacii w fajl
           po ukazannomu kanalu i wozwra}aet uprawlenie programme. pos-
           le zawer{eniq operacii budet wypolnena podprogramma zawer{e-
           niq, napisannaq na fortrane.

       funkciq wozwra}aet zna~enie:

           N    - ~islo zapisannyh slow;

           -1   - byla sdelana popytka zapisi posle konca fajla;

           -2   - na ustrojstwe proizo{la apparatnaq o{ibka;

           -3   - kanal ne otkryt.

  I=IWRITW (WCNT,BUFF,BLK,CHAN)
         - ustanawliwaet w o~eredx zapros na pereda~u informacii w fajl
           po ukazannomu kanalu. wozwra}aet uprawlenie programme  posle
           okon~aniq operacii.

       funkciq wozwra}aet zna~enie:

           N    - ~islo zapisannyh slow;

           -1   - byla sdelana popytka zapisi posle konca fajla;

           -2   - na ustrojstwe proizo{la apparatnaq o{ibka;

           -3   - kanal ne otkryt.


                                 - 170 -




  CALL PRINT (STRING)
         - raspe~atywaet ukazannu` stroku STRING na sistemnom  termina-
           le.

  I=ISPFN (CODE,CHAN[,WCNT,BUF,BLK])
         - ustanawliwaet zapros na  wypolnenie  specialxnoj  funkcii  s
           kodom CODE po  ukazannomu  kanalu  w  o~eredx  i  wozwra}aet
           uprawlenie programme.

       funkciq wozwra}aet zna~enie:

           1    - byla sdelana popytka ~itatx ili  pisatx  posle  konca
                  fajla;

           2    - na ustrojstwe proizo{la apparatnaq o{ibka;

           3    - kanal ne otkryt.

  I=ISPFNC (CODE,CHAN,WCNT,BUFF,BLK,CRTN)
         - ustanawliwaet zapros na  wypolnenie  specialxnoj  funkcii  s
           kodom CODE po  ukazannomu  kanalu  w  o~eredx  i  wozwra}aet
           uprawlenie programme. posle okon~aniq operacii budet  wypol-
           nena podprogramma zawer{eniq, napisannaq na makroassemblere.

       funkciq wozwra}aet zna~enie:

           1    - byla sdelana popytka ~itatx ili  pisatx  posle  konca
                  fajla;

           2    - proizo{la apparatnaq o{ibka na ustrojstwe;

           3    - kanal ne otkryt.

  I=ISPFNF (CODE,CHAN,WCNT,BUFF,BLK,AREA,CRTN)
         - ustanawliwaet zapros na  wypolnenie  specialxnoj  funkcii  s
           kodom CODE po  ukazannomu  kanalu  w  o~eredx  i  wozwra}aet
           uprawlenie programme. posle okon~aniq operacii budet  wypol-
           nena podprogramma zawer{eniq, napisannaq na fortrane.

       funkciq wozwra}aet zna~enie:

           1    - byla sdelana popytka ~itatx ili  pisatx  posle  konca
                  fajla;

           2    - proizo{la apparatnaq o{ibka na ustrojstwe;

           3    - kanal ne otkryt.

  I=ISPFNW (CODE,CHAN[,WCNT,BUFF,BLK])
         - ustanawliwaet zapros na  wypolnenie  specialxnoj  funkcii  s
           kodom CODE po ukazannomu kanalu w o~eredx. wozwra}aet upraw-
           lenie programme posle okon~aniq operacii.

       funkciq wozwra}aet zna~enie:

           1    - byla sdelana popytka ~itatx ili  pisatx  posle  konca
                  fajla;

           2    - proizo{la apparatnaq o{ibka na ustrojstwe;

                                 - 171 -




           3    - kanal ne otkryt.



       5.3.3. rabota s kanalami



       dannaq gruppa  funkcij  ispolxzuetsq  dlq  polu~eniq  sprawo~noj
  informacii o kanalah, kopirowaniq informacii iz odnogo kanala w  dru-
  goj i t.d.



  I=ICDFN (NUM[,AREA])
         - opredelqet ~islo (NUM) kanalow  wwoda/wywoda.  ICDFN  nelxzq
           wyzywatx iz podprogramm zawer{eniq i  obrabotki  prerywanij.
           parametr AREA - massiw dlq zapisi informacii o kanalah. esli
           on ne ukazan, to pamqtx wydelqetsq w rabo~ej oblasti  ispol-
           nq`}ej sistemy fortrana.  dlina  massiwa  AREA  dolvna  bytx
           7*NUM dlq RT11XM i 5*NUM dlq ostalxnyh monitorow.

       funkciq wozwra}aet zna~enie:

           1    - byla sdelana popytka  opredelitx  menx{ee  koli~estwo
                  kanalow, ~em uve su}estwuet;

           2    - dlq zapisi informacii o kanalah malo pamqti.

  I=ICHCPY (CHAN,OCHAN[,JOBBLK])
         - pozwolqet ispolxzowatx  informaci`,  razme}ennu`  w  fajlah,
           otkrytyh sistemnym zadaniem (esli ukazan parametr  JOBBLK  -
           massiw iz 3 slow s imenem zadaniq w kode koi-7) ili otkrytyh
           w operatiwnom ili fonowom zadanii (esli JOBBLK  ne  ukazan).
           informaciq o kanale OCHAN kopiruetsq w  kanal  CHAN.  kanal,
           swqzannyj s ustrojstwom posledowatelxnogo dostupa, ne dolven
           kopirowatxsq.

       funkciq wozwra}aet zna~enie:

           1    - kanal OCHAN ne otkryt ili net drugogo zadaniq;

           2    - kanal CHAN zanqt.

  I=ICSTAT (CHAN,ADDR)
         - wozwra}aet status ukazannogo kanala CHAN w massiw ADDR iz  6
           slow. ADDR budet sodervatx informaci`, opisanie kotoroj pri-
           wedeno w makrokomande .CSTATUS.

       funkciq wozwra}aet zna~enie:

           1    - kanal ne otkryt.

  I=IFREEC (CHAN)
         - wozwra}aet kanal CHAN w spisok swobodnyh kanalow OTS fortra-
           na. IFREEC nelxzq wyzywatx iz podprogramm zawer{eniq i obra-
           botki prerywanij.

       funkciq wozwra}aet zna~enie:

                                 - 172 -




           1    - kanal ne otkryt.

  I=IGETC ()
         - izwlekaet kanal iz spiska swobodnyh kanalow OTS  fortrana  i
           predostawlqet ego polxzowatel`.  IGETC  nelxzq  wyzywatx  iz
           podprogramm zawer{eniq i obrabotki prerywanij.

       funkciq wozwra}aet zna~enie:

           N    - nomer wydelennogo kanala;

           -1   - net swobodnyh kanalow.

  I=ILUN (LUN)
         - wozwra}aet nomer kanala, swqzannogo s nomerom LUN logi~esko-
           go ustrojstwa fortrana.

       funkciq wozwra}aet zna~enie:

           N    - nomer kanala, swqzannogo s logi~eskim ustrojstwom;

           -1   - logi~eskoe ustrojstwo ne otkryto;

           -2   - logi~eskoe ustrojstwo qwlqetsq sistemnym terminalom.

  I=IREOPN (CHAN,CBLK)
         - powtorno otkrywaet kanal  CHAN,  predwaritelxno  zakrytyj  s
           pomo}x` funkcii ISAVES. CBLK - massiw iz 5-ti slow, soderva-
           }ij informaci`, zanesennu` funkciej ISAVES.

       funkciq wozwra}aet zna~enie:

           1    - kanal zanqt.

  I=ISAVES (CHAN,CBLK)
         - sohranqet pqtx slow informacii o  kanale  CHAN  w  ukazannom
           massiwe CBLK i oswobovdaet kanal dlq drugih celej.

       funkciq wozwra}aet zna~enie:

           1    - kanal ne otkryt;

           2    - kanal swqzan s fajlom,  otkrytym  s  pomo}x`  funkcii
                  IENTER; operaciq ignoriruetsq.

  CALL PURGE (CHAN)
         - o~i}aet kanal CHAN. delaet ego dostupnym dlq ispolxzowaniq w
           drugih celqh. zakrytie fajla ne proishodit.  esli  kanal  ne
           otkryt, operaciq ignoriruetsq.



       5.3.4. obrabotka komandnoj stroki



       funkcii dannoj  gruppy  predostawlq`t  polxzowatel`  wozmovnostx
  raboty s interpretatorom komandnoj stroki.

                                 - 173 -







  CALL GTLIN (RESULT[,PROMPT])
         - prinimaet stroku s terminala ili iz komandnogo fajla w  mas-
           siw RESULT. PROMPT - tekst,  wywodimyj  na  |kran  terminala
           pered wwodom stroki.

  I=IASIGN (LUN,IDEV[,IFILEX[,ISIZE[,ITYPE]]])
         - zanosit informaci` wo wnutrenn`` tablicu OTS fortrana,  swq-
           zywaq imq ustrojstwa IDEV w kode RAD50 s ukazannym  logi~es-
           kim nomerom LUN. parametr IFILEX - massiw iz 3 slow,  soder-
           va}ij imq i tip fajla w kode RAD50. parametr ISIZE ukazywaet
           dlinu sozdawaemogo fajla. parametr ITYPE opredelqet harakte-
           ristiki fajla. ITYPE polu~aetsq sloveniem  nivepere~islennyh
           weli~in:

            1   - ispolxzowatx dwojnu` buferizaci` dlq wywoda;

            2   - otkrytx fajl w ka~estwe wremennogo;

            4   - wypolnitx otkrytie fajla  funkciej  LOOKUP  wo  wremq
                  perwoj operacii wwoda/wywoda;  esli  |tot  razrqd  ne
                  ustanowlen, to funkciq, wypolnq`}aq  otkrytie  fajla,
                  opredelqetsq perwoj operaciej obmena (READ -  LOOKUP,
                  a WRITE - IENTER);

            8   - ispolxzowatx  standartnye  sogla{eniq   fortrana   ob
                  uprawlenii karetkoj (perwyj znak stroki  -  uprawlq`-
                  }ij);

           16   - ne ispolxzowatx perwyj  znak  stroki  dlq  uprawleniq
                  karetkoj;

           32   - fajl movno tolxko ~itatx.

       funkciq wozwra}aet zna~enie:

           >0 ili <0
                - operaciq ne byla wypolnena, t.k. logi~eskoe ustrojst-
                  wo zanqto ili net mesta w tablicah (~islo mest w tab-
                  licah OTS opredelqetsq pri translqcii programmy  kl`-
                  ~om /UNIT).

  I=ICSI (OUTSPC,TYP,[CSTRING],[SWITCH],NUM)
         - wyzywaet CSI w osobom revime i wozwra}aet w massiw OUTSPC iz
           39 slow specifikacii fajlow. zagruzka drajwerow  i  otkrytie
           fajlow ne proizwoditsq. parametr TYP  -  massiw  iz  4  slow
           sodervit tipy fajlow, ispolxzuemye  po  umol~ani`.  parametr
           CSTRING sodervit interpretiruemu` komandnu` stroku. esli  on
           opu}en, to stroka wwoditsq s terminala. NUM  sodervit  koli-
           ~estwo kl`~ej w tablice SWITCH (esli SWITCH  ne  ukazan,  to
           NUM dolven bytx rawen  0).  esli  kl`~  movet  poqwlqtxsq  w
           komandnoj stroke neskolxko raz, to on stolxko ve raz  dolven
           bytx opisan w massiwe SWITCH. opisanie kavdogo  kl`~a  imeet
           sledu`}ij format (N - nomer kl`~a):


                                 - 174 -




           SWITCH (1,N)
                - odnosimwolxnoe imq kl`~a w koi-7;

           SWITCH (2,N)
                - ustanawliwaetsq funkciej; 0, esli kl`~ otsutstwuet  w
                  komandnoj stroke; 1, esli kl`~ estx w komandnoj stro-
                  ke, no bez zna~eniq; 2, esli kl`~ estx i imeet zna~e-
                  nie;

           SWITCH (3,N)
                - nomer fajla, pri kotorom ukazan kl`~;

           SWITCH (4,N)
                - zna~enie kl`~a, esli SWITCH(2,N) rawen 2; esli zna~e-
                  nie kl`~a ~islowoe, to zanositsq weli~ina ~isla; esli
                  zna~enie kl`~a simwolxnoe, to zanositsq predstawlenie
                  simwola w kode RADIX-50.

       funkciq wozwra}aet zna~enie:

           1    - nedopustimaq komandnaq stroka; operaciq ignoriruetsq;

           2    - ukazano nedopustimoe imq ustrojstwa;

           3    - nedopustimyj kl`~ ili odin kl`~ ispolxzuetsq  bolx{ee
                  ~islo raz, ~em razre{eno tablicej SWITCH.



       5.3.5. rabota s tajmerom



       pri obra}enii k funkciqm  |toj  gruppy  ispolxzu`tsq  parametry:
  ITIME - massiw iz 2 slow ili weli~ina tipa INTEGER*4 dlq zapisi  wre-
  meni wo wnutrennem formate (perwoe slowo sodervit star{u` ~astx, wto-
  roe - mlad{u`);

           HRS  - celoe, soderva}ee ~islo ~asow;

           MIN  - celoe, soderva}ee ~islo minut;

           SEC  - celoe, soderva}ee ~islo sekund;

           TICK - celoe, soderva}ee ~islo tikow (1/50 sekundy);

           AREA - massiw iz 4 slow dlq informacii o swqzi;

           CRTN - imq podprogrammy zawer{eniq.



  CALL CVTTIM (ITIME,HRS,MIN,SEC,TICK)
         - preobrazuet zna~enie wo wnutrennem formate wremeni sistemno-
           go tajmera w ~asy, minuty, sekundy i tiki.

  CALL GTIM (ITIME)
         - wozwra}aet teku}ee wremq sutok wo wnutrennem formate.

                                 - 175 -




  I=ICMKT (ID,ITIME)
         - otmenqet odin (ID ne rawen 0)  ili  wse  zaprosy  (ID=0)  na
           zapusk podprogramm zawer{eniq po tajmeru. w ITIME  zanositsq
           wremq, ostaw{eesq do wypolneniq dannogo zaprosa.

       funkciq wozwra}aet zna~enie:

           1    - zapros s ukazannym ID ne najden.

  I=ISCHED (HRS,MIN,SEC,TICK,AREA,ID,CRTN)
         - planiruet zapusk podprogrammy zawer{eniq CRTN, napisannoj na
           qzyke fortran, w zadannoe wremq sutok.  ID  -  identifikator
           zaprosa.

       funkciq wozwra}aet zna~enie:

           1    - net swobodnogo |lementa o~eredi; operaciq ignoriruet-
                  sq.

  I=ISLEEP (HRS,MIN,SEC,TICK)
         - priostanawliwaet wypolnenie programmy na  zadannyj  interwal
           wremeni. podprogrammy zawer{eniq prodolva`t funkcionirowatx.

       funkciq wozwra}aet zna~enie:

           1    - net swobodnogo |lementa o~eredi; operaciq ignoriruet-
                  sq.

  I=ITIMER (HRS,MIN,SEC,TICK,AREA,ID,CRTN)
         - planiruet zapusk podprogrammy zawer{eniq CRTN, napisannoj na
           qzyke fortran, ~erez ukazannyj interwal wremeni. ID -  iden-
           tifikator zaprosa.

       funkciq wozwra}aet zna~enie:

           1    - net swobodnogo |lementa o~eredi; operaciq ignoriruet-
                  sq.

  I=ITWAIT (ITIME)
         - priostanawliwaet wypolnenie programmy na  interwal  wremeni,
           zadannyj wo wnutrennem formate. podprogrammy zawer{eniq pro-
           dolva`t funkcionirowatx.

       funkciq wozwra}aet zna~enie:

           1    - net swobodnogo |lementa o~eredi; operaciq ignoriruet-
                  sq.

  I=IUNTIL (HRS,MIN,SEC,TICK)
         - priostanawliwaet wypolnenie programmy do  zadannogo  wremeni
           sutok. podprogrammy zawer{eniq prodolva`t funkcionirowatx.

       funkciq wozwra}aet zna~enie:

           1    - net swobodnogo |lementa o~eredi; operaciq ignoriruet-
                  sq.


                                 - 176 -




  I=JTIME (HRS,MIN,SEC,TICK,ITIME)
         - preobrazuet ~asy, minuty, sekundy i tiki w zna~enie wo wnut-
           rennem formate.

  I=MRKT (ID,CRTN,ITIME)
         - planiruet zapusk podprogrammy zawer{eniq CRTN, napisannoj na
           makroassemblere,  ~erez  ukazannyj  wo  wnutrennem   formate
           interwal wremeni. ID - identifikator zaprosa.

       funkciq wozwra}aet zna~enie:

           1    - net swobodnogo |lementa o~eredi; operaciq ignoriruet-
                  sq.

  A=SECNDS (ATIME)
         - wozwra}aet zna~enie tipa REAL*4 (teku}ee  wremq  w  sekundah
           minus ukazannaq weli~ina ATIME tipa REAL*4).

  CALL TIMASC (ITIME,STRING)
         - preobrazuet zna~enie sistemnogo wremeni wo wnutrennem forma-
           te w stroku STRING iz 8 simwolow (~~:mm:ss -  ~asy,  minuty,
           sekundy) w koi-7.

  CALL TIME (STRING)
         - wozwra}aet teku}ee wremq dnq w stroku STRING iz  8  simwolow
           (~asy, minuty, sekundy) w koi-7.



       5.3.6. ob}ego nazna~eniq



       funkcii dannoj gruppy  prednazna~eny  dlq  dostupa  iz  programm
  polxzowatelq k dopolnitelxnym sredstwam monitorow.



  CALL CHAIN (DBLK,VAR,WCNT)
         - peredaet uprawlenie drugoj fonowoj  programme,  specifikaciq
           fajla kotoroj ukazana w massiwe DBLK iz 4 slow w kode RAD50:

           VAR  - peremennaq, soderva}aq perwoe slowo informacii, pere-
                  dawaemoj w drugu` programmu;

           WCNT - ~islo slow w |toj informacii (ne bolee 60).  informa-
                  ciq dolvna bytx wyrownena na granicu slowa. obra}enie
                  k peredannym dannym  osu}estwlqetsq  wyzowom  RCHAIN.
                  logi~eskie ustrojstwa fortrana  pered  wyzowom  CHAIN
                  dolvny bytx zakryty.

  CALL DEVICE (ILIST[,LINK])
         - podprogramma pozwolqet zadatx spisok ILIST adresow i  zna~e-
           nij, kotorye po zawer{eni` programmy  zapisywa`tsq  po  |tim
           adresam (perwoe slowo sodervit adres, wtoroe  -  zna~enie  i
           t.d.; zakan~iwaetsq nulewym  slowom).  LINK  ukazywaet,  ~to
           ispolxzuetsq swqznyj spisok tablic


                                 - 177 -




  I=GTJB (ADDR[,JOBBLK])
         - wozwra}aet parametry zadaniq, ukazannogo w massiwe JOBBLK iz
           3 slow w koi-7. massiw ADDR (12 slow) budet  sodervatx  sle-
           du`}u` informaci`: nomer zadaniq; werhnqq granica ispolxzue-
           moj pamqti; nivnqq granica ispolxzuemoj pamqti; ukazatelx na
           na~alo oblasti kanalow wwoda/wywoda; adres sme{annoj oblasti
           (dlq RT11FB(XM)) ili 0 (dlq RT11SJ); nomer wydelennogo  sis-
           temnogo terminala; wirtualxnaq  werhnqq  granica,  esli  pri
           komponowke ispolxzowalsq kl`~ /V (dlq RT11XM),  w  protiwnom
           slu~ae 0; dwa slowa zarezerwirowany dlq dalxnej{ego  ispolx-
           zowaniq; logi~eskoe imq zadaniq w koi-7 (3 slowa).

       funkciq wozwra}aet zna~enie:

           1    - zadanie otsutstwuet.

  I=IDSTAT (DEVNAM,CBLK)
         - wozwra}aet status ustrojstwa, ukazannogo zna~eniem DEVNAM  w
           kode RAD50, w massiw CBLK iz 4 slow. IDSTAT ne  movet  wyzy-
           watxsq iz podprogramm zawer{eniq ili  obrabotki  prerywanij.
           CBLK imeet format: status ustrojstwa; razmer  drajwera  ust-
           rojstwa w bajtah; adres to~ki  whoda  w  drajwer  (nenulewoe
           zna~enie ozna~aet, ~to drajwer zagruven  w  pamqtx);  razmer
           ustrojstwa w blokah po 256  slow  dlq  ustrojstw  s  blo~noj
           strukturoj, w protiwnom slu~ae 0.

       funkciq wozwra}aet zna~enie:

           1    - ustrojstwo ne najdeno w tablicah monitora.

  I=IFETCH (DEVNAM)
         - zagruvaet w operatiwnu` pamqtx drajwer ustrojstwa, ukazanno-
           go zna~eniem DEVNAM w kode RAD50. IFETCH ne movet wyzywatxsq
           iz podprogramm zawer{eniq ili obrabotki prerywanij, a  takve
           iz operatiwnogo i sistemnyh zadanij.

       funkciq wozwra}aet zna~enie:

           1    - ukazannoe ustrojstwo otsutstwuet w tablicah monitora;

           2    - net mesta w pamqti dlq zagruzki drajwera;

           3    - otsutstwuet drajwer ukazannogo ustrojstwa na  sistem-
                  nom nositele.

  I=IQSET (QLENG[,AREA])
         - uweli~iwaet koli~estwo |lementow o~eredi na QLENG |lementow.
           AREA - massiw, wydelqemyj pod |lementy o~eredi. dlina massi-
           wa dolvna bytx 10*QLENG dlq RT11XM i 7*QLENG  dlq  ostalxnyh
           monitorow. esli on ne ukazan, pamqtx  wydelqetsq  w  rabo~ej
           oblasti ispolnq`}ej sistemy fortrana. IQSET ne  movet  wyzy-
           watxsq iz podprogramm zawer{eniq ili obrabotki prerywanij.

       funkciq wozwra}aet zna~enie:

           1    - net pamqti dlq ukazannogo  ~isla  |lementow  o~eredi;
                  operaciq ignoriruetsq.


                                 - 178 -




  I=ITLOCK ()
         - wypolnqet prowerku zanqtosti USR drugoj programmoj; esli USR
           swobodna, to wypolnqet operaci` LOCK.

       funkciq wozwra}aet zna~enie:

           1    - USR ispolxzuetsq drugim zadaniem.

  CALL LOCK
         - zakreplqet USR w pamqti do wypolneniq UNLOCK.  ob'qwlqet  ee
           zanqtoj dannym zadaniem. esli USR zanqta drugim zadaniem, to
           teku}ee budet priostanowleno do oswobovdeniq USR.

  CALL RCHAIN (FLAG,VAR,WCNT)
         - priem informacii (zna~enij peremennyh) pri pereda~e uprawle-
           niq iz drugoj fonowoj programmy  po  CHAIN.  esli  programma
           wyzwana po CHAIN, to FLAG ustanawliwaetsq w 1. esli program-
           ma wyzwana po komande monitora RUN, to FLAG rawen  0.  para-
           metry prinima`tsq w massiw VAR. WCNT -  koli~estwo  prinqtyh
           slow.

  CALL RCTRLO
         - razre{aet wywod  na  sistemnyj  terminal,  otmenqq  dejstwie
           komandy <CTRL/O>, wwedennoj s terminala.

  CALL RESUME
         - prodolvaet wypolnenie osnownoj  programmy,  priostanowlennoj
           po SUSPND. ispolxzuetsq tolxko w RT11FB(XM) i NTS w podprog-
           rammah zawer{eniq.

  CALL SCCA [(IFLAG)]
         - zapre}aet  zawer{enie   programmy   po   komande   operatora
           <CTRL/C>.   pozwolqet   programme   razli~atx   <CTRL/C>   i
           <CTRL/C><CTRL/C>, ustanawliwaq IFLAG (pri dwojnom <CTRL/C>),
           kotoryj predwaritelxno dolven bytx obnulen. pri wyzowe  SCCA
           bez argumenta zapre}enie otmenqetsq.

  CALL SETCMD (STRING)
         - opredelqet stroku STRING komandy,  kotoraq  budet  wypolnena
           monitorom posle zawer{eniq programmy.

  CALL SUSPND
         - priostanawliwaet wypolnenie osnownoj programmy. podprogrammy
           zawer{eniq prodolva`t funkcionirowatx.

  CALL UNLOCK
         - oswobovdaet USR, zakreplennu` w pamqti po LOCK dlq ispolxzo-
           waniq drugimi programmami.

  I=IADDR(ARG)
         - wozwra}aet 16-razrqdnyj adres argumenta ARG.

  I=IGETSP(MIN,MAX,ADDR)
         - wozwra}aet w ADDR adres, a w zna~enii funkcii razmer swobod-
           noj pamqti, wydelennoj po |tomu zaprosu iz resursa OTS fort-
           rana. MIN i MAX - minimalxnyj i maksimalxnyj razmer oblasti,
           kotoru` neobhodimo polu~itx.

       funkciq wozwra}aet zna~enie:

                                 - 179 -




           -1   - net swobodnoj pamqti; operaciq ignoriruetsq;

           >0   - fakti~eskij razmer wydelennoj pamqti.

  I=INTSET(VECT,PRI,ID,CRTN)
         - opredelqet podprogrammu CRTN fortrana w ka~estwe podprogram-
           my obrabotki prerywanij s wektorom VECT i na prioritete  PRI
           processora. ID  -  celo~islennaq  weli~ina,  peredawaemaq  w
           podprogrammu obrabotki prerywaniq pri ee wyzowe.

       funkciq wozwra}aet zna~enie:

           1    - dano newernoe opisanie wektora;

           3    - otsutstwuet swobodnaq oblastx dlq informacii  o  swq-
                  zqh.

  I=IPEEK(IADDR)
         - wozwra}aet sodervimoe  q~ejki  pamqti  s  ukazannym  adresom
           IADDR.

  I=IPEEKB(IADDR)
         - wozwra}aet sodervimoe bajta s ukazannym adresom IADDR.

  CALL IPOKE (IADDR,IVALUE)
         - zanosit celoe zna~enie IVALUE po  ukazannomu  adresu  pamqti
           IADDR.

  CALL IPOKEB (IADDR,IVALUE)
         - zanosit celoe zna~enie  IVALUE  w  bajt,  ukazannyj  adresom
           IADDR.

  I=ISPY(IOFF)
         - wozwra}aet celoe zna~enie  sodervimogo  q~ejki  rezidentnogo
           monitora po sme}eni` IOFF otnositelxno ego na~ala.



       5.3.7. obmen mevdu zada~ami (RT11FB(XM))



       w obra}enii k funkciqm |toj gruppy ispolxzu`tsq parametry:

           BUF  - massiw, soderva}ij peredawaemye ili prinimaemye  dan-
                  nye;

           WCNT - s~et~ik peredawaemyh ili prinimaemyh slow;

           CRTN - podprogramma zawer{eniq;

           AREA - massiw iz 4 slow dlq informacii o swqzqh.



  I=IRCVD (BUF,WCNT)
         - ustanawliwaet w o~eredx zapros na priem soob}eniq ot drugogo
           zadaniq i wozwra}aet uprawlenie programme. posle  zawer{eniq
           operacii perwoe slowo BUF budet sodervatx  ~islo  peredannyh

                                 - 180 -




           slow, po|tomu ego dlina dolvna bytx  na  odno  slowo  bolx{e
           zna~eniq WCNT.

       funkciq wozwra}aet zna~enie:

           1    - otsutstwuet operatiwnoe zadanie.

  I=IRCVDC (BUF,WCNT,CRTN)
         - ustanawliwaet w o~eredx zapros na priem soob}eniq ot drugogo
           zadaniq i wozwra}aet uprawlenie programme. posle  zawer{eniq
           operacii perwoe slowo BUF budet sodervatx  ~islo  peredannyh
           slow, po|tomu ego dlina dolvna bytx  na  odno  slowo  bolx{e
           zna~eniq WCNT. posle zawer{eniq operacii budet wyzwana podp-
           rogramma zawer{eniq, napisannaq na makroassemblere.

       funkciq wozwra}aet zna~enie:

           1    - otsutstwuet operatiwnoe zadanie.

  I=IRCVDF (BUF,WCNT,AREA,CRTN)
         - ustanawliwaet w o~eredx zapros na priem soob}eniq ot drugogo
           zadaniq i wozwra}aet uprawlenie programme. posle  zawer{eniq
           operacii perwoe slowo BUF budet sodervatx  ~islo  peredannyh
           slow, po|tomu ego dlina dolvna bytx  na  odno  slowo  bolx{e
           zna~eniq WCNT. posle zawer{eniq operacii budet wyzwana podp-
           rogramma zawer{eniq, napisannaq na fortrane.

       funkciq wozwra}aet zna~enie:

           1    - otsutstwuet operatiwnoe zadanie.

  I=IRCVDW (BUF,WCNT)
         - ustanawliwaet w o~eredx zapros na priem soob}eniq ot drugogo
           zadaniq. wypolnenie programmy priostanawliwaetsq do  okon~a-
           niq operacii. posle zawer{eniq  operacii  perwoe  slowo  BUF
           budet sodervatx ~islo peredannyh  slow,  po|tomu  ego  dlina
           dolvna bytx na odno slowo bolx{e zna~eniq WCNT.

       funkciq wozwra}aet zna~enie:

           1    - otsutstwuet operatiwnoe zadanie.

  I=ISDAT (BUF,WCNT)
         - ustanawliwaet w o~eredx zapros na pereda~u soob}eniq drugomu
           zadani` i wozwra}aet uprawlenie programme.

       funkciq wozwra}aet zna~enie:

           1    - otsutstwuet operatiwnoe zadanie.

  I=ISDATC (BUF,WCNT,CRTN)
         - ustanawliwaet w o~eredx zapros na pereda~u soob}eniq drugomu
           zadani` i wozwra}aet uprawlenie programme. posle  zawer{eniq
           operacii budet wypolnena podprogramma zawer{eniq, napisannaq
           na makroassemblere.

       funkciq wozwra}aet zna~enie:

           1    - otsutstwuet operatiwnoe zadanie.

                                 - 181 -




  I=ISDATF (BUF,WCNT,AREA,CRTN)
         - ustanawliwaet w o~eredx zapros na pereda~u soob}eniq drugomu
           zadani` i wozwra}aet uprawlenie programme. posle  zawer{eniq
           operacii budet wypolnena podprogramma zawer{eniq, napisannaq
           na fortrane.

       funkciq wozwra}aet zna~enie:

           1    - otsutstwuet operatiwnoe zadanie.

  I=ISDATW (BUF,WCNT)
         - ustanawliwaet w o~eredx zapros na pereda~u soob}eniq drugomu
           zadani`. wozwra}aet uprawlenie  programme  posle  zawer{eniq
           operacii.

       funkciq wozwra}aet zna~enie:

           1    - otsutstwuet operatiwnoe zadanie.

  CALL MWAIT
         - priostanawliwaet wypolnenie programmy do  zawer{eniq  obmena
           soob}eniqmi mevdu zadaniqmi.



       5.3.8. rabota  s   dopolnitelxnymi   terminalami   (RT11
              SJ...XM)



       funkcii dannoj  gruppy  predostawlq`t  wozmovnostx  iz  programm
  polxzowatelq uprawlqtx rabotoj dopolnitelxnyh terminalow. wozmovnostx
  raboty s dopolnitelxnymi terminalami zadaetsq pri generacii sistemy.



  CALL MTATCH (UNIT[,ADDR][,JOBN])
         - zakreplqet terminal s nomerom UNIT  za  programmoj.  ADDR  -
           peremennaq, kotoraq budet sodervatx asinhronnoe  slowo  sos-
           toqniq terminala. esli  terminal  uve  zakreplen  za  drugim
           zadaniem, to JOBN budet sodervatx nomer |togo zadaniq.

       funkciq wozwra}aet zna~enie:

           3    - zadan nomer nesu}estwu`}ego terminala;

           5    - terminal zakreplen za drugoj zada~ej;

           6    - w RT11XM adres slowa sostoqniq nahoditsq  wne  granic
                  zadaniq.

  CALL MTDTCH (UNIT)
         - oswobovdaet terminal s nomerom UNIT.

       funkciq wozwra}aet zna~enie:

           2    - terminal ne prinadlevit zadani`;

           3    - zadan nomer nesu}estwu`}ego terminala.

                                 - 182 -




  I=MTGET(UNIT,ADDR[,JOBN])
         - wozwra}aet sprawo~nu` informaci` o terminale s nomerom  UNIT
           w massiw ADDR iz 4-h slow. esli terminal zakreplen za drugim
           zadaniem, to JOBN budet sodervatx nomer |togo zadaniq.

       funkciq wozwra}aet zna~enie:

           2    - terminal ne prinadlevit zadani`;

           3    - zadan nomer nesu}estwu`}ego terminala;

           4    - terminal zakreplen za drugoj zada~ej;

           6    - w RT11XM adres  massiwa  ADDR  nahoditsq  wne  granic
                  zadaniq.

  I=MTIN(UNIT,CHAR[,CHRCNT][,OCNT])
         - wypolnqet s~itywaenie znaka (znakow) s terminala  s  nomerom
           UNIT w CHAR. CHRCNT - koli~estwo s~itywaemyh znakow. OCNT  -
           koli~estwo fakti~eski s~itannyh znakow.

       funkciq wozwra}aet zna~enie:

           1    - bufer terminala pust;

           2    - terminal ne prinadlevit zadani`;

           3    - zadan nomer nesu}estwu`}ego terminala.

  I=MTOUT(UNIT,CHAR[,CHRCNT][,OCNT])
         - wywodit znak (znaki) na terminal s  nomerom  UNIT  iz  CHAR.
           CHRCNT - koli~estwo wywodimyh znakow. OCNT - koli~estwo fak-
           ti~eski wywedennyh znakow.

       funkciq wozwra}aet zna~enie:

           1    - net mesta w bufere terminala;

           2    - terminal ne prinadlevit zadani`;

           3    - zadan nomer nesu}estwu`}ego terminala;

           5    - w RT11XM adres bufera CHAR nahoditsq wne granic zada-
                  niq.

  CALL MTPRNT (UNIT,ADDR)
         - wywodit stroku ADDR na terminal s nomerom UNIT.

       funkciq wozwra}aet zna~enie:

           2    - terminal ne prinadlevit zadani`;

           3    - zadan nomer nesu}estwu`}ego terminala;

           5    - w RT11XM adres stroki ADDR nahoditsq wne granic zada-
                  niq.


                                 - 183 -




  CALL MTRCTO (UNIT)
         - otmenqet dejstwie komandy <CTRL/O>, wwedennoj s terminala  s
           nomerom UNIT.

       funkciq wozwra}aet zna~enie:

           2    - terminal ne prinadlevit zadani`;

           3    - zadan nomer nesu}estwu`}ego terminala.

  I=MTSET(UNIT,ADDR)
         - ustanawliwaet harakteristiki terminala s nomerom UNIT, zapi-
           sannye w massiwe ADDR iz 4 slow.

       funkciq wozwra}aet zna~enie:

           2    - terminal ne prinadlevit zadani`;

           3    - zadan nomer nesu}estwu`}ego terminala;

           6    - w RT11XM adres  massiwa  ADDR  nahoditsq  wne  granic
                  zadaniq.

  I=MTSTAT(ADDR)
         - wozwra}aet w massiw ADDR iz 8 slow zna~eniq parametrow  mno-
           goterminalxnoj sistemy. massiw ADDR budet sodervatx  sledu`-
           }u` informaci`:  sme}enie  ot  nivnej  granicy  rezidentnogo
           monitora do perwogo bloka uprawleniq terminalom; sme}enie ot
           nivnej granicy rezidentnogo  monitora  do  bloka  uprawleniq
           sistemnym terminalom; ~islo blokow uprawleniq  terminalom  w
           sisteme; ob'em bloka uprawleniq terminalom w bajtah;  ~etyre
           slowa zarezerwirowany.

       funkciq wozwra}aet zna~enie:

           5    - w RT11XM adres  massiwa  ADDR  nahoditsq  wne  granic
                  zadaniq.



       5.3.9. sluvebnye (os NTS)



       funkcii dannoj gruppy da`t wozmovnostx ispolxzowatx dopolnitelx-
  nye sredstwa os NTS.



  CALL IBLIN (BUF,BUFSIZ,BCNT[,IERR])
         - s~itywaet s terminala znaki w bufer BUF  do  ego  zapolneniq
           (dlina BUFSIZ) ili poka ne budet wweden odin iz znakow akti-
           wacii. posle zawer{eniq operacii BCNT sodervit ~islo  dejst-
           witelxno wwedenyh znakow.

       w IERR wozwra}aetsq zna~enie:

           1    - bufer polnostx` zapolnen.

                                 - 184 -




  CALL IBLOUT (BUF,BCNT)
         - wywodit na terminal  bolx{u`  porci`  informacii  (blok)  iz
           bufera s adresom BUF dlinnoj BCNT (w bajtah).  ispolxzowanie
           dannoj funkcii pozwolqet su}estwenno menx{e zagruvatx  cent-
           ralxnyj processor pri wywode  na  terminal  po  srawneni`  s
           funkciej ITTOUR.

  CALL IBREAK (CHAR,CRTN)
         - opredelqet podprogrammu zawer{eniq CRTN, kotoroj mikrgo os/4
           peredaet uprawlenie pri wwode s terminala znaka s  ukazannym
           kodom CHAR. powtornoe wypolnenie dannoj funkcii otmenqet  ee
           predydu}ee dejstwie. esli  w  ka~estwe  adresa  podprogrammy
           zawer{eniq ukazatx 0, to dejstwie poslednej  funkcii  IBREAK
           otmenqetsq.

  I=IDISMO (DEVICE)
         - prekra}aet k|{irowanie kataloga ukazannogo ustrojstwa  (ana-
           logi~no komande monitora DISMOUNT). DEVICE - peremennaq  ili
           konstanta, soderva}aq imq ustrojstwa w kode RAD50.

  I=IFRSPL ()
         - wozwra}aet ~islo swobodnyh blokow w bufernom fajle podsiste-
           my spulinga.

  CALL IHIOF ()
         - otmenqet wysoko|ffektiwnyj revim raboty s terminalom.

  CALL IHION ()
         - perewodit programmu w wysoko|ffektiwnyj revim raboty s  ter-
           minalom. w |tom revime raboty ne proizwoditsq prowerok pere-
           dawaemyh znakow na uprawlq`}ie simwoly. specialxnym  obrazom
           obrabatywa`tsq tolxko znaki aktiwacii, opredelennye  polxzo-
           watelem (pri |tom dolven bytx opredelen hotq  by  odin  znak
           aktiwacii).

  I=IMOUNT (DEVICE)
         - razre{aet k|{irowanie kataloga ukazannogo ustrojstwa (analo-
           gi~no komande monitora MOUNT). DEVICE - peremennaq ili kons-
           tanta, soderva}aq imq ustrojstwa w kode RAD50.

       funkciq wozwra}aet zna~enie:

           1    - tablica ustrojstw, katalogi kotoryh k|{iru`tsq, pere-
                  polnena.

  CALL IMSEND (LINE,ADDR)
         - pozwolqet wywesti stroku soob}eniq iz massiwa ADDR na termi-
           nal s nomerom  LINE  (fizi~esku`  lini`).  soob}enie  dolvno
           zakan~iwatxsq nulewym bajtom.

  CALL ISETODT ()
         - ispolxzuetsq dlq ukazaniq neobhodimosti aktiwacii  programmy
           pri wwode znakow, trebuemyh otlad~iku TSODT. w  |tom  revime
           os NTS rassmatriwaet wse znaki w ka~estwe znakow  aktiwacii,
           za iskl`~eniem cifr, ",", "$" i ";".

  CALL IRSTODT ()
         - otmenqet dejstwie funkcii ISETODT.

                                 - 185 -




  I=ITRMTYPE ()
         - wozwra}aet ~islo, opredelq`}ee tip terminala,  swqzannogo  s
           liniej, na kotoroj zapu}ena programma.

  I=ITSLINE ()
         - wozwra}aet nomer linii, swqzannoj s  programmoj.  wse  linii
           numeru`tsq w os  NTS  s  edinicy:  sna~ala  idut  fizi~eskie
           linii, zatem idut linii dlq awtonomnyh  zadanij,  poslednimi
           numeru`tsq wirtualxnye linii.

  I=ITSACT ()
         - opredelqet nali~ie w bufere terminala znaka  aktiwacii,  e}e
           ne s~itannogo programmoj.

       funkciq wozwra}aet zna~enie:

           0    - w bufere wwoda terminala net ni odnogo znaka  aktiwa-
                  cii;

           1    - po krajnej mere odin znak  aktiwacii  estx  w  bufere
                  wwoda terminala.

  I=ITSTER ()
         - pozwolqet opredelitx nali~ie o{ibok pri wwode  s  terminala,
           podkl`~ennogo na posledowatelxnyj interfejs.

       funkciq wozwra}aet zna~enie:

           0    - pri wwode s terminala o{ibok ne proizo{lo;

           1    - obnaruvena o{ibka pri wwode s terminala.

  I=ITSTOP (TOPADR)
         - prednazna~ena dlq dinami~eskogo  izmeneniq  razmera  pamqti,
           wydelennoj  programme.  TOPADR  -  zapra{iwaemyj  programmoj
           werhnij adres operatiwnoj pamqti. posle wypolneniq  operacii
           w  ka~estwe  zna~eniq  funkcii  wozwra}aetsq  dejstwitelxnyj
           werhnij adres, dostupnyj programme.

  CALL ITTIME (TIME,CHAR)
         - zadaet tajm-aut (interwal wremeni)  dlq  sledu`}ej  operacii
           wwoda s terminala. zadaet maksimalxnoe wremq, kotoroe dopus-
           timo mevdu wyda~ej zaprosa na wwod  i  zawer{eniem  wwoda  s
           klawiatury (naprimer, zawer{enie wwoda stroki). TIME -  mas-
           siw interwala wremeni; weli~ina kratna 0.5 sekundy.  CHAR  -
           kod simwola, polu~aemyj programmoj w slu~ae tajm-auta. nowoe
           zna~enie tajm-auta dolvno zadawatxsq pered kavdoj nowoj ope-
           raciej ~teniq s terminala.



       5.3.10. rezidentnye biblioteki (os NTS)



       ispolxzowanie rezidentnyh bibliotek pozwolqet  |konomitx  pamqtx
  neskolxkim programmam (net neobhodimosti kavdoj programme  dervatx  w
  pamqti sobstwennu` kopi` biblioteki), a  takve  pozwolqet  neskolxkim
  programmam obmeniwatxsq dannymi ~erez ob}u` oblastx pamqti.

                                 - 186 -







  I=ISHARE (NAME)
         - ustanawliwaet swqzx  programmy  s  rezidentnoj  bibliotekoj.
           NAME - massiw iz  2  slow,  soderva}ij  imq  biblioteki  ili
           oblasti (6 znakow w kode RAD50; imq biblioteki  sowpadaet  s
           imenem fajla, iz kotorogo ona zagruvena). esli  adres  rawen
           0, to funkciq otmenit swqzx programmy so wsemi  bibliotekami
           i wosstanowit  normalxnoe  otobravenie  wirtualxnogo  prost-
           ranstwa programmy, esli ono izmenqlosx ISHMAP. w odnoj prog-
           ramme movno ispolxzowatx neskolxko rezidentnyh bibliotek.

       funkciq wozwra}aet zna~enie:

           1    - ukazannaq rezidentnaq biblioteka otsutstwuet.

  I=ISHMAP (PAGE,OFF,SIZE)
         - posle ustanowleniq swqzi programmy s bibliotekoj  s  pomo}x`
           ISHARE ~astx wirtualxnogo prostranstwa programmy movet  bytx
           otobravena na ws` biblioteku ili na ~astx  biblioteki  funk-
           ciej ISHMAP. PAGE - nomer stranicy (0-7) wirtualxnogo prost-
           ranstwa programmy, s kotoroj budet na~inatxsq oblastx, otob-
           ravaemaq na biblioteku. OFF opredelqet sme}enie (w blokah po
           64 bajta) ot na~ala biblioteki  do  zony  otobraveniq.  SIZE
           opredelqet dlinu u~astka pamqti  (w  blokah  po  64  bajta),
           otobravaemogo na biblioteku. otobravenie  ostalxnyh  stranic
           wirtualxnogo prostranstwa programmy ne izmenqetsq, dave esli
           oni byli otobraveny na drugie rezidentnye biblioteki.

       funkciq wozwra}aet zna~enie:

           1    - programma ne ustanowila swqzx ni s odnoj  rezidentnoj
                  bibliotekoj ili oblastx` dannyh.



       5.3.11. awtonomnye zadaniq (os NTS)



       funkcii dannoj gruppy pozwolq`t programme polxzowatelq zapuskatx
  i kontrolirowatx wypolnenie awtonomnyh zadanij.



  I=IDJKILL (LINE)
         - prekra}aet wypolnenie awtonomnogo zadaniq na ukazannoj linii
           LINE.

       funkciq wozwra}aet zna~enie:

           1    - ukazan newernyj nomer linii.

  CALL IDJSTART (DJOB,JOBNUM[,IERR])
         - zapuskaet awtonomnoe zadanie, esli imeetsq swobodnaq  liniq.
           DJOB - massiw iz 4 slow, kotoryj sodervit specifikaci` fajla
           awtonomnogo zadaniq. nomer  linii,  na  kotoroj  zapuskaetsq
           zadanie, wozwra}aetsq kak zna~enie w JOBNUM.

                                 - 187 -




       w IERR wozwra}aetsq zna~enie:

           1    - net ni odnoj swobodnoj linii dlq zapuska  awtonomnogo
                  zadaniq.

  I=IDJTST (LINE)
         - opredelqet sostoqnie awtonomnoj linii LINE.

       funkciq wozwra}aet zna~enie:

           1    - liniq zanqta.



       5.3.12. po~towye q}iki (os NTS)



       pri obra}enii k funkciqm dannoj gruppy ispolxzu`tsq parametry:

           BOX  - massiw iz 6 bajt, soderva}ij imq  po~towogo  q}ika  w
                  koi-7;

           BUF  - massiw, soderva}ij dannye dlq obmena;

           BCNT - s~et~ik peredawaemyh ili prinimaemyh bajtow.



  CALL IMGET (BOX,BUF,BUFCNT,BCNT[,IERR])
         - ispolxzuetsq dlq izwle~eniq soob}enij iz po~towogo  q}ika  w
           bufer programmy. esli dlina soob}eniq bolx{e razmera  BUFCNT
           bufera, to ostalxnaq ~astx budet poterqna.

       w IERR wozwra}aetsq zna~enie:

           3    - w ukazannom q}ike net soob}enij;

           4    - dlina prinqtogo soob}eniq prewy{aet razmer bufera.

  CALL IMGETWAIT (BOX,BUF,BUFCNT,BCNT[,IERR])
         - perewodit programmu polxzowatelq w sostoqnie ovidaniq do teh
           por, poka w ukazannom q}ike  ne  poqwitsq  soob}enie.  posle
           poqwleniq soob}eniq, ono budet izwle~eno i programma prodol-
           vit wypolnenie.

       w IERR wozwra}aetsq zna~enie:

           1    - net swobodnogo po~towogo q}ika;

           4    - dlina prinqtogo soob}eniq prewy{aet razmer bufera.

  I=IMPUT (BOX,BUF,BCNT)
         - pome}aet soob}enie w po~towyj q}ik. esli posylaemoe  soob}e-
           nie imeet dlinu, prewy{a`}u` maksimalxnu`, to ostatok  soob-
           }eniq otbrasywaetsq.

       funkciq wozwra}aet zna~enie:

                                 - 188 -




           1    - net swobodnogo po~towogo q}ika;

           2    - net swobodnogo sistemnogo bufera dlq hraneniq soob}e-
                  niq;

           4    - dlina soob}eniq prewy{aet maksimalxnu` dlinu,  zadan-
                  nu` pri generacii.



       5.3.13. sredstwa realxnogo wremeni (os NTS)



       funkcii dannoj gruppy mogut wozwra}atx zna~enie:

           0    - sredstwa realxnogo wremeni ne byli wkl`~eny pri gene-
                  racii os NTS ili programma ne  qwlqetsq  priwilegiro-
                  wannoj;

           <0   - oby~nyj wyhod.

  CALL ICONVIR (VADDR,BUF[,IERR])
         - wypolnqet preobrazowanie wirtualxnogo adresa programmy VADDR
           w fizi~eskij (pome}aetsq w massiw  BUF  iz  2  slow).  pered
           wyzowom |toj procedury programma dolvna  bytx  zakreplena  w
           pamqti. perwoe slowo massiwa budet sodervatx mlad{ie 16 raz-
           rqdow fizi~eskogo adresa. dwa  star{ih  razrqda  fizi~eskogo
           adresa budut razme}eny w razrqdah 4-5 wtorogo slowa. w  IERR
           wozwra}aetsq kod o{ibki.

  I=IENSWAP ()
         - otmenqet zakreplenie programmy w pamqti i razre{aet ee  swo-
           ping.

  I=IMLOCK ()
         - wyzywaet nemedlennoe zakreplenie programmy w pamqti  (zapre-
           }aet ee swoping) bez predwaritelxnogo pereme}eniq.

  I=IPOLOCK ()
         - zakreplqet programmu w pamqti (zapre}aet ee swoping),  pred-
           waritelxno peremestiw ee w nivn`` swobodnu` oblastx pamqti.

  I=INTCON (VEC,CRTN,PRI)
         - podkl`~aet podprogrammu zawer{eniq CRTN k wektoru prerywanij
           s adresom VEC wne{nego ustrojstwa. PRI - prioritet (ot 0  do
           7), na kotorom dolvna wypolnqtxsq podprogramma zawer{eniq.

       funkciq wozwra}aet zna~enie:

           1    - maksimalxnoe ~islo podprogramm  obrabotki  prerywanij
                  uve opredeleno (ukazywaetsq pri generacii);

           2    - drugaq programma uve ispolxzuet ukazannyj wektor pre-
                  rywanij.

  I=INTFRE (VEC)
         - otmenqet swqzx wektora prerywanij s adresom VEC  s  podprog-
           rammoj  zawer{eniq.  wektor  prerywaniq  oswobovdaetsq   dlq

                                 - 189 -




           ispolxzowaniq drugoj programmoj.

  I=IOBIC (ADDR,WORD)
         - wypolnqet dejstwiq, analogi~nye instrukcii  processora  BIC,
           t.e. o~istku razrqdow w registre wne{nego ustrojstwa  (adres
           ADDR). WORD - celoe zna~enie, kotoroe budet wzqto w ka~estwe
           maski dlq o~istki razrqdow.

  I=IOBIS (ADDR,WORD)
         - wypolnqet dejstwiq, analogi~nye instrukcii  processora  BIS,
           t.e. o~istku razrqdow w registre wne{nego ustrojstwa  (adres
           ADDR). WORD - celoe zna~enie, kotoroe budet wzqto w ka~estwe
           maski dlq ustanowki razrqdow.

  CALL IOGET (ADDR,VALUE[,IERR])
         - s~itatx sodervimoe registra wne{nego  ustrojstwa  s  adresom
           ADDR (odno slowo  w  stranice  wwoda/wywoda)  bez  izmeneniq
           otobraveniq wirtualxnogo prostranstwa programmy.  sodervimoe
           s~itannogo registra wozwra}aetsq w VALUE. w IERR wozwra}aet-
           sq kod o{ibki.

  I=IOPUT (ADDR,WORD)
         - pozwolqet pereslatx slowo WORD w registr wne{nego ustrojstwa
           s adresom ADDR stranicy wwoda/wywoda.

  CALL IOMAP ()
         - proizwodit otobravenie sedxmoj stranicy wirtualxnogo  adres-
           nogo prostranstwa programmy (adresa 160000-177777) na  stra-
           nicu wwoda/wywoda, obespe~iwaq dostup  k  registram  wne{nih
           ustrojstw.

  CALL IOUNMAP ()
         - otmenqet otobravenie sedxmoj  stranicy  wirtualxnogo  prost-
           ranstwa programmy na stranicu wwoda/wywoda.



       5.3.14. razdelqemye fajly (os NTS)



       dlq ob'qwleniq fajla razdelqemym neobhodimo otkrytx kanal makro-
  komandoj .LOOKUP i pri pomo}i .SFOPEN opredelitx metod  ispolxzowaniq
  fajla. metod ispolxzowaniq zadaetsq ~islom, kotoroe opredelqet dopus-
  timye operacii nad fajlom dlq dannoj programmy (0, 2, 4 - tolxko ~te-
  nie; 1, 3, 5 - ~tenie i zapisx). s |tim ~islom swqzany takve  ograni-
  ~eniq dlq drugih programm pri rabote s dannym fajlom (0, 1  -  zapret
  raboty s fajlom; 2, 3 - tolxko ~tenie; 4, 5 - ~tenie i zapisx).

  I=ISFLOCK (CHAN,BLK)
         - prednazna~ena dlq zapre}eniq dostupa k bloku (s nomerom BLK)
           fajla iz drugih programm. esli zapra{iwaemyj blok uve zablo-
           kirowan drugoj programmoj, to dannaq programma budet  prios-
           tanowlena do teh por, poka trebuemyj blok ne  stanet  dostu-
           pen. maksimalxnoe ~islo blokow, kotorye mogut bytx  zabloki-
           rowanny odnowremenno,  ukazywaetsq  pri  generacii  sistemy.
           nomer bloka -1 (wosxmeri~noe 177777) movet bytx  ispolxzowan
           dlq zaprosa na blokirowku wseh blokow w fajle. esli neskolx-
           ko programm zapra{iwa`t odin i tot ve blok, to dostup k nemu

                                 - 190 -




           oni polu~a`t posledowatelxno, w porqdke  postupleniq  zapro-
           sow.

       funkciq wozwra}aet zna~enie:

           1    - kanal ne otkryt;

           2    - blokiruetsq sli{kom mnogo blokow.

  I=ISFOPEN (CHAN,CODE)
         - ob'qwlqet fajl razdelqemym.

       funkciq wozwra}aet zna~enie:

           1    - kanal ne otkryt;

           2    - otkryto mnogo kanalow dlq razdelqemyh fajlow;

           3    - otkryto mnogo razdelqemyh fajlow;

           4    - zapre}ennyj dostup k fajlu.

  CALL ISFSAVE (CHAN)
         - sohranqet sostoqnie kanala (analogi~no ISAVES) dlq razdelqe-
           myh fajlow. funkciq ISAVES otmenqet ob'qwlenie fajla  razde-
           lqemym. dlq sohraneniq rezulxtatow funkcij  ISFOPEN  i  ISF-
           LOCK, neobhodimo ispolxzowatx ISFSAVE.

  I=ISFTLOCK (CHAN,BLK)
         - zapre}aet dostup k bloku iz drugih programm (analogi~no ISF-
           LOCK). esli blok uve zablokirowan drugoj programmoj, to dan-
           naq programma ne priostanawliwaetsq.

       funkciq wozwra}aet zna~enie:

           1    - kanal ne otkryt;

           2    - blokiruetsq sli{kom mnogo blokow;

           3    - trebuemyj blok uve zablokirowan.

  I=ISFUNALL (CHAN)
         - razblokirowka wseh blokow razdelqemogo fajla.

       funkciq wozwra}aet zna~enie:

           1    - kanal ne otkryt.

  I=ISFUNLOCK (CHAN,BLK)
         - razblokirowka bloka s nomerom BLK w fajle.

       funkciq wozwra}aet zna~enie:

           1    - kanal ne otkryt.

  I=ISFWCHECK (CHAN)
         - opredelqet, byla li proizwedena zapisx  w  razdelqemyj  fajl
           drugoj programmoj.


                                 - 191 -




       funkciq wozwra}aet zna~enie:

           0    - zapisx w fajl ne proizwodilasx;

           2    - zapisx proizwodilasx.



       5.3.15. analiz |ffektiwnosti programm (os NTS)



       ispolxzowanie funkcij dannoj gruppy pozwolqet iz programm  polx-
  zowatelq opredelitx procent wremeni, kotoroe  processor  zatratil  na
  wypolnenie toj ili inoj ~asti programmy. funkcii dannoj gruppy  mogut
  wozwra}atx zna~enie:

           <0   - oby~nyj wyhod.



  I=IPAINI (LOADDR,HIADDR,ICLSIZ,FLAG)
         - inicializiruet programmnye sredsta podsistemy analiza |ffek-
           tiwnosti programm analogi~no komande monitora MONITR. HIADDR
           i LOADDR ukazywa`t nivn`` i  werhn``  granicy  programmy,  w
           kotoryh prowoditsq analiz. ICLSIZ - cena deleniq  gistogram-
           my. FLAG ukazywaet neobhodimostx u~eta  ovidaniq  zawer{eniq
           operacij wwoda/wywoda: 0 - bez ovidaniq, 1 - s ovidaniem.

       funkciq wozwra}aet zna~enie:

           0    - sredstwa uve ispolxzu`tsq drugoj programmoj (liniej);

           1    - sredstwa ne wkl`~eny pri generacii.

  I=IPASTA ()
         - zapuskaet (ili prodolvaet) rabotu podsistemy analiza  |ffek-
           tiwnosti programm.

       funkciq wozwra}aet zna~enie:

           0    - sredstwa podsistemy analiza |ffektiwnosti ne  inicia-
                  lizirowany.

  I=IPASTO ()
         - priostanawliwaet sbor statistiki dlq  analiza  |ffektiwnosti
           programm.

       funkciq wozwra}aet zna~enie:

           0    - sredstwa podsistemy analiza |ffektiwnosti ne  inicia-
                  lizirowany.

  CALL IPAGET (PAR,BUF,BUFSIZE[,IERR])
         - peredaet w massiw  BUF  sobrannu`  statistiku  o  wypolnenii
           (rabote) programmy. BUFSIZE zadaet razmer bufera. PAR -  imq
           bufera iz 4 slow.

       w IERR wozwra}aetsq zna~enie:

                                 - 192 -




           0    - statisti~eskie dannye ne sobiralisx;

           1    - razmer bufera programmy mal.



       5.3.16. 32-razrqdnaq arifmetika



       funkcii  dannoj  gruppy  pozwolq`t  rabotatx  s   dannymi   tipa
  INTEGER*4.



  A=AJFLT(JARG)
         - preobrazuet zna~enie tipa INTEGER*4 iz JARG w zna~enie  tipa
           REAL*4 i wozwra}aet polu~ennyj rezulxtat, kak zna~enie funk-
           cii.

  D=DJFLT(JARG)
         - preobrazuet zna~enie tipa INTEGER*4 iz JARG w zna~enie  tipa
           REAL*8 i wozwra}aet polu~ennyj rezulxtat, kak zna~enie funk-
           cii.

  I=IAJFLT(JARG,ARES)
         - preobrazuet zna~enie tipa INTEGER*4 iz JARG w zna~enie  tipa
           REAL*4 i zapominaet rezulxtat w ukazannoj peremennoj ARES.

       funkciq wozwra}aet zna~enie:

           -2   - pri preobrazowanii poterqny zna~a}ie cifry;

           -1   - rezulxtat otricatelxnyj;

            0   - rezulxtat rawen nul`;

            1   - rezulxtat polovitelxnyj.

  I=IDJFLT(JARG,DRES)
         - preobrazuet zna~enie tipa INTEGER*4 iz JARG w zna~enie  tipa
           REAL*8 i zapominaet rezulxtat w ukazannoj peremennoj DRES.

       funkciq wozwra}aet zna~enie:

           -1   - rezulxtat otricatelxnyj;

            0   - rezulxtat rawen nul`;

            1   - rezulxtat polovitelxnyj.

  I=IJCVT(JARG[,IRES])
         - preobrazuet zna~enie tipa INTEGER*4 iz JARG w zna~enie  tipa
           INTEGER*2 w IRES. esli IRES ne ukazano, to rezulxtat zapisy-
           waetsq w JARG.

       funkciq wozwra}aet zna~enie:

           -2   - wo wremq preobrazowaniq proizo{lo perepolnenie;

                                 - 193 -




           -1   - rezulxtat otricatelxnyj;

            0   - rezulxtat rawen nul`;

            1   - rezulxtat polovitelxnyj.

  J=JADD(JARG1,JARG2,JRES)
         - wy~islqet summu dwuh zna~enij tipa  INTEGER*4,  ukazannyh  w
           JARG1 i JARG2, i pome}aet rezulxtat w JRES.

       funkciq wozwra}aet zna~enie:

           -2   - wo wremq wy~isleniq summy proizo{lo perepolnenie;

           -1   - rezulxtat otricatelxnyj;

            0   - rezulxtat rawen nul`;

            1   - rezulxtat polovitelxnyj.

  I=JAFIX(AARG,JRES)
         - preobrazuet zna~enie tipa REAL*4 iz  AARG  w  zna~enie  tipa
           INTEGER*4 w JRES.

       funkciq wozwra}aet zna~enie:

           -2   - wo wremq preobrazowaniq proizo{lo perepolnenie;

           -1   - rezulxtat otricatelxnyj;

            0   - rezulxtat rawen nul`;

            1   - rezulxtat polovitelxnyj.

  I=JCMP(JARG1,JARG2)
         - srawniwaet dwa ~isla tipa INTEGER*4 iz JARG1 i JARG2 i wozw-
           ra}aet znakowyj rezulxtat srawneniq w INTEGER*2 kak zna~enie
           funkcii.

       funkciq wozwra}aet zna~enie:

           -1   - JARG1<JARG2;

            0   - JARG1=JARG2;

            1   - JARG1>JARG2.

  J=JDFIX(DARG,JRES)
         - preobrazuet zna~enie tipa REAL*8 iz  DARG  w  zna~enie  tipa
           INTEGER*4 w JRES.

       funkciq wozwra}aet zna~enie:

           -2   - wo wremq preobrazowaniq proizo{lo perepolnenie;

           -1   - rezulxtat otricatelxnyj;

            0   - rezulxtat rawen nul`;

                                 - 194 -




            1   - rezulxtat polovitelxnyj.

  J=JDIV(JARG1,JARG2,JRES[,JREM])
         - wypolnqet delenie dwuh ~isel tipa INTEGER*4.  JARG1  delitsq
           na JARG2 s polu~eniem rezulxtata tipa  INTEGER*4  w  JRES  i
           ostatka tipa INTEGER*4 w JREM.

       funkciq wozwra}aet zna~enie:

           -3   - predprinqta popytka deleniq na nulx;

           -1   - rezulxtat otricatelxnyj;

            0   - rezulxtat rawen nul`;

            1   - rezulxtat polovitelxnyj.

  I=JICVT(IARG,JRES)
         - preobrazuet zna~enie tipa INTEGER*2 iz JARG w zna~enie  tipa
           INTEGER*4 w JRES.

       funkciq wozwra}aet zna~enie:

           -1   - rezulxtat otricatelxnyj;

            0   - rezulxtat rawen nul`;

            1   - rezulxtat polovitelxnyj.

  CALL JJCVT (JARG)
         - preobrazuet zna~enie wo wnutrennem formate (2 slowa) sistem-
           nogo tajmera iz JARG w format INTEGER*4 i naoborot.

  I=JMOV(JARG,JRES)
         - priswaiwaet zna~enie tipa INTEGER*4 iz JARG peremennoj  JRES
           tipa INTEGER*4 i wozwra}aet znak priswoennogo zna~eniq.

       funkciq wozwra}aet zna~enie:

           -1   - rezulxtat otricatelxnyj;

            0   - rezulxtat rawen nul`;

            1   - rezulxtat polovitelxnyj.

  I=JMUL(JARG1,JARG2,JRES)
         - wy~islqet proizwedenie dwuh ~isel tipa INTEGER*4 iz JARG1  i
           JARG2 i pome}aet rezulxtat w peremennu` JRES tipa INTEGER*4.

       funkciq wozwra}aet zna~enie:

           -2   - wo wremq umnoveniq proizo{lo perepolnenie;

           -1   - rezulxtat otricatelxnyj;

            0   - rezulxtat rawen nul`;

            1   - rezulxtat polovitelxnyj.

                                 - 195 -




  I=JSUB(JARG1,JARG2,JRES)
         - wy~islqet raznostx dwuh ~isel tipa INTEGER*4. wy~itaet JARG2
           iz  JARG1  i  pome}aet  rezulxtat  w  peremennu`  JRES  tipa
           INTEGER*4.

       funkciq wozwra}aet zna~enie:

           -2   - wo wremq wy~isleniq proizo{lo perepolnenie;

           -1   - rezulxtat otricatelxnyj;

            0   - rezulxtat rawen nul`;

            1   - rezulxtat polovitelxnyj.



       5.3.17. rabota so strokami



       funkcii dannoj gruppy pozwolq`t programmam polxzowatelq  obraba-
  tywatx tekstowu` informaci`.



  CALL CONCAT (A,B,OUT[,LEN[,ERR]])
         - wypolnqet konkatenaci` (ob'edinenie) dwuh strok A i B, koto-
           rye dolvny zawer{atxsq nulewym bajtom. rezulxtat  pome}aetsq
           w stroku OUT. LEN - maksimalxnaq dlina rezulxtiru`}ej  stro-
           ki. parametr LEN pozwolqet usekatx rezulxtiru`}u` stroku  do
           neobhodimogo  razmera.  parametr  ERR   prinimaet   zna~enie
           ".TRUE.", esli rezulxtiru`}aq stroka byla use~ena. na~alxnoe
           zna~enie ERR dolvno bytx ".FALSE.".

  CALL GETSTR (LUN,OUT,LEN,ERR)
         - s~itywaet stroku s ukazannogo logi~eskogo nomera LUN fortra-
           na w massiw OUT. LEN - maksimalxnaq dlina  wwodimoj  stroki.
           esli dlina wwodimoj stroki prewoshodit LEN, to ERR  polu~aet
           zna~enie  ".TRUE.".  na~alxnoe  zna~enie  ERR  dolvno   bytx
           ".FALSE.".

   CALL INDEX (A,PATTRN,[I],M)
    ili
   M=INDEX(A,PATTRN[,I])
         - wozwra}aet w celoj peremennoj "M" na~alxnu`  pozici`  stroki
           PATTRN w stroke "A", poisk obrazca PATTRN na~inaetsq s pozi-
           cii "I" ili, esli on opu}en, s perwoj pozicii w stroke "A".

  CALL INSERT (IN,OUT,I[,M])
         - wstawlqet stroku IN w stroku OUT, na~inaq s pozicii I.  M  -
           maksimalxnaq dlina wstawlqemoj stroki.

  I=LEN(A)
         - wozwra}aet koli~estwo znakow w stroke A (ee dlinu).

  CALL PUTSTR (LUN,IN,CHAR,ERR)
         - wywodit stroku IN na ukazannyj logi~eskij nomer LUN  fortra-
           na. CHAR - simwol, dobawlqemyj k  na~alu  wywodimoj  stroki.

                                 - 196 -




           ERR prinimaet zna~enie ".TRUE." pri nali~ii o{ibki wywoda  i
           ".FALSE." pri ee otsutstwii.

  CALL REPEAT (IN,OUT,I[,LEN[,ERR]])
         - wypolnqet powtor stroki IN (I raz) i zapominaet rezulxtat  w
           wyhodnoj stroke OUT. LEN - maksimalxnaq dlina rezulxtiru`}ej
           stroki.  parametr  ERR  prinimaet  zna~enie  ".TRUE.",  esli
           rezulxtiru`}aq stroka byla use~ena. na~alxnoe  zna~enie  ERR
           dolvno bytx ".FALSE.".

  I=SCOMP(A,B)
         - srawniwaet dwe stroki "A" i "B" i wozwra}aet rezulxtat sraw-
           neniq kak zna~enie funkcii.

       funkciq wozwra}aet zna~enie:

           <0   - "A" leksikografi~eski pred{estwuet "B";

           0    - "A" rawno "B";

           >0   - "A" leksikografi~eski sleduet za "B".

  CALL SCOPY (IN,OUT[,LEN[,ERR]])
         - wypolnqet kopirowanie stroki IN w stroku OUT. LEN  -  maksi-
           malxnaq dlina rezulxtiru`}ej stroki. parametr ERR  prinimaet
           zna~enie ".TRUE.", esli rezulxtiru`}aq stroka byla  use~ena.
           na~alxnoe zna~enie ERR dolvno bytx ".FALSE.".

  CALL STRPAD (STR,I[,ERR])
         - dopolnqet stroku STR probelami sprawa do ukazannoj dliny  I.
           parametr ERR prinimaet  zna~enie  ".TRUE.",  esli  stroka  A
           imeet dlinu bolx{u`, ~em ukazano w I. na~alxnoe zna~enie ERR
           dolvno bytx ".FALSE.".

  CALL SUBSTR (IN,OUT,I[,LEN])
         - kopiruet podstroku iz stroki IN  w  stroku  OUT,  na~inaq  s
           pozicii I stroki IN. LEN ukazywaet maksimalxnu` dlinu  kopi-
           ruemoj podstroki.

  CALL TRANSL (IN,OUT,R[,P])
         - peresylaet stroku IN w  stroku  OUT  s  modifikaciej  znakow
           (perekodirowkoj). R - massiw znakow zameny. P - massiw  zna-
           kow, kotorye neobhodimo zamenqtx. massiwy R i  P  pozicionno
           sootwetstwu`t drug drugu. esli massiw P opu}en, to on  pred-
           polagaetsq zadannym strokoj znakow koi-7 (kody ot 1 do  127)
           w wozrasta`}em porqdke.

  CALL TRIM (STR)
         - udalqet probely, nahodq}iesq sprawa w stroke STR.

   I=IVERIF(STR,PATRN)
    ili

  CALL IVERIFY[A,B,I]
         - prowerqet stroku STR na nali~ie w nej simwolow, ne  whodq}ih
           w stroku PATRN.

       funkciq wozwra}aet zna~enie:

                                 - 197 -




           0    - simwoly STR sodervatsq w PATRN;

           >0   - nomer pozicii  perwogo  simwola  w  STR,  kotoryj  ne
                  sodervitsq w PATRN.

  N=IRAD50(ICNT,INPUT,OUTPUT)
         - preobrazuet simwolxnu` stroku INPUT  dlinoj  ICNT  w  massiw
           OUTPUT w kode RAD50 i wozwra}aet kak zna~enie funkcii  koli-
           ~estwo obrabotannyh znakow.

  CALL R50ASC (ICNT,INPUT,OUTPUT)
         - preobrazuet massiw INPUT w kode RAD50  w  simwolxnu`  stroku
           OUTPUT dlinoj ICNT.

  A=RAD50(INPUT)
         - preobrazuet 6 simwolow koi-7 iz INPUT i wozwra}aet rezulxtat
           tipa REAL*4 (2 slowa koda RAD50) kak zna~enie funkcii.




       5.4. programmnoe uprawlenie terminalom



       programma polxzowatelq, wypolnq`}aqsq pod  uprawleniem  os  NTS,
  movet dinami~eski izmenqtx parametry drajwera, uprawlq`}ego  termina-
  lom putem wywoda na terminal specialxnogo "wedu}ego" znaka (kod 177),
  a zatem - odnogo ili bolee funkcionalxnyh znakow. znak, sledu`}ij  za
  "wedu}im", opredelqet komandu, kotoraq dolvna bytx wypolnena.

       dopustimy sledu`}ie funkcionalxnye znaki:

  A      - opredelitx nowyj znak-zapolnitelx dlq udalqemyh simwolow  (s
           pomo}x` <DEL> i <CTRL/U>); po umol~ani` w ka~estwe  zapolni-
           telq ispolxzuetsq probel; dlq opredeleniq nowogo zapolnitelq
           neobhodimo   wywesti   na    terminal    posledowatelxnostx:
           <177><A><znak-zapolnitelx>;

  B      - razre{itx aktiwaci` zada~i pri wwode <ESC>-posle-  dowatelx-
           nostej; nekotorye tipy terminalow ime`t funkcionalxnu`  kla-
           wiaturu, pri navatii na klawi{i kotoroj peredaetsq neskolxko
           znakow, perwyj iz kotoryh <ESC> (kod 33);  pri  |tom  revime
           wwoda |ho-pe~atx <ESC>-posledowatelxnosti ne proizwoditsq;

  C      - zapretitx aktiwaci` zada~i pri wwode <ESC>-posle-  dowatelx-
           nostej; wse  znaki  <ESC>-posledowatelxnosti  obrabatywa`tsq
           drajwerom kak oby~nye simwoly;

  D      - opredelitx nowyj znak aktiwacii (w dopolnenie  k  <CR>);  os
           NTS peredaet programme stroku s terminala tolxko posle wwoda
           odnogo iz znakow aktiwacii;  pri  wwode  s  terminala  znaka
           aktiwacii ego |ho-pe~atx ne proizwoditsq, no on pome}aetsq w
           bufer wwoda; esli opredelitx uprawlq`}ij  simwol  (naprimer,
           <CTRL/C>) w ka~estwe znaka aktiwacii, to  drajwer  perestaet
           raspoznawatx ego kak  uprawlq`}ij;  dlq  opredeleniq  nowogo
           znaka   aktiwacii   neobhodimo    wywesti    na    terminal:
           <177><D><znak aktiwacii>;

                                 - 198 -




  P      - wernutxsq k perwona~alxnomu  znaku  aktiwacii  (znak  <CR>);
           pozwolqet  otkazatxsq  ot  ispolxzowaniq  znakow  aktiwacii,
           kotorye byli ranee opredeleny s pomo}x` D-funkcii;

  E      - razre{itx |ho-pe~atx wwodimyh znakow (revim po umol~ani`);

  F      - zapretitx |ho-pe~atx wwodimyh znakow;

  H      - zapretitx perekl`~enie na drugu` wirtualxnu` lini`;

  I      - razre{itx wwod bukw kirillicy;

  J      - zapretitx wwod bukw kirillicy; wse bukwy kirillicy pri wwode
           preobrazu`tsq w latinskie;

  K      - ustanowitx revim "koswennoj" |ho-pe~ati; w |tom revime  wwe-
           dennaq informaciq otobravaetsq na |krane tolxko togda, kogda
           programma zapra{iwaet wwod s terminala; predwaritelxno  wwo-
           dimaq informaciq ne terqetsq, a nakapliwaetsq w bufere  ter-
           minala;

  L      - zapretitx revim  "koswennoj"  |ho-pe~ati;  wwodimye  simwoly
           srazu ve otobrava`tsq na |krane terminala;

  M      - ustanowitx "prozra~nyj" revim wywoda  na  terminal;  w  |tom
           revime drajwer peredaet wse znaki na terminal,  ne  wypolnqq
           nikakih prowerok i/ili preobrazowanij (programma movet pere-
           datx na terminal l`boj 7-bitnyj kod);  edinstwennoj  wozmov-
           nostx` otmenitx revim "prozra~nogo wwoda" qwlqetsq  zawer{e-
           nie programmy i pereda~a uprawleniq KMON;

  N      - priostanowitx wwod iz komandnogo fajla; esli programma  wyz-
           wana iz komandnogo fajla, to informaciq, kotoraq dolvna wwo-
           ditxsq s terminala, movet izwlekatxsq iz  komandnogo  fajla;
           odnako w nekotoryh slu~aqh neobhodimo wwoditx dannye  imenno
           s terminala, a ne iz komandnogo fajla;

  O      - wozobnowitx wwod iz komandnogo fajla;

  Q      - ustanowitx revim aktiwacii po dline wwodimoj  stroki;  dlina
           stroki  zadaetsq  wywodom  na  terminal  posledowatelxnosti:
           <177><Q><dlina>, gde <dlina> qwlqetsq znakom,  dwoi~nyj  kod
           kotorogo sootwetstwuet trebuemoj  dline;  esli  wweden  znak
           aktiwacii, a stroka polnostx`  ne  zapolnena,  to  programma
           budet aktiwirowana po dannomu znaku; esli znak aktiwacii  ne
           wwoditsq, to programma aktiwiruetsq po  dostivenii  wwodimoj
           strokoj ukazannoj dliny; revim  aktiwacii  po  dline  stroki
           sbrasywaetsq posle wwoda stroki;

  R      - wkl`~itx wysoko|ffektiwnyj revim raboty terminala; pri  |tom
           otsutstwuet wozmovnostx uprawleniq parametrami  terminala  s
           pomo}x` funkcij, opisywaemyh  w  dannom  podrazdele;  znaki,
           polu~aemye s terminala, ne obrabatywa`tsq; pered perehodom w
           dannyj revim raboty programma dolvna opredelitx znak aktiwa-
           cii s pomo}x` D-funkcii; |tot znak budet ispolxzowatxsq  dlq
           opredeleniq priznaka  konca  whodnoj  zapisi;  dannyj  revim
           orientirowan na obmen mevdu dwumq kompleksami,  soedinennymi
           liniej swqzi, a takve na rabotu s terminalami, kotorye wedut
           obmen s |wm bolx{imi porciqmi dannyh;

                                 - 199 -




  S      - wkl`~itx revim posimwolxnoj aktiwacii;  perewodit  programmu
           polxzowatelq w revim posimwolxnoj aktiwacii pri  ustanowlen-
           nom bite 12 w slowe sostoqniq zadaniq JSW; dannaq funkciq po
           swoemu  dejstwi`  |kwiwalentna  wyzowu  programmy  s  kl`~om
           /SINGLECHAR;

  T      - wykl`~itx revim posimwolxnoj aktiwacii;

  U      - razre{itx wwod bez ovidaniq;  perewodit  programmu  w  revim
           wwoda bez ovidaniq pri ustanowlennom bite 6 w slowe  sostoq-
           niq zadaniq JSW; w |tom revime programma  imeet  wozmovnostx
           prowerqtx nali~ie wwedennoj informacii s pomo}x` makrokoman-
           dy .TTINR i C-bita w  slowe  sostoqniq  processora;  komanda
           monitora "SET TT NOWAIT", a takve zapusk programmy s  kl`~om
           /SINGLECHAR priwodqt k analogi~nomu |ffektu;

  V      - ustanowitx dlinu  wwodimoj  stroki;  pozwolqet  w  programme
           zadatx maksimalxnu` dlinu stroki wwoda ({irinu polq na |kra-
           ne terminala); w otli~ie ot Q-funkcii, kotoraq ustanawliwaet
           dlinu stroki, priwodq}u` k  aktiwacii  programmy,  V-funkciq
           opredelqet dlinu stroki, wyhod za kotoru` priwodit k  otbra-
           sywani` (potere) posledu`}ih wwodimyh znakow;

  W      - wkl`~itx "perfolento~nyj" revim raboty; revim movet  ispolx-
           zowatxsq, esli ustrojstwo, podkl`~ennoe k linii,  raspoznaet
           znaki <CTRL/S> i <CTRL/Q> dlq ostanowa  i  zapuska  pereda~i
           dannyh; |kwiwalentno komande monitora  "SET  TT  TAPE";  pri
           dannom revime raboty os NTS posylaet <CTRL/S>, kogda whodnoj
           bufer po~ti zapolnen (ostalosx mesta ne bolee ~em na 10 zna-
           kow) i posylaet <CTRL/Q>, kogda whodnoj bufer oswobodilsq, a
           pered |tim byl poslan znak <CTRL/S>;

  X      - wykl`~itx perfolento~nyj revim raboty; |kwiwalentno  komande
           monitora "SET TT NOTAPE";

  Y      - zapretitx |ho-pe~atx znaka <LF> posle <CR>;

  Z      - razre{itx |ho-pe~atx znaka <LF> posle <CR>.

       wse pere~islennye funkcionalxnye znaki qwlq`tsq  dejstwitelxnymi
  tolxko na wremq wypolneniq  programmy.  posle  zawer{eniq  wypolneniq
  programmy wsem parametram priswaiwa`tsq  ih  zna~eniq  po  umol~ani`.
  parametry sohranq`t zna~enie pri pereda~e uprawleniq drugoj programme
  po .CHAIN.

                                 - 200 -




                                                          pRILOVENIE 1




                           uprawlq`}ie simwoly




       nive priwoditsq pere~enx uprawlq`}ih simwolow:

  <CTRL/A> (RT11 SJ...XM)
         - wywesti sledu`}u` stranicu; zadaetsq tolxko posle <CTRL/S>

  <CTRL/B> (RT11FB(XM))
         - peredaet uprawlenie fonowoj programme (perekl`~aet  terminal
           na fonowu` programmu); sistema pe~ataet na terminale  simwol
           gotownosti "B>"; posle |togo wwodimaq s terminala informaciq
           budet peredawatxsq fonowoj programme;

  <CTRL/C>
         - prerywaet wypolnenie teku}ej programmy i peredaet uprawlenie
           monitoru, esli programma ovidaet wwoda s terminala; wo  wseh
           ostalxnyh  slu~aqh  dlq  nemedlennogo  prerywaniq  programmy
           neobhodimy dwe komandy <CTRL/C>, sledu`}ie drug  za  drugom;
           pri |tom o~eredx  na  wypolnenie  posledowatelxnosti  komand
           annuliruetsq;

  <CTRL/F> (RT11FB(XM))
         - peredaet uprawlenie operatiwnoj zada~e (perekl`~aet terminal
           na operatiwnu` programmu); w otwet na  |tu  komandu  sistema
           pe~ataet simwol gotownosti "F>"; posle |togo wwodimaq s ter-
           minala informaciq  peredaetsq  operatiwnoj  programme;  esli
           operatiwnaq programma otsutstwuet, sistema pe~ataet  "F?"  i
           uprawlenie wozwra}aetsq fonowomu zadani`;

  <CTRL/T>
         - prekra}aet wywod na terminal; sistema ignoriruet ws` wywodi-
           mu` na terminal informaci`; powtornoe <CTRL/T>  wozobnowlqet
           wywod; informaciq, kotoraq wywodilasx mevdu perwym i  wtorym
           <CTRL/T>, terqetsq;

  <CTRL/Q>
         - prodolvaet wywod  na  terminal;  ispolxzuetsq  tolxko  posle
           komandy <CTRL/S>; w os NTS neobhodimo  wwesti  <CTRL/Q>  dlq
           wywoda o~erednoj porcii (oby~no |krana) informacii;

  <CTRL/R> (os NTS)
         - powtorno wywodit simwoly teku}ej stroki, wwedennye s  termi-
           nala; |to movet bytx ispolxzowano  dlq  prowerki  nabiraemoj
           stroki, esli stroka redaktirowalasx klawi{ej <DEL>;

  <CTRL/S>
         - priostanawliwaet wywod  na  terminal;  otmenqetsq  komandami
           <CTRL/A> ili <CTRL/Q>; poteri informacii pri |tom ne  prois-
           hodit w otli~ie ot <CTRL/O>;


                                 - 201 -




  <CTRL/U>
         - otmenqet teku}u` stroku, wwodimu` s terminala;

  <CTRL/W> (os NTS)
         - ispolxzuetsq dlq perekl`~eniq na drugu`  wirtualxnu`  lini`;
           za <CTRL/W> pri |tom sleduet wwesti nomer linii, na  kotoru`
           proizwoditsq perekl`~enie; teku}ej  fizi~eskoj  linii  soot-
           wetstwuet wirtualxnyj nomer 0;

  <CTRL/X> (RT11FB(XM))
         - dlq mulxtiprogrammnyh RT11FB ili RT11XM perekl`~aet terminal
           na nuvnu` zada~u; sistema pe~ataet "zada~a?", w otwet na |to
           polxzowatelx dolven nabratx na klawiature imq nuvnoj  zada~i
           i <CR>; sistema pe~ataet na terminale simwol gotownosti (imq
           programmy i znak ">");  posle  |togo  wwodimaq  s  terminala
           informaciq peredaetsq ukazannoj zada~e;

  <CTRL/Z>
         - priznak konca fajla, wwodimogo s terminala;

  <CR>   - zawer{enie wwoda komandnoj stroki; stroka  na~inaet  pereda-
           watxsq programme na obrabotku, krome slu~aq specrevima (raz-
           rqd 12 w JSW) i posimwolxnogo wwoda (RUN/S w os NTS);

  <DEL>  - stiraet poslednij wwedennyj znak.

                                 - 202 -




                                                          pRILOVENIE 2




                         standartnye tipy fajlow




  BAC    - programma wo wnutrennem formate interpretatora qzyka bejsik.

  BAD    - fajl s defektnymi blokami.

  BAK    - rezerwnyj fajl redaktora tekstow.

  BAS    - programma na qzyke bejsik.

  CND    - fajl parametrow generacii sistemy.

  COM    - komandnyj fajl.

  DAT    - fajl dannyh dlq programm na qzyke bejsik ili fortran.

  DIF    - wyhodnoj fajl programmy SRCCOM.

  DIR    - fajl s listingom kataloga fajlow.

  DMP    - wyhodnoj fajl programmy DUMP.

  DOC    - whodnoj fajl programmy DOC.

  DPR    - wyhodnoj fajl programmy DOC.

  FOR    - programma na qzyke fortran.

  HLP    - fajl, soderva}ij sprawo~nu` informaci`.

  LDA    - fajl w formate absol`tnoj zagruzki.

  LST    - fajl listinga.

  MAC    - programma na qzyke makroassembler.

  MAP    - karta raspredeleniq pamqti, sozdawaemaq programmoj LINK.

  OBJ    - pereme}aemyj ob'ektnyj fajl.

  PAS    - programma na qzyke paskalx.

  REL    - zagruzo~nyj modulx operatiwnoj programmy.

  SAV    - zagruzo~nyj modulx fonowoj programmy.

  SML    - sistemnaq makrobiblioteka.

  STB    - tablica simwolow, sozdawaemaq programmoj LINK.

  SYS    - fajl monitora ili drajwera.

                                 - 203 -




  TMP    - wremennyj rabo~ij fajl.

  TXT    - tekstowoj fajl.

                                 - 204 -




                                                          pRILOVENIE 3




                         naimenowanie ustrojstw







                     1. imena fizi~eskih ustrojstw




       prilovenie sodervit spisok fizi~eskih ustrojstw i imen ih  draj-
  werow, podderviwaemyh RT11. dlq kavdogo ustrojstwa (ili  klassa  ust-
  rojstw) predstawleno simwoli~eskoe obozna~enie ustrojstwa, prinqtoe w
  operacionnoj sisteme,  s  poqsneniqmi  i  {iframi  w  sootwetstwii  s
  nomenklaturoj tehni~eskih sredstw sm |wm:

         - processory sm-2103, sm-2104 i drugie programmno  sowmestimye
           s nimi;

         - operatiwnaq pamqtx  ferritowaq  sm-3100,  sm-3101,  sm-3103,
           sm-3105;

         - operatiwnaq pamqtx poluprowodnikowaq sm-3501;

         - programmiruemyj tajmer sm-2001;

  RF, RFN
         - disk s fiksirowannymi golowkami (0<=N<=7); mehanizm sm-5500;
           wmesto diska k dannomu kontrolleru movet podkl`~atxsq domen-
           noe zapomina`}ee ustrojstwo domen-3;

  RK, RKN
         - disk so smennymi kassetami  (0<=N<=7);  kontroller  sm-5102,
           sm-5105, sm-5105.01; mehanizm sm-5400, sm-5401, sm-5403;

  DM, DMN
         - paket  smennyh  diskow  (0<=N<=7)  sm-5408  (dlq  kompleksow
           sm-1600);

  DP, DPN
         - paket (0<=N<=7) smennyh diskow (sm-5407); mehanizm es-5061;

  DX, DXN
         - gibkij disk (0<=N<=3); mehanizm sm-5603;

  DY, DYN
         - gibkij disk s dwojnoj plotnostx` zapisi (0<=N<=3);

  MT, MTN
         - magnitnaq  lenta  (0<=N<=7);  kontroller  sm-5001;  mehanizm
           sm-5300, sm-5302;

                                 - 205 -




  MM, MMN
         - magnitnaq lenta s wysokoj plotnostx` zapisi;

  CT, CTN
         - kassetnaq magnitnaq lenta (0<=N<=1) tipa sm-5204  i  sm-5208
           (kontroller sm-5211);

  TT     - sistemnyj  terminal;  sm-7202,  sm-7203,  sm-7205,  sm-7206,
           sm-7209, sm-7219; podkl`~enie terminalow po  irpr  (sm-6001)
           ili irps i s2 (sm-6002);

  CR     - ustrojstwo wwoda s perfokart; sm-6101, sm-6102, sm-6103;

  PC     - perfolento~noe ustrojstwo  wwoda/wywoda;  sm-6200,  sm-6202,
           sm-6203, sm-6204, sm-6208, sm-6222, sm-6227;

  LP     - ustrojstwo  pe~ati;  sm-6301,  sm-6302,  sm-6303,   sm-6305,
           sm-6315, sm-6316, sm-6321, sm-6322;

  LS     - ustrojstwo pe~ati s klawiaturoj; sm-7102, sm-7108.




                        2. imena psewdoustrojstw




       drajwery  psewdoustrojstw   ne   wypolnq`t   realxnyh   operacij
  wwoda/wywoda i prednazna~eny dlq realizacii sluvebnyh funkcij  opera-
  cionnoj sistemy:

  BA     - psewdoustrojstwo, ispolxzuemoe dlq uprawleniq paketnoj obra-
           botkoj;

  NL     - nulx-ustrojstwo,  kotoroe  osu}estwlqet  fiktiwnye  operacii
           wwoda/wywoda bez pereda~i informacii;

  LD     - psewdoustrojstwo dlq raboty s wirtualxnymi fajlowymi nosite-
           lqmi;

  MQ     - drajwer obmena informaciej mevdu zadaniqmi;

  VM     - drajwer ras{irennoj pamqti.

                                 - 206 -




                     3. imena logi~eskih ustrojstw




       tablicy monitora RT11 wkl`~a`t sledu`}ie predopredelennye  logi-
  ~eskie imena:

  SY, SYN
         - logi~eskoe imq ustrojstwa, s kotorogo zagruvena operacionnaq
           sistema; SYN opredelqet ustrojstwo, podkl`~ennoe k  tomu  ve
           kontrolleru, ~to i SY, i ime`}ee nomer N (maksimalxnoe  zna-
           ~enie N zawisit ot tipa fizi~eskogo ustrojstwa);  sootwetst-
           wie SY i  fizi~eskogo  ustrojstwa  ne  movet  bytx  izmeneno
           komandoj monitora ASSIGN;

  DK, DKN
         - logi~eskoe imq ustrojstwa, kotoroe ispolxzuetsq po umol~ani`
           (standartnoe ustrojstwo); DKN opredelqet ustrojstwo, podkl`-
           ~ennoe k tomu ve kontrolleru, ~to i DK, i ime`}ee  nomer  N;
           posle zagruzki operacionnoj sistemy DK sowpadaet s SY; soot-
           wetstwie  DK  fizi~eskomu  ustrojstwu  movet  bytx  izmeneno
           komandoj ASSIGN (w otli~ie ot SY).

                                 - 207 -




                                                          pRILOVENIE 4




                       katalog sistemnyh bibliotek




       w tablice predstawlen spisok  makrokomand  i  funkcij  sistemnyh
  bibliotek. daetsq sootwetstwie ih mevdu soboj, a takve wozmovnostx ih
  wypolneniq pod uprawleniem razli~nyh monitorow. primenq`tsq sledu`}ie
  obozna~eniq:

  +      - operaciq wypolnima pod uprawleniem dannogo monitora;

  *      - wozmovnostx wypolneniq operacii zawisit ot generacii monito-
           ra;

  U      - operaciq wypolnqetsq komponentom monitora  USR  i  ne  movet
           ispolxzowatxsq w podprogrammah zawer{eniq;

  W      - pered  operaciej  proizwoditsq  perezagruzka  kopii  USR   w
           pamqtx; w slu~ae  RT11BL(AI)  dannaq  operaciq  otrabatywaet
           tolxko odin raz pered wypolneniem operacii, trebu`}ej raboty
           s katalogom;

  -      - operaciq wypolnqetsq kak NOP;

  A      - wypolnenie operacii priwodit k gruboj sistemnoj o{ibke;

  (1)    - makrokomandy, ispolxzuemye tolxko dlq drajwerow;

  (2)    - makrokomandy, kotorye ispolxzu`tsq  tolxko  dlq  opredeleniq
           mnemoni~eskih obozna~enij i tablic.

                                 - 208 -




   ----------------------------------------------------
   funkciq  !  makro-   ! kod !        RT11
            !  komanda  ! EMT !------------------------
   programma!           !     ! bl ! sj ! fb ! xm ! nts
   ----------------------------------------------------
   ICLOSE   ! .CLOSE    ! 374 ! +U ! +U ! +U ! +U ! +U
            !           !     !    !    !    !    !
   IDELET   ! .DELETE   ! 375 ! *U ! +U ! +U ! +U ! +U
            !           !     !    !    !    !    !
   IENTER   ! .ENTER    ! 375 ! *U ! +U ! +U ! +U ! +U
            !           !     !    !    !    !    !
   IRENAM   ! .RENAME   ! 375 ! *U ! +U ! +U ! +U ! +U
            !           !     !    !    !    !    !
   LOOKUP   ! .LOOKUP   ! 375 ! *U ! +U ! +U ! +U ! +U
            !           !     !    !    !    !    !
   IRCVD    ! .RCVD     ! 375 !  A !  A !  + !  + !  A
            !           !     !    !    !    !    !
   IRCVDC   ! .RCVDC    ! 375 !  A !  A !  + !  + !  A
            !           !     !    !    !    !    !
   IRCVDF   !           !     !  A !  A !  + !  + !  A
            !           !     !    !    !    !    !
   IRCVDW   ! .RCVDW    ! 375 !  A !  A !  + !  + !  A
            !           !     !    !    !    !    !
   IREAD    ! .READ     ! 375 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   IREADC   ! .READC    ! 375 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   IREADF   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   IREADW   ! .READW    ! 375 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   ISDAT    ! .SDAT     ! 375 !  A !  A !  + !  + !  A
            !           !     !    !    !    !    !
   ISDATC   ! .SDATC    ! 375 !  A !  A !  + !  + !  A
            !           !     !    !    !    !    !
   ISDATF   !           !     !  A !  A !  + !  + !  A
            !           !     !    !    !    !    !
   ISDATW   ! .SDATW    ! 375 !  A !  A !  + !  + !  A
            !           !     !    !    !    !    !
            ! .TTYIN    ! 340 !  * !  + !  + !  + !  +
            !           !     !    !    !    !    !
   ITTINR   ! .TTINR    ! 340 !  * !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .TTYOUT   ! 341 !  * !  + !  + !  + !  +
            !           !     !    !    !    !    !
   ITTOUR   ! .TTOUTR   ! 341 !  * !  + !  + !  + !  +
            !           !     !    !    !    !    !
   IWAIT    ! .WAIT     ! 374 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   IWRITC   ! .WRITC    ! 375 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   IWRITE   ! .WRITE    ! 375 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   IWRITF   !           !     !  + !  + !  + !  + !  +

                                 - 209 -




                                           prodolvenie
   ----------------------------------------------------
   funkciq  !  makro-   ! kod !        RT11
   i pod-   !  komanda  ! EMT !------------------------
   programma!           !     ! bl ! sj ! fb ! xm ! nts
   ----------------------------------------------------
   IWRITW   ! .WRITW    ! 375 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   MWAIT    ! .MWAIT    ! 374 !  A !  A !  + !  + !  A
            !           !     !    !    !    !    !
   PRINT    ! .PRINT    ! 351 !  * !  + !  + !  + !  +
            !           !     !    !    !    !    !
   ICDFN    ! .CDFN     ! 375 !  *W!  +W!  + !  + !  -
            !           !     !    !    !    !    !
   ICHCPY   ! .CHCOPY   ! 375 !  A !  A !  + !  + !  A
            !           !     !    !    !    !    !
   ICSTAT   ! .CSTAT    ! 375 !  A !  A !  + !  + !  +
            !           !     !    !    !    !    !
   IFREEC   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   IGETC    !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   ILUN     !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   IREOPN   ! .REOPEN   ! 375 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   ISAVES   ! .SAVESTATU! 375 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   PURGE    ! .PURGE    ! 374 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   IASIGN   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   ICSI     ! .CSISPC   ! 345 !  *U!  +U!  +U!  +U!  +U
            !           !     !    !    !    !    !
            ! .CSIGEN   ! 344 !  *U!  +U!  +U!  +U!  +U
            !           !     !    !    !    !    !
   CVTTIM   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   GTIM     ! .GTIM     ! 375 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   ICMKT    ! .CMKT     ! 375 !  * !  * !  + !  + !  +
            !           !     !    !    !    !    !
            ! .SDTTM    ! 375 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   ISHED    !           !     !  * !  * !  + !  + !  +
            !           !     !    !    !    !    !
   ISLEEP   !           !     !  - !  - !  + !  + !  +
            !           !     !    !    !    !    !
   ITIMER   !           !     !  * !  * !  + !  + !  +
            !           !     !    !    !    !    !
   ITWAIT   ! .TWAIT    ! 375 !  - !  - !  + !  + !  +
            !           !     !    !    !    !    !
   IUNTIL   !           !     !  - !  - !  + !  + !  +
            !           !     !    !    !    !    !
   JTIME    !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   MRKT     ! .MRKT     ! 375 !  * !  * !  + !  + !  +

                                 - 210 -




                                           prodolvenie
   ----------------------------------------------------
   funkciq  !  makro-   ! kod !        RT11
   i pod-   !  komanda  ! EMT !------------------------
   programma!           !     ! bl ! sj ! fb ! xm ! nts
   ----------------------------------------------------
   SECNDS   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   TIMASC   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   TIME     !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   CHAIN    ! .CHAIN    ! 374 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .CNFDF(2) !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .CNTXSW   ! 375 !  - !  - !  + !  + !  -
            !           !     !    !    !    !    !
            ! .CTRLT(2) !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .DATA     ! 374 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .DBLK (2) !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   DEVICE   ! .DEVICE   ! 375 !  - !  - !  + !  + !  *
            !           !     !    !    !    !    !
            ! .DIR      !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .EXIT     ! 350 !  + !  +U!  +U!  +U!  +
            !           !     !    !    !    !    !
   GTJB     ! .GTJB     ! 375 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .HERR     ! 374 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .HRESET   ! 357 !  +W!  +U!  + !  + !  +
            !           !     !    !    !    !    !
   IDSTAT   ! .DSTATUS  ! 342 !  *U!  +U!  +U!  +U!  +U
            !           !     !    !    !    !    !
   IFETCH   ! .FETCH    ! 343 !  +U!  +U!  +U!  +U!  -
            !           !     !    !    !    !    !
            ! .INTEN    !     !  + !  + !  + !  + !  -
            !           !     !    !    !    !    !
   IQSET    ! .QSET     ! 353 !  *W!  +W!  +W!  +U!  -
            !           !     !    !    !    !    !
   ISPFN    ! .SPFUN    ! 375 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   ISPFNC   ! .SPFUN    ! 375 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   ISPFNF   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   ISPFNW   ! .SPFUN    ! 375 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   ITLOCK   ! .TLOCK    ! 374 !  *U!  +U!  +U!  +U!  -
            !           !     !    !    !    !    !
            ! .JSWDF(2) !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   LOCK     ! .LOCK     ! 346 !  +U!  +U!  +U!  +U!  -

                                 - 211 -




                                           prodolvenie
   ----------------------------------------------------
   funkciq  !  makro-   ! kod !        RT11
   i pod-   !  komanda  ! EMT !------------------------
   programma!           !     ! bl ! sj ! fb ! xm ! nts
   ----------------------------------------------------
            ! .MFPS     !     !  + !  + !  + !  - !  -
            !           !     !    !    !    !    !
            ! .MTPS     !     !  + !  + !  + !  - !  -
            !           !     !    !    !    !    !
            ! .POP      !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .PROTECT  ! 375 !  - !  - !  + !  + !  -
            !           !     !    !    !    !    !
            ! .PUSH     !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   RCHAIN   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   RCTRLO   ! .RCTRLO   ! 355 !  * !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .RELEASE  ! 343 !  - !  +U!  +U!  +U!  -
            !           !     !    !    !    !    !
            ! .ROFDF(2) !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   RESUME   ! .RSUM     ! 374 !  - !  - !  + !  + !  *
            !           !     !    !    !    !    !
   SCCA     ! .SCCA     ! 375 !  * !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .SCMDF(2) !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .SERR     ! 374 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   SETCMD   !           !     !  - !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .SETTOP   ! 354 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .SFPA     ! 375 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .SPCPS    ! 375 !  - !  - !  + !  + !  +
            !           !     !    !    !    !    !
            ! .SRESET   ! 352 !  +W!  +W!  + !  + !  +
            !           !     !    !    !    !    !
            ! .SYNCH    !     !  + !  + !  + !  + !  -
            !           !     !    !    !    !    !
   SUSPND   ! .SPND     ! 374 !  - !  - !  + !  + !  *
            !           !     !    !    !    !    !
            ! .TRPSET   ! 375 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   UNLOCK   ! .UNLOCK   ! 347 !  * !  + !  + !  + !  -
            !           !     !    !    !    !    !
            ! .UNPROTECT! 375 !  - !  - !  + !  + !  -
            !           !     !    !    !    !    !
            ! .USBDF(2) !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   AJFLT    !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   DJFLT    !           !     !  + !  + !  + !  + !  +

                                 - 212 -




                                           prodolvenie
   ----------------------------------------------------
   funkciq  !  makro-   ! kod !        RT11
   i pod-   !  komanda  ! EMT !------------------------
   programma!           !     ! bl ! sj ! fb ! xm ! nts
   ----------------------------------------------------
   IAJFLT   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   IDJFLT   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   IJCVT    !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   JADD     !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   JAFIX    !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   JCMP     !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   JDFIX    !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   JDIV     !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   JICVT    !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   JJCVT    !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   JMOV     !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   JMUL     !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   JSUB     !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .CRAW     ! 375 !  A !  A !  A !  + !  A
            !           !     !    !    !    !    !
            ! .CRRG     ! 375 !  A !  A !  A !  + !  A
            !           !     !    !    !    !    !
            ! .ELAW     ! 375 !  A !  A !  A !  + !  A
            !           !     !    !    !    !    !
            ! .ELRG     ! 375 !  A !  A !  A !  + !  A
            !           !     !    !    !    !    !
            ! .GMCX     ! 375 !  A !  A !  A !  + !  A
            !           !     !    !    !    !    !
            ! .MAP      ! 375 !  A !  A !  A !  + !  A
            !           !     !    !    !    !    !
            ! .RDBBK(2) !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .RDBDF(2) !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .UNMAP    ! 375 !  A !  A !  A !  + !  A
            !           !     !    !    !    !    !
            ! .WDBBK(2) !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .WDBDF(2) !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   CONCAT   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   GETSTR   !           !     !  + !  + !  + !  + !  +

                                 - 213 -




                                           prodolvenie
   ----------------------------------------------------
   funkciq  !  makro-   ! kod !        RT11
   i pod-   !  komanda  ! EMT !------------------------
   programma!           !     ! bl ! sj ! fb ! xm ! nts
   ----------------------------------------------------
   GTLIN    ! .GTLIN    ! 345 !  *U!  +U!  +U!  +U!  +U
            !           !     !    !    !    !    !
   INDEX    !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   INSERT   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   LEN      !           !     !  + !  + !  + !  + !  +

   PUTSTR   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   REPEAT   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   SCOMP    !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   SCOPY    !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   STRPAD   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   SUBSTR   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   TRANSL   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   TRIM     !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   VERIFY   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   IRAD50   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   R50ASC   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   RAD50    !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .CTIMIO(1)!     !  * !  * !  * !  * !  +
            !           !     !    !    !    !    !
            ! .DRAST(1) !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .DRBEG(1) !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .DRBOT(1) !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .DRDEF(1) !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .DREND(1) !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .DRFIN(1) !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .DRSET(1) !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .DRVTB(1) !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .FORK (1) !     !  + !  + !  + !  + !  +

                                 - 214 -




                                           prodolvenie
   ----------------------------------------------------
   funkciq  !  makro-   ! kod !        RT11
   i pod-   !  komanda  ! EMT !------------------------
   programma!           !     ! bl ! sj ! fb ! xm ! nts
   ----------------------------------------------------
            !.QELDF(1,2)!     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
            ! .TIMIO(1) !     !  * !  * !  * !  * !  +
            !           !     !    !    !    !    !
   MTATCH   ! .MTATCH   ! 375 !  A !  * !  * !  * !  A
            !           !     !    !    !    !    !
   MTDTCH   ! .MTDTCH   ! 375 !  A !  * !  * !  * !  A
            !           !     !    !    !    !    !
   MTGET    ! .MTGET    ! 375 !  A !  * !  * !  * !  A
            !           !     !    !    !    !    !
   MTIN     ! .MTIN     ! 375 !  A !  * !  * !  * !  A
            !           !     !    !    !    !    !
   MTOUT    ! .MTOUT    ! 375 !  A !  * !  * !  * !  A
            !           !     !    !    !    !    !
   MTPRNT   ! .MTPRNT   ! 375 !  A !  * !  * !  * !  A
            !           !     !    !    !    !    !
   MTRCTO   ! .MTRCTO   ! 375 !  A !  * !  * !  * !  A
            !           !     !    !    !    !    !
   MTSET    ! .MTSET    ! 375 !  A !  * !  * !  * !  A
            !           !     !    !    !    !    !
   MTSTAT   ! .MTSTAT   ! 375 !  A !  * !  * !  * !  A
            !           !     !    !    !    !    !
   IADDR    !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   IGETSP   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   INTSET   !           !     !  + !  + !  + !  + !  -
            !           !     !    !    !    !    !
   IPEEK    !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   IPEEKB   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   IPOKE    !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   IPOKEB   !           !     !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   ISPY     ! .GVAL     ! 375 !  + !  + !  + !  + !  +
            !           !     !    !    !    !    !
   IBLIN    ! .BLIN     ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IBLOUT   ! .BLOUT    ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IBREAK   ! .BREAK    ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   ICONVIR  ! .CONVIR   ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IDJSTART ! .DJSTART  ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IDJKILL  ! .DJKILL   ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IDJTST   ! .DJTST    ! 375 !  - !  - !  - !  - !  +

                                 - 215 -




                                           prodolvenie
   ----------------------------------------------------
   funkciq  !  makro-   ! kod !        RT11
   i pod-   !  komanda  ! EMT !------------------------
   programma!           !     ! bl ! sj ! fb ! xm ! nts
   ----------------------------------------------------
   IDISMO   ! .DISMO    ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IENSWAP  ! .ENSWAP   ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IFRSPL   ! .FRSPL    ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IHIOF    ! .HIOF     ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IHION    ! .HION     ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IMGET    ! .MGET     ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IMGETWAIT! .MGETWAIT ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IMLOCKB  ! .IMLOCK   ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IMOUNT   ! .MOUNT    ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IMPUTB   ! .MPUT     ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IMSEND   ! .MSEND    ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   INTCON   ! .INTCON   ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   INTFRE   ! .INTFRE   ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IOBIC    ! .IOBIC    ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IOBIS    ! .IOBIS    ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IOGET    ! .IOGET    ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IOMAP    ! .IOMAP    ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IOPUT    ! .IOPUT    ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IOUNMAP  ! .IOUNMAP  ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IPOLOCK  ! .POLOCK   ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IRSTODT  ! .RSTODT   ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   ISETODT  ! .SETODT   ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   ISFOPEN  ! .SFOPEN   ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   ISFLOCK  ! .SFLOCK   ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   ISFTLOCK ! .SFTLOCK  ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   ISFUNLOCK! .SFUNLOCK ! 375 !  - !  - !  - !  - !  +

                                 - 216 -




                                           prodolvenie
   ----------------------------------------------------
   funkciq  !  makro-   ! kod !        RT11
   i pod-   !  komanda  ! EMT !------------------------
   programma!           !     ! bl ! sj ! fb ! xm ! nts
   ----------------------------------------------------
   ISFUNALL ! .SFUNALL  ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   ISFWCHECK! .SFWCHECK ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   ISFSAVE  ! .SFSAVE   ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   ISHARE   ! .SHARE    ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   ISHMAP   ! .SHMAP    ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IPAINI   ! .PAINIT   ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IPASTA   ! .PASTART  ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IPASTO   ! .PASTOP   ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   IPAGET   ! .PAGET    ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   ITRMTYPE ! .TRMTYPE  ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   ITSLINE  ! .TSLINE   ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   ITSTACT  ! .TSTACT   ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   ITSTER   ! .TSTER    ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   ITSTOP   ! .TSTOP    ! 375 !  - !  - !  - !  - !  +
            !           !     !    !    !    !    !
   ITTIME   ! .TTIME    ! 375 !  - !  - !  - !  - !  +































                                                                                                                                                                                                                                                                            