Index of /ukdwk_archive/dwkwebcomplekt/C

[ICO]NameSizeDescription
[PARENTDIR]Parent Directory -  
[   ]C.DSK1.5M 
                                                                                                                                            
Image  :   C.DSK

Format :   DSK 
Size   :   1'581 Kb

Volume ID: RAFOS
Owner    : 

File       Blocks    Date       Bytes
---------- ------ ----------- ----------
CC    .SAV    98  17-Dec-1986     50'176
CLIB  .OBJ    67  17-Dec-1986     34'304
STDIO .H       6  17-Dec-1986      3'072
AS    .SAV    84  17-Dec-1986     43'008
SUPORT.OBJ     1  17-Dec-1986        512
GC    .SAV    16  17-Dec-1986      8'192
TDAT  .C       4  17-Dec-1986      2'048
TDAT  .SAV    11  17-Dec-1986      5'632
ALLCC .DOC   843  17-Dec-1986    431'616
ALLLIB.DOC  1172  17-Dec-1986    600'064
APB   .DOC   147  17-Dec-1986     75'264
APC   .DOC    55  17-Dec-1986     28'160
C2    .SYS   546  05-May-1986    279'552
GRAFED.SAV    38  17-Dec-1986     19'456
GPA   .SAV    36  17-Dec-1986     18'432
---------- ------ ----------- ----------
 15 Files, 3124 Blocks
 0 Free blocks                                                                                                  - 2 -                                     
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
             яхярелю опнцпюллхпнбюмхъ мю "C". DECUS                                                                                         
                                                                                                                                            
                                                                                                                                            
                                                                                                яндепфюмхе                                  
                                                                                                                                            
                     йнлохкърнп & ахакхнрейю                                                                                                
                     яопюбнвмне псйнбндярбн                                                                                                 
                                                                                                                                            
                                                                        1.  ббедемхе............................................  6         
                                                                                                                                            
                                                                                                                                            
          юбрнп:          люпрхм лхмнс                                  2.  ярюмдюпрмюъ ахакхнрейю..............................  7         
          педюйрнпш:      пнаепр а. деммх                                                                                                   
                                                                        2.1.   ббедемхе б онрнйх рхою UNIX......................  8         
                                                                        2.2.   нрйпшрхе х гюйпшрхе тюикнб.......................  8         
                                                                        2.3.   времхе дюммшу хг тюикю...........................  9         
                                                                        2.4.   гюохяэ дюммшу б тюик............................. 10         
                                                                        2.5.   бгюхлндеиярбхе я ноепюжхнммни яхярелни........... 11         
                                                                        2.6.   кнцхвеяйхе мнлепю сярпниярб...................... 11         
                                                                        2.7.   цпсоонбше ноепюжхх я тюикюлх..................... 12         
        щрнр днйслемр нохяшбюер ахакхнрейс хяонкмъчыеи яхярелш          2.8.   бшдекемхе оюлърх................................. 13         
   ъгшйю "я" DECUS дкъ ноепюжхнммшу яхярел  RSX/VMS/RSTS/RT11.          2.9.   цкнаюкэмше яхлбнкш............................... 13         
   нм рюйфе яндепфхр бяе бмсрпеммхе тсмйжхх х хлечысчяъ хмтнп-                                                                              
   люжхч.                                                               3.  яксфеамюъ хмтнплюжхъ................................ 14         
                                                                                                                                            
                                                                        3.1.   йнлохкърнп....................................... 14         
                                                                        3.2.   ахакхнрейю хяонкмъчыеи яхярелш "C"............... 17         
            цпсоою он ярпсйрспхпнбюммшл ъгшйюл, DECUS                   3.3.   ахакхнрейю хмрептеияю я RSTS/E................... 17         
                  бепяхъ нр 6 мнъапъ 1980 цндю                          3.4.   пюяьхпеммюъ ахакхнрейю RSX-11.................... 17         
                                                                        3.5.   пюяьхпеммюъ ахакхнрейю RT-11..................... 18         
                                                                        3.6.   хмярпслемрш х хцпсьйх............................ 18         
                                                                        3.7.   онксвемхе днйслемрюжхх........................... 19         
                                                                                                                                            
                                                                        4.  бмсрпеммъъ хмтнплюжхъ йнлохкърнпю................... 20         
                                                                                                                                            
                                                                        4.1.   тнплюр тюикю опнлефсрнвмнцн йндю................. 20         
                                                                        4.2.   йнднцемепюрнп.................................... 23         
                                                                        4.2.1.   норхлхгюжхъ х пюяопедекемхе пецхярпнб.......... 23         
                                                                        4.2.2.   цемепюрнп йндю................................. 24         
                                                                        4.2.3.   люйпняш, хяонкэгселше опх йнднцемепюжхх........ 25         
                                                                        4.3.   онддепфйю пюяьхпеммни юооюпюрспш................. 27         
                                                                                                                                            
                                                                        5.  нохяюмхе ахакхнревмшу тсмйжхи....................... 28         
                                                                                                                                            
                                                                        5.1.   опенапюгнбюмхе хг RADIX-50 б ASCII............... 28         
                                                                        5.2.   гюйпшрэ бяе йюмюкш............................... 29         
                                                                        5.3.   аеггмюйнбне декемхе (рнкэйн MACRO)............... 29         
                                                                        5.4.   опенапюгнбюмхе дбнимни рнвмнярх б ASCII.......... 30         
                                                                        5.5.   онддепфйю окюбючыеи гюоърни.                                 
                                                                               якнфемхе/бшвхрюмхе............................... 31         
                                                                        5.6.   слмнфемхе/декемхе я окюбючыеи гюоърни............ 31         
                                                                        5.7.   опнжедспш онддепфйх окюбючыеи гюоърни............ 32         
                                                                        5.8.   пюганп йнлюмдмни ярпнйх.......................... 32         
                                                                        5.9.   онксвемхе гмюйнб................................. 33         
                                                                        5.10.  ндмнпюгнбши йнд хмхжхюкхгюжхх.................... 34         
                                                                        5.11.  опенапюгнбюмхе LONG б ASCII...................... 36         
                                                                        5.12.  мювюкн пюанрш опнцпюллш мю "C"................... 36         
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 3 -                                                                - 4 -                                     
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
   5.13.  нопедекемхе слнквюмхъ дкъ $$NARG................  38          5.63.  опенапюгнбюмхе хлемх тюикю б ASCII..............  80         
   5.14.  бшбеярх ндхм гмюй б тюик........................  39          5.64.  хярхмю, еякх юпцслемр - асйбю...................  81         
   5.15.  напюыемхе й яепбхяс лнмхрнпю RSX................  39          5.65.  хярхмю, еякх юпцслемр - жхтпю...................  81         
   5.16.  янупюмемхе пецхярпнб R1-R5 б ярейе..............  40          5.66.  хярхмю, еякх юпцслемр - люкюъ асйбю.............  81         
   5.17.  опейпюыемхе пюанрш опнцпюллш я бшонкме-                       5.67.  хярхмю, еякх юпцслмр - анкэьюъ асйбю............  82         
          мхел хмярпсйжхх BPT.............................  40          5.68.  опенапюгнбюмхе жекнцн б ASCII...................  82         
   5.18.  юаянкчрмне гмювемхе жекнцн......................  41          5.69.  опенапюгнбюмхе  жекнцн  б  бняэлепхвмне                      
   5.19.  бшдекемхе оюлърх................................  41                 ASCII...........................................  83         
   5.20.  опенапюгнбюмхе ASCII б RADIX-50.................  42          5.70.  опенапюгнбюмхе жекнцн б ьеярмюджюрхпхв-                      
   5.21.  лндскэ щлскърнпю EIS............................  42                 мне ASCII.......................................  83         
   5.22.  ядбхц LONG<>INT......................  44                 пецхярпнб.......................................  85         
   5.25.  опенапюгнбюмхе хг ASCII б вхякн я  окю-                       5.73.  бшбнд яннаыемхъ мю реплхмюк ноепюрнпю...........  86         
          бючыеи гюоърни дбнимни рнвмнярх.................  45          5.74.  слмнфемхе LONG * LONG...........................  87         
   5.26.  опенапюгнбюмхе ASCII б жекне....................  45          5.75.  времхе хг ъвеийх б RSTS/E.......................  87         
   5.27.  опенапюгнбюмхе ASCII б дкхммне жекне............  46          5.76.  опнжедспю тнплюрхпнбюммни оевюрх................  88         
   5.28.  хглемемхе пюяопедекемхъ оюлърх..................  46          5.77.  оевюрэ дюммшу опнтхкхпнбюмхъ....................  90         
   5.29.  бшгнб  (тнпрпюмнбяйху)  ондопнцпюлл  хг                       5.78.  бшбеярх ндхм гмюй б тюик........................  91         
          "C".............................................  47          5.79.  бшбеярх ярпнйс б тюик...........................  92         
   5.30.  бшгнб ("C") опнжедсп хг тнпрпюмю................  48          5.80.  бшбеярх дбнхвмне жекне б тюик...................  92         
   5.31.  бнгбпюр хлемх лндскъ, бшгбюбьецн опнже-                       5.81.  опенапюгнбюмхе RADIX-50 б ASCII.................  93         
          дспс онярпнемхъ опнтхкъ.........................  49          5.82.  цемепюрнп яксвюимшу вхяек.......................  93         
   5.32.  бшдекемхе х хмхжхюкхгюжхъ оюлърх................  50          5.83.  оепепюяопедекхрэ оюлърэ.........................  94         
   5.33.  рпюяяхпнбйю онякеднбюрекэмнярх бшгнбю...........  50          5.84.  бепмсрэяъ б мювюкн тюикю дкъ онбрнпмнцн                      
   5.34.  йнмйюремюжхъ ярпнй..............................  51                 времхъ..........................................  95         
   5.35.  йнохпнбюмхе гюдюммнцн вхякю аюир................  52          5.85.  опенапюгнбюмхе дюрш х бпелемх...................  95         
   5.36.  йнохпнбюмхе ярпнйх..............................  52          5.86.  бшдекемхе кнйюкэмни оюлърх......................  96         
   5.37.  янупюмемхе х бняярюмнбкемхе пецхряпнб б                       5.87.  бшдекхрэ оюлърэ ноепюжхнммни яхярелш............  96         
          "C".............................................  53          5.88.  тнплюрхпнбюммне опенапюгнбюмхе опх ббн-                      
   5.38.  опенапюгнбюмхе астепю вюянб б ASCII.............  54                 де..............................................  97         
   5.39.  декемхе х нярюрнй дкъ дкхммнцн жекнцн...........  55          5.89.  опхлхрхбш щйпюммнцн ббндю/бшбндю................ 100         
   5.40.  лмнцнспнбмебши бнгбпюр хг тсмйжхх...............  55          5.90.  опепшбюмхе он CTRL/C (рнкэйн дкъ RSTS/E                      
   5.41.  бшунд он ньхайе хг опнцпюлл мю "C"..............  57                 б пефхле RT11).................................. 105         
   5.42.  бшунд хг опнцпюллш мю "C".......................  57          5.91.  опхнярюмнбхрэ гюдюмхе мю сйюгюммне вхя-                      
   5.43.  опнбепйю йнмжю тюикю............................  59                 кн яейсмд....................................... 105         
   5.44.  опнбепйю ньхайх тюикю...........................  59          5.92.  япюбмемхе ярпнй................................. 106         
   5.45.  бшбнд бшундмнцн астепю..........................  59          5.93.  йнохпнбюмхе ярпнй............................... 107         
   5.46.  ббнд дбнхвмни гюохях............................  60          5.94.  япюбмемхе ярпнй................................. 107         
   5.47.  времхе ярпнйх хг тюикю..........................  61          5.95.  дкхмю ярпнйх.................................... 108         
   5.48.  онксвемхе кнцхвеяйнцн мнлепю сярпнирябю.........  62          5.96.  налем аюирнб (юпцслемрнл ъбкъеяъ сйюгю-                      
   5.49.  люпйхпнбйю тюикю мю сдюкемхе....................  62                 рекэ мю астеп).................................. 108         
   5.50.  нрйпшрхе тюикю..................................  63          5.97.  налем аюирнб (юпцслемр ъбкъеряъ жекшл).......... 109         
   5.51.  бшбнд дбнхвмни гюохях...........................  67          5.98.  бшвхякхрэ бпелъ дмъ............................. 109         
   5.52.  пюяонгмюбюмхе  тюикю,  нпхемрхпнбюммнцн                       5.99.  опенапюгнбюрэ анкэьхе асйбш б люкше............. 110         
          мю гюохях.......................................  68          5.100. опенапюгнбюрэ люксч асйбс б анкэьсч............. 110         
   5.53.  онгхжхнмхпнбюмхе сйюгюрекеи тюикю...............  68          5.101.  бундмни лндскэ онддепфйх опнтхкхпнбюмхъ                     
   5.54.  яосккхмц тюикю б нвепедэ  он  слнквюмхч                              (я рпюяяхпнбйни)................................ 111         
          дкъ оевюрх......................................  69          5.102.  напюанрвхй опепшбюмхи ноепюжхнммни яхя-                     
   5.55.  онксвемхе онгхжхх тюикю дкъ  онгхжхнмх-                              релш............................................ 112         
          пнбюмхъ.........................................  70          5.103. бепмсрэ гмюй мюгюд бн бундмни тюик.............. 114         
   5.56.  опнбепйю тюикю реплхмюкю........................  71          5.104. бшонкмемхе мекнйюкэмнцн оепеундю................ 114         
   5.57.  цпсоонбюъ ноепюжхъ нрйпшрхъ тюикю...............  71          5.105. днпнцни яоняна онксвемхъ SIZEOF(INT)............ 115         
   5.58.  онксвхрэ гмюйх..................................  75          5.106. тхйрхбмюъ  опнцпюллю,  бшгшбюелюъ   опх                      
   5.59.  опнвхрюрэ ярпнйс хг STDIN.......................  75                 бшунде.......................................... 115         
   5.60.  онксвхрэ хлъ сопюбкъчыецн реплхмюкю.............  76          5.107. нвхярхрэ акнй оюлърх............................ 116         
   5.61.  ббеярх дбнхвмне жекне хг тюикю..................  76          опхкнфемхъ                                                          
   5.62.  нопедекемхе бейрнпю ббндю/бшбндю................  77          1.  онярюбйю........................................... 118         
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 5 -                                                                - 6 -                                     
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
   2.  янцкюьемхъ дкъ йнлюмдмшу тюикнб.................... 119                                 1. ббедемхе                                  
                                                                                                                                            
                                                                                                                                            
   3.  дерюкэмне яндепфхлне онярюбйх...................... 120                                                                              
                                                                                                                                            
                                                                             ахакхнрейю онддепфйх "C" яндепфхр рпх нямнбмшу  цпсоош         
   4.  нагнп опнжедспш гюосяйю яхярелш.................... 123          тсмйжхи:                                                            
                                                                                                                                            
   4.1.   гюосяй б яхяреле RSTS/E......................... 123                 - тсмйжхх, бшгшбюелше  йнлохкърнпнл  дкъ  бшонкмемхъ         
   4.2.   гюосяй б яхяреле VMS............................ 125                   нопедекеммшу люрелюрхвеяйху  ноепюжхи  (рюйху  йюй         
   4.3.   гюосяй б яхяреле RSX-11M........................ 126                   слмнфемхе я окюбючыеи рнвйни хкх  бшгнб  тсмйжхх),         
   4.4.   гюосяй б яхяреле RT-11.......................... 126                   йнрнпше ме рпюмякхпсчряъ б кхмеимши йнд;                   
                                                                                                                                            
                                                                               - тсмйжхх, йнрнпше лнцср  бшгшбюрэяъ  опнцпюллни  мю         
                                                                                 "C", дкъ бшонкмемхъ ноепюжхи, рюйху йюй  йнохпнбю-         
                                                                                 мхе ярпнйх, йнрнпше анкее  щттейрхбмн  бшонкмъчряъ         
                                                                                 опх онлных норхлхгхпнбюммшу ондопнцпюлл  мю  ъгшйе         
                                                                                 юяяелакепю;                                                
                                                                                                                                            
                                                                               - пеюкхгюжхъ (анкэьхмярбю) тсмйжхи ярюмдюпрмни  аха-         
                                                                                 кхнрейх ббндю/бшбндю UNIX.                                 
                                                                                                                                            
                                                                             ярюмдюпрмюъ опнжедспю бйкчвемхъ  б  яхярелс  онпнфдюер         
                                                                        дбю днйслемрю. яопюбнвмхй он ахакхнрейе онддепфйх хяонкмъч-         
                                                                        ыеи яхярелш нохяшбюер йюй хяонкэгнбюрэ ахакхнрейс "C". нох-         
                                                                        яюмхе опнцпюллмшу япедярб йнлохкърнпю х ахакхнрейх яндепфхр         
                                                                        бяч  онкэгнбюрекэяйсч  днйслемрюжхч   окчя   днонкмхрекэмсч         
                                                                        хмтнплюжхч он бмсрпеммняръл йнлохкърнпю х ахакхнрейх.  дюм-         
                                                                        мши днйслемр ъбкъеряъ нохяюмхел опнцпюллмшу япедярб.                
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 7 -                                                                - 8 -                                     
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                   2. ярюмдюпрмюъ ахакхнрейю                                      2.1. ббедемхе б онрнйх рхою UNIX                          
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                             щрнр ондпюгдек яндепфхр нагнп  ярюмдюпрмнцн  хмрепеияю         
                                                                        ббндю/бшбндю опнцпюлл  мю  "C".  щрх  опнжедспш  кецйх  дкъ         
        о_п_х_л_е_в_ю_м_х_е. дюммюъ бепяхъ ахакхнрейх вюярхвмн          хяонкэгнбюмхъ х, унръ нмх ме опеднярюбкъчр онйю бяеу  тсмй-         
   меянблеярхлю я опедшдсыеи бепяхеи  йнлохкърнпю  "C"  DECUS.          жхнмюкэмшу бнглнфмняреи  RSX  хкх  RMS,  дючр  опнцпюллхярс         
   щрю меянблеярхлнярэ дюкю анкэьсч янблеярхлнярэ я бепяхеи  7          опюйрхвеяйх бяе менаундхлне дкъ ефедмебмни пюанрш. нохяюмхе         
   UNIX х опеднярюбхкю бнглнфмнярэ цемепюжхх цкнаюкэмшу яяшкнй          бйкчвюер:                                                           
   х нопедекемхи, яндепфюыху яхлбнкш "$" х "." йндю RADIX-50.                  - нрйпшрхе х гюйпшрхе тюикнб;                                
                                                                               - времхе дюммшу хг тюикю;                                    
        бяе опнцпюллш, мюохяюммше мю "C", днкфмш ашрэ  яйнлон-                 - гюохяэ дюммшу б тюик.                                      
   мнбюмш я ахакхнрейни хяонкмъчыеи  яхярелш.  б  ноепюжхнммшу                                                                              
   яхярелюу, яндепфюыху нохяюмхъ кнцхвеяйху сярпниярб, ахакхн-               гюлерхл,  врн  тюикнбюъ  яхярелю   нцпюмхвемю:   тюикш         
   рейю, бннаые цнбнпъ, днкфмю ашрэ  пюглеыемю  мю  кнцхвеяйнл          ъбкъчряъ онякеднбюрекэмшлх я нцпюмхвеммшл  мюанпнл  япедярб         
   сярпниярбе  (йнде  онкэгнбюрекъ)  "C:".  ю  ахакхнрейю  дкъ          опълнцн днярсою. днярсомн рюйфе меанкэьне вхякн япедярб  хг         
   RSX-11M асдер мюундхрэяъ  б  "LB:[1,1]".  дкъ  рнцн,  врнаш          RMS/FCS. я дпсцни ярнпнмш, нцпюмхвемхъ декючр опнцпюллш  мю         
   яйнлонмнбюрэ опнцпюллс мю "C", менаундхлн  ядекюрэ  якедсч-          "C" кецве оепемняхлшлх б дпсцхе ноепюжхнммше яхярелш.               
   ыее:                                                                                                                                     
                                                                             йнцдю опнцпюллю мю "C" мювхмюер пюанрс, опеднопедекемш         
          RSX  >TKB                                                     х нрйпшрш рпх тюикю:                                                
               TKB> TASK/CP,MAP=OBJECTS,LB:C/LB                                                                                             
               TKB> /                                                          STDIN     - ярюмдюпрмши бундмни тюик;                        
               ENTER OPTIONS:                                                  STDOUT    - ярюмдюпрмши бшундмни тюик;                       
               TKB> STACK=2000                                                 STDERR    - ярюмдюпрмши тюик дкъ дхюцмнярхйх.                
               TKB> //                                                                                                                      
                                                                        STDERR бяецдю  мюгмювюеряъ  мю  реплхмюк  ноепюрнпю.  тюикш         
          RT11    .R LINK                                               STDIN х STDOUT нашвмн мюгмювючряъ мю реплхмюк ноепюрнпю, мн         
                  *SAVE,MAP=OBJECTS,C:SUPORT,C:CLIB/B:2000              лнцср ашрэ оепемюгмювемш хкх гюйпшрш опх гюосяйе опнцпюллш.         
                  *^C                                                                                                                       
                                                                                                                                            
   гюлерхл, врн б RSX-11M гюдювю днкфмю ярпнхрэяъ  йюй  бшцпс-                                                                              
   фюелюъ. щрн декюеряъ юбрнлюрхвеяйх б RSTS/E х VMS б  пефхле                    2.2. нрйпшрхе х гюйпшрхе тюикнб                           
   щлскъжхх RSX. мю  нпхцхмюкэмни  RSX-11M  онярпнхрекэ  гюдюв                                                                              
   лнфер ашрэ оепеярпнем я рел, врнаш йкчв "/CP"  тсмйжхнмхпн-                                                                              
   бюк он слнквюмхч. еякх йкчв "/CP"  ме  ашк  сйюгюм,  гюдювю                                                                              
   лнфер ашрэ ямърю я  бшонкмемхъ  (он  меубюрйе  оюлърх)  опх               тсмйжхх FOPEN х FCLOSE  сопюбкъчр  днярсонл  й  тюикс.         
   гюосяйе. еякх ондопнцпюллш хяонкэгсчр анкэьхе накюярх оюлъ-          нашвмн нмх хяонкэгсчряъ якедсчыхл напюгнл:                          
   рх онд мювюкэмше дюммше, ярей днкфем ашрэ пюяьхпем.                                                                                      
                                                                               #INCLUDE       /* нопедекемхъ дкъ б/б */            
        б RT-11 йкчв "/B" (мхфмъъ цпюмхжю) днкфем  сйюгшбюрэяъ                 FILE *IOPTR;            /* сйюгюрекэ мю тюик */              
   дкъ сбекхвемхъ пюглепю ярейю оепхндю бшонкмемхъ. щрн  мена-                 ...                                                          
   ундхлн, оняйнкэйс кнйюкэмше оепелеммше пюглеыючряъ мю  яре-                 IF ((IOPTR=FOPEN ("хлъ_тюикю","пефхл"))==NULL)               
   йе. еякх пюглеп ярейю ме  сбекхвем,  опнцпюллю  лнфер  ашрэ                    ERROR ("ме лнцс нрйпшрэ тюик");                           
   ямърю я бшонкмемхъ аег йюйху-кхан яннаыемхи на ньхайюу.                                                                                  
                                                                        бяъ хмтнплюжхъ на  нрйпшрнл  тюике  пюглеыюеряъ  б  астепе,         
        ярюмдюпрмши  цнкнбмни  тюик  хмрептеияю   ббндю/бшбндю          юдпея йнрнпнцн бнгбпюыюеряъ тсмйжхеи FOPEN(). астеп дхмюлх-         
   мюундхряъ б "C:STDIO.H" (б "LB:[1,1]STDIO.H" дкъ пеюкхгюжхх          веяйх янгдюеряъ, йнцдю тюик нрйпшбюеряъ х смхврнфюеряъ  опх         
   онд RSX-11M) х днкфем бйкчвюрэяъ бн бяе  опнцпюллш  мю  "C"          гюйпшрхх  тюикю.  ецн  тнплюр  нохяшбюеряъ  б  IOV.  ярпнйю         
   ноепюрнпнл:                                                          "пефхл" яндепфхр ткюцх, нопедекъчыхе опюбхкю днярсою й тюи-         
                                                                        кс:                                                                 
          #INCLUDE                                                                                                                 
                                                                               R    рнкэйн дкъ времхъ                                       
                                                                               W    гюохяэ мнбнцн тюикю                                     
                                                                               A    днаюбкемхе й ясыеярбсчыелс тюикс (хкх                   
                                                                                    гюохяэ мнбнцн) (ме пюанрюер б пефхлюу RT11).            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 9 -                                                                - 10 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
   нопедекъеряъ рюйфе мейнрнпюъ хмтнплюжхъ сопюбкемхъ  гюохяъ-                         REGISTER INT CCOUNT;                                 
   лх:                                                                                 REGISTER INT LCOUNT;                                 
                                                                                       REGISTER INT C;                                      
          N    нрлемю пефхлю мнбшу ярпнй (дбнхвмши тюик)                               FILE         *IOPTR;                                 
          U    RSX: онкэгнбюрекэяйюъ опнцпюллю бшдекъер                                IF ((IOPTR=FOPEN("FOO.BAR","R"))==NULL)              
                    астепю гюохяеи                                                           ERROR ("ме лнцс нрйпшрэ тюик");                
               RT11: бшбнд мю реплхмюк нясыеярбкъеряъ вепег                            CCOUNT=0;                                            
                     .TTYOUT                                                           LCOUNT=0;                                            
                                                                                       WHILE ((C=GETC(IOPTR)) !=EOF)[                       
        еякх сйюгюм пефхл "N", опнжедспш ббндю/бшбндю  RSX  ме                                 CCOUNT++;                                    
   хмрепоперхпсчр йнмеж кнцхвеяйни гюохях RMS, йюй йнмеж ярпн-                                 IF (C=='\N') LCOUNT++;                       
   йх, бняопхмхлюелни онкгнбюрекел щрн менаундхлн дкъ напюанр-                         ]                                                    
   йх дбнхвмни хмтнплюжхх. б RT-11 опнжедспш  ббндю/бшбндю  ме                         PRINTF ("%D гмюйнб, %D ярпнй.\N",                    
   сдюкъчр бнгбпюр йюперйх хг бундмнцн тюикю  х  ме  бярюбкъчр                                     CCOUNT,LCOUNT);                          
   ецн опх бшбнде мнбни ярпнйх.                                                ]                                                            
                                                                                                                                            
        пефхл "U" б RSX х RT-11 рпюйрсеряъ  он  пюгмнлс.  еякх                                                                              
   щрн сйюгшбюеряъ б RSX, онкэгнбюрекэ яюл наяксфхбюер астеп я               дпсцхе тсмйжхх ббндю бйкчвючр:                                 
   гюохяълх тюикю. опнцпюллю  лнфер  бшгшбюрэ  рнкэйн  тсмйжхх                                                                              
   FGET() х FPUT(). йюфдши рюйни  бшгнб  рпюмякхпсеряъ  меоня-         GETS    опнвхрюрэ ярпнйс хг ярюмдюпрмнцн ббндю;                      
   педярбеммн б напюыемхъ й GET$ хкх PUT$ хг RMS/FCS. (б RT-11         FGETS   опнвхрюрэ ярпнйс хг тюикю;                                   
   FPUT() лнфер хяонкэгнбюрэяъ  дкъ  бшбндю  дбнхвмни  гюохях,         GETSS   опнвхрюрэ ярпнйс хг тюикю х сдюкхрэ гюбепьючыхи гмюй         
   йнрнпюъ ашкю явхрюмю он FGET(). тюик днкфем ашрэ  нрйпшр  б         UNGETC  онлеярхрэ ндхм гмюй напюрмн б тюик;                          
   пефхле "N").                                                        FSEEK   онгхжхнмхпнбюрэ тюик мю сйюгюммсч гюохяэ.                    
                                                                                                                                            
        еякх пефхл "U" ашк сйюгюм б RT-11 опх нрйпшрхх  реплх-          щрх опнжедспш хяонкэгсчряъ  блеяре  я  тсмйжхълх  FERR()  х         
   мюкю ноепюрнпю, асдер опнхгбндхрэяъ  онгмювмши  бшбнд  (опх          FEOF(), онгбнкъчыхлх намюпсфхрэ яннрберярбеммн, ньхайс вре-         
   онлных яхярелмни люйпнйнлюмдш .TTYOUT). б опнрхбмнл  яксвюе          мхъ х днярхфемхе йнмжю тюикю. оюйер тсмйжхи  онкюцюер,  врн         
   бшбнд асдер онярпнвмшл (опх онлных  яхярелмни  люйпнйнлюмдш          кчаюъ ньхайю керюкэмю, х сярюмюбкхбюер йнмеж тюикю.                 
   .PRINT). опнжедспю хмхжхюкхгюжхх нрйпшбюер STDERR б  пефхле                                                                              
   "U", ю STDOUT б нашвмнл пефхле. хг щрнцн якедсер, врн  яле-                                                                              
   ьемхе ббндю/бшбндю мю нанху сярпниярбюу онпнфдюер  опнакелс                                                                              
   яхмупнмхгюжхх. дкъ онксвемхъ онгмювмнцн бшбндю  мю  STDOUT,                    2.4. гюохяэ дюммшу б тюик                                 
   опнцпюлле менаундхлн опнярн бшонкмхрэ:                                                                                                   
                                                                                                                                            
          IF (FREOPEN ("TT:","WU",STDOUT)==NULL)                                                                                            
              ERROR("");                                                     мюанп опнжедсп дкъ бшбндю дюммшу хлеер б ябнел янярюбе         
                                                                        тсмйжхх, опълн юмюкнцхвмше тсмйжхъл ббндю:                          
                                                                                                                                            
        дкъ гюбепьемхъ  пюанрш  я  тюикнл  опнцпюллю  бшгшбюер         PUTCHAR бшбеярх гмюй мю ярюмдюпрмши бшбнд;                           
   FCLOSE(IOPTR). щрн гюйпшбюер тюик  х  нябнанфдюер  астепмсч         PUTC    бшбеярх гмюй б сйюгюммши тюик;                               
   накюярэ, сопюбкъелсч яхярелни. тсмйжхъ  FMKDL(IOPTR)  лнфер         PUTS    бшбеярх ярпнйс мю ярюмдюпрмши бшбнд;                         
   ашрэ бшгбюмю дкъ гюйпшрхъ х сдюкемхъ нрйпшрнцн тюикю.               FPUTS   бшбеярх ярпнйс б сйюгюммши тюик;                             
                                                                       PUTSS   бшбеярх ярпнйс б сйюгюммши тюик;                             
                                                                       FTELL   бепмсрэ онгхжхч гюохях (дкъ FSEEK).                          
                                                                                                                                            
             2.3. времхе дюммшу хг тюикю                                                                                                    
                                                                             днонкмхрекэмн тсмйжхх PRINTF() х FPRINTF() опхлемъчряъ         
                                                                        дкъ тнплюрхпнбюмхъ х оевюрх дюммшу (йюй онйюгюмн б опедшдс-         
                                                                        ыел опхлепе). тсмйжхъ PRINTF() ъбкъеряъ цхайни,  днярюрнвмн         
        опняреиьхи  осрэ  времхъ  хг  тюикю  -  бшгнб  тсмйжхх          лнымни х кецйни дкъ хяонкэгнбюмхъ, х щрн  бнглнфмн  едхмяр-         
   GETCHAR() хкх GETC(), йнрнпше вхрючр  якедсчыхи  яхлбнк  хг          беммюъ мюханкее бюфмюъ опнжедспю б тюикнбни яхяреле.                
   тюикю. мюопхлеп,  якедсчыюъ  опнцпюллю  ондявхршбюер  вхякн                                                                              
   гмюйнб б тюике:                                                                                                                          
                                                                                                                                            
          #INCLUDE                                                                                                                 
          MAIN( )                                                                                                                           
          [                                                                                                                                 
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 11 -                                                               - 12 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
             2.5. бгюхлндеиярбхе я ноепюжхнммни яхярелни                         декю я йюйхлх-кхан яоежхюкэмшлх бнглнфмнярълх;             
                                                                                                                                            
                                                                               - мюопхлеп, б  RT-11  USR  ("опнцпюллю  наяксфхбюмхъ         
                                                                                 онкэгнбюрекъ") хяонкэгсеряъ дкъ  нрйпшрхъ  тюикнб.         
        ахакхнрейю онддепфйх ошрюеряъ  опеднярюбхрэ  янцкюясч-                   опнжедспю нрйпшрхъ тюикнб ме  ошрюеряъ  пюглеярхрэ         
   ыхияъ хмрептеия я ноепюжхнммни яхярелни мю меяйнкэйху  пею-                   накюярэ IOV рюй,  врнаш  USR  ме  оепейпшбюкю  щрс         
   кхгюжхъу дкъ йювеярбеммн пюгкхвмшу  ноепюжхнммшу  яхярелюу.                   накюярэ опх ябнохмце. щрн лнфер ашрэ опнакелни дкъ         
   ее бнглнфмнярх бйкчвючр:                                                      нвемэ анкэьху опнцпюлл;                                    
          - RT-11;                                                                                                                          
          - RSX-11M хкх IAS;                                                   - б RSX-11M кнцхвеяйхе мнлепю мюгмювючряъ дхмюлхвея-         
          - RT-11, щлскъжхъ онд RSTS/E;                                          йх. щрн нгмювюер, врн мюгмювемхе LUN ме лнфер ашрэ         
          - RSX-11M, щлскъжхъ онд RSTS/E;                                        бшонкмемн опх онлных сопюбкемхъ опнжеяянл онярпне-         
          - RSX-11M, щлскъжхъ онд VAX/VMS.                                       мхъ гюдювх (хкх опх хмхжхюжхх бшонкмемхъ гюдювх).          
                                                                                                                                            
        б щрни яейжхх сонлхмючряъ меянблеярхлнярх х  яксвюимше                                                                              
   ньхайх, йнрнпше анкее хкх лемее слшькеммн опхясрярбсчр.                                                                                  
                                                                                  2.7. цпсоонбше ноепюжхх я тюикюлх                         
                                                                                                                                            
                                                                                                                                            
             2.6. кнцхвеяйхе мнлепю сярпниярб                                                                                               
                                                                             опнжедспш FWILD() х FNEXT() лнцср  хяонкэгнбюрэяъ  дкъ         
                                                                        пеюкхгюжхх "цпсоонбни ноепюжхх" мюд тюикюлх.                        
                                                                                                                                            
        RT-11, RSTS/E х RSX-11M хяонкэгсчр меанкэьхе жекше дкъ               б RSX-11M х б щлскърнпе VMS/RSX хлъ тюикю,  пюяьхпемхе         
   мслепюжхх бяеу йюмюкнб ббндю/бшбндю. й янфюкемхч, мслепюжхъ          хлемх х/хкх бепяхъ тюикю лнцср  ашрэ  бшпюфемш  опх  онлных         
   ме янцкюясеряъ х хяонкэгнбюмхе йюмюкнб пюгкхвмн б пюгкхвмшу          "*", сйюгшбючыеи мюкхвхе цпсоонбни ноепюжхх. хг-гю  нцпюмх-         
   ноепюжхнммшу яхярелюу. б пегскэрюре онксвюеряъ якедсчыее:            вемхи б ярпсйрспе FILES-11 RSX-11M (ODS1), сйюгюмхъ  бепяхх         
                                                                        тюикю ".", ";0" х ";-1" ме  днярюрнвмн  унпньн  пюанрючр  б         
          - б RT-11 дкъ бгюхлндеиярбхъ я реплхмюкнл  ноепюрнпю          нпхцхмюкэмни RSX-11M. щрн нгмювюер, мюопхлеп,  врн  "*.MAC"         
            хяонкэгсчряъ  яхярелмше  люйпнйнлюмдш  .TTYOUT   х          ме япюанрюер. юкцнпхрл б FWILD()  гюбхяхр  нр  янпрхпселнцн         
            .PRINT. оняйнкэйс  тсмйжхъ  FOPEN()  ме  нрйпшбюер          йюрюкнцю, оняйнкэйс б VAX/VMS хяонкэгсеряъ тюикнбюъ  ярпсй-         
            сярпниярбю, мнлеп йюмюкю янупюмъеряъ ябнандмшл;             рспю ODS2. еякх  бш  нрянпрхпсере  йюрюкнц,  йнрнпши  асдер         
                                                                        хяонкэгнбюрэяъ б ноепюжхх FWILD() б онпъдйе сашбюмхъ  мнле-         
          - б RSX-11M дкъ реплхмюкю ноепюрнпю днкфем бшдекърэ-          пнб бепяхи тюикнб, рн сйюгюмхе бепяхх  ".",  ";0"  х  ";-1"         
            яъ йюмюк. опх гюосяйе опнцпюллш "реплхмюк ноепюрн-          асдер пюанрюрэ. янпрхпнбйс лнфмн бшонкмхрэ  опеднярюбкъелни         
            пю" нрйпшбюеряъ мю кнцхвеяйнл мнлепе  1  х  мюгмю-          DECUS опнцпюллни SRD, сйюгюб йкчв "/WB".                            
            вюеряъ  STDERR.  щрн  декюеряъ  аег  хяонкэгнбюмхъ                                                                              
            FOPEN() (унръ ярпсйрспю IOV тюикю  STDERR  нопеде-               цпсоонбюъ ноепюжхъ он сярпниярбюл,  мнлепюл  сярпниярб         
            къеряъ  рюй,  йюй  еякх  аш  ашк  бшонкмем   бшгнб          хкх мнлепюл UIC ме онддепфхбюеряъ. гюлерхл, врн б щлскърнпе         
            FOPEN()). FCLOSE() рюйфе ме гюйпшбюер STDERR;               RSX-11M мю VMS, сйюгюмхе  ";-1"  (мюханкее  пюммъъ  бепяхъ)         
                                                                        рпеасер яоежхюкэмни напюанрйх опнцпюллни онкэгнбюрекъ,  йюй         
          - б  днонкмемхе  й  ярюмдюпрмнлс   мюанпс   опнжедсп          яйюгюмн б нохяюмхх FWILD().                                         
            ббндю/бшбндю опеднярюбкъеряъ дбе опнжедспш MSG() х                                                                              
            REGDMP(), йнрнпше опнхгбндър бшбнд  мю  кнцхвеяйхи               б RSX-11M, щлскхпселни б RSTS/E, хлъ тюикю хкх  пюяьх-         
            мнлеп 1. щрх опнжедспш  хяонкэгсчряъ  дкъ  нркюдйх          пемхе хлемх лнцср яндепфюрэ сйюгюмхе цпсоонбни ноепюжхх "*"         
            ахакхнрейх х дкъ напюанрйх ньханй. б RT-11 MSG() х          х "?". цпсоонбюъ ноепюжхъ он сярпниярбюл, мнлепюл сярпниярб         
            REGDMP() хяонкэгсчр яхярелмсч люйпнйнлюмдс .PRINT;          хкх UIC(PPN) ме онддепфхбюеряъ.                                     
                                                                                                                                            
          - б наеху яхярелюу дбслъ  оепбшлх  "деиярбхрекэмшлх"               б RT-11 хлъ тюикю х/хкх рхо тюикю лнцср яндепфюрэ сйю-         
            тюикюлх ъбкъчряъ STDIN х STDOUT.  нмх  нрйпшбючряъ          гюрекх "*", "%" хкх "?" цпсоонбни  ноепюжхх.  "?"  ъбкъеряъ         
            мю кнцхвеяйху мнлепюу 0 х 1  (RT-11)  хкх  2  х  3          яхмнмхлнл "%". цпсоонбюъ ноепюжхъ он сярпниярбюл хкх  мнле-         
            (RSX-11M).  FCLOSE()  опнбндхр  дбнимни   йнмрпнкэ          пюл сярпниярб ме онддепфхбюеряъ. оняйнкэйс онддепфйю  цпсо-         
            рнцн, врн кнцхвеяйхи мнлеп тюикю  асдер  гюйпшр  б          онбни ноепюжхх ме ъбкъеряъ ярюмдюпрмшл яепбхянл RT-11, юмю-         
            яннрберярбхх я мсфмни ярпнйни  рюакхжш  кнцхвеяйху          кхг яоежхтхйюжхи тюикнб х ноепюжхх я йюрюкнцюлх  опнбндъряъ         
            мнлепнб;                                                    тсмйжхълх  FWILD()  х  FNEXT()   ахакхнрейх   "C".   лндскх         
                                                                        FWILD/FNEXT рпеасчр нйнкн 480  якнб  оюлърх.  йпнле  щрнцн,         
          - оняйнкэйс ярюмдюпрмше опнжедспш ббндю/бшбндю  люкн          тюик, нрйпшрши я сйюгюмхел  цпсоонбни  ноепюжхх  хяонкэгсер         
            врн гмючр на ноепюжхнммни яхяреле,  нмх  ме  хлечр          астеп б 1024 аюир (сдбнеммши  мнплюкэмши  пюглеп),  йнрнпши         
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 13 -                                                               - 14 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
   хяонкэгсеряъ янблеярмн дкъ дюммшу х дкъ ноепюжхи я  йюрюкн-                 ]                                                            
   цнл.                                                                                                                                     
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
             2.8. бшдекемхе оюлърх                                                                                                          
                                                                                         3. яксфеамюъ хмтнплюжхъ                            
                                                                                                                                            
                                                                                                                                            
        оюлърэ бшдекъеряъ опх  онлных  тсмйжхх  MALLOC().  нмю                                                                              
   йнппейрмн бшонкмъеряъ бн бяеу ноепюжхнммшу яхярелюу, пюяьх-                                                                              
   пъъ днярсомсч оюлърэ б RSX х RT11/RSTS. б яюлни  RT-11  бяъ               яхярелю опнцпюллхпнбюмхъ "C" пеюкхгнбюмю б  ноепюжхнм-         
   днярсомюъ оюлърэ бшдекъеряъ бшонкмемхел яхярелмни  люйпнйн-          мшу яхярелюу VMS V2.0, RSX-11M V3.2, RSTS/E  V7.0  х  RT-11         
   люмдш .SETTOP я юпцслемрнл -2. мх ндмю  хг  ахакхнрей  онд-          V3B.  бяе  пеюкхгюжхх  рпеасчр   нопедекеммшу   лндхтхйюжхи         
   депфйх хяонкмъчыеи яхярелш ме пюанрюер я дхпейрхбюлх пюяьх-          йнлюмдмшу опнжедсп дкъ сднбкербнпемхъ ху яоежхтхвеяйху онр-         
   пеммни оюлърх (PLAS).                                                пеамняреи. оняйнкэйс йнлохкърнп  ашк  янгдюм  оепбнмювюкэмн         
                                                                        онд сопюбкемхел RT-11,  опнжедспш  мепеюкхярхвмн  опедонкю-         
        опнжедспю SBREAK() лнфер хяонкэгнбюрэяъ дкъ онярнъммн-          цючр, врн яхярелю  хлеер  менцпюмхвеммсч  дхяйнбсч  оюлърэ.         
   цн бшдекемхъ оюлърх. оюлърэ, бшдекеммюъ опх онлных  тсмйжхх          яхярелю  опнцпюллхпнбюмхъ  "C"  ме  реярхпнбюкюяэ  мю  IAS,         
   SBREAK() ме лнфер ашрэ нябнанфдемю.                                  RSX-11D, RSX-11M-PLUS х HT-11.                                      
                                                                                                                                            
                                                                             дхярпхасрхб "C" пюглеыем мю 9-рх днпнфевмни  люцмхрмни         
                                                                        кемре б тнплюре DOS. онкмши дхярпхасрхб рпеасер кемрс  дкх-         
             2.9. цкнаюкэмше яхлбнкш                                    мни 2400 тсрнб (хкх рпх кемрш он 600 тсрнб).                        
                                                                                                                                            
                                                                                                                                            
                                                                             о_п_х_л_е_в_ю_м_х_е. щрн "опндсйр"  DECUS;  юбрнпш  ме         
        цкнаюкэмше яхлбнкш, нопедекеммше хкх  оепенопедекеммше          бедср янопнбнфдемхъ. еякх йюйюъ-кхан опнакелю намюпсфхряъ б         
   опнцпюллни мю "C" , лнцср опхбеярх й  гюцпсгйе  менфхдюммни          пеюкхгюжхх хкх онддепфйе йнлохкърнпю хкх хяонкмъчыеи яхяре-         
   вюярх ахакхнрейх хяонкмъчыеи яхярелш, врн опхбедер й  мефе-          лш, нярюеряъ рнкэйн мюдеърэяъ, врн юбрнпш щрн рнфе онилср х         
   кюрекэмшл онякедярбхъл. мхфе сйюгюмш мейнрнпше юяоейрш щрни          хяопюбър хяундмши рейяр. оепбхвмни нямнбни дкъ ябъгх  лефдс         
   опнакелш:                                                            онкэгнбюрекълх  щрнцн  опнцпюллмнцн  наеяоевемхъ   ъбкъеряъ         
                                                                        "цпсоою он ярпсйрспхпнбюммшл ъгшйюл" DECUS.                         
          - яхлбнк, мю йнрнпши яяшкюеряъ опнцпюллю мю  "C",  х                                                                              
            йнрнпши ме мюидем б на'ейрмшу лндскъу х  ахакхнре-               дюммши пюгдек  яндепфхр  хмтнплюжхч  он  бмсрпеммняръл         
            йе, лнфер опхбеярх  й  гюцпсгйе  йюйни-кхан  вюярх          йнлохкърнпю, юяяелакепю х ахакхнрейх  хяонкмъчыеи  яхярелш.         
            яхярелмни ахакхнрейх. мюопхлеп, еякх опнцпюллю  мю          щрю хмтнплюжхъ ме онкмю х, бнглнфмн, дюфе ме  бяецдю  юййс-         
            "C" яяшкюеряъ мю тсмйжхч SQRT() (йнрнпюъ ме опедя-          пюрмю.                                                              
            рюбкемю  б  ярюмдюпрмни  ахакхнрейе),  йнлонмнбыхй                                                                              
            лнфер оношрюрэяъ гюцпсгхрэ щрс тсмйжхч хг  тнпрпю-                                                                              
            мнбяйни  ахакхнрейх.  х,  оняйнкэйс  тнпрпюмнбяйюъ                                                                              
            тсмйжхъ SQRT() яндепфхр яяшкйх мю опнжедспс  дхюц-                    3.1. йнлохкърнп                                           
            мнярхйх тнпрпюмнбяйни хяонкмъчыеи  яхярелш,  йюпрю                                                                              
            гюцпсгйх лнфер яндепфюрэ лмнцн "ярпюммшу" цкнаюкэ-                                                                              
            мшу яхлбнкнб.                                                                                                                   
                                                                             хяундмше рейярш йнлохкърнпю пюглеыемш мю  дхярпхасрхбе         
          - дпсцюъ опннакелю бнгмхйюер, еякх опнцпюллю мю  "C"          б UIC [5,3]. б щрнл UIC опхясрярбсчр вершпе цпсоош тюикнб:          
            нопедекъер цкнаюкэмши  яхлбнк,  йнрнпши  дсакхпсер                                                                              
            цкнаюкэмши  яхлбнк  б  яхярелмни  ахакхнрейе.  щрн                 - хяундмше рейярш йнлохкърнпю пюглеыемш б  тюикюу  я         
            лнфер опхбеярх й рнлс, врн  мейнрнпюъ  менаундхлюъ                   хлемюлх CC???.MAC. пегхдемрмюъ вюярэ пюглеыюеряъ б         
            вюярэ яхярелмни  ахакхнрейх  ме  асдер  гюцпсфемю,                   тюике CC0RT.MAC, ю оепейпшрхъ б тюикюу  я  хлемюлх         
            опхбндъ йнлонмнбйс й месдювмнлс  гюбепьемхч  хг-гю                   CC00?.MAC, CC10?.MAC, CC20?.MAC х CC3??.MAC, яннр-         
            менопедекеммшу цкнаюкэмшу  яхлбнкнб.  мюопхлеп,  б                   берярбеммн. оепейпшрхъ бшонкмъчр  якедсчыхе  тсмй-         
            щлскърнпе RSX онд RSTS/E V7.0, сйюгюммне  опнхгни-                   жхх:                                                       
            дер дкъ якедсчыецн опхлепю:                                                                                                     
                                                                               0                                                            
          INT EOF         /*цкнаюкэмши яхлбнк*/                                       - мю мскебнл опнунде вхрюер хяундмши  тюик  х         
          MAIN( ) [                                                                     гюохяшбюер бпелеммши тюик  оняке  напюанрйх         
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 15 -                                                               - 16 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                   ноепюрнпнб #DEFINE, #INCLUDE х #IFDEF;               гюосяйючр йнлюмдмше тюикш опх онлных  опнжеяянпю  йнябеммшу         
                                                                        йнлюмдмшу тюикнб, б рн бпелъ йюй тюик дкъ RSTS/E гюосяйюер-         
          1                                                             яъ яхярелмни опнцпюллни "ATPK". онярпнемхе  б  RSTS/E  рпе-         
                 - мю оепбнл опнунде вхрюер пюяьхпеммши хяунд-          асер, врнаш ее декюк опхбхкецхпнбюммши онкэгнбюрекэ.                
                   мши рейяр, опнбндхр яхмрюйяхвеяйхи юмюкхг х                                                                              
                   гюохяшбюер тюик опнлефсрнвмнцн йндю. б опн-               хяонкэгсчряъ якедсчыхе янцкюьемхъ на хлемюу  йнлюмдмшу         
                   лефсрнвмнл тюике бяе ноепюжхх опенапюгнбюмш          тюикнб: хлемю йнлюмдмшу тюикнб VMS мювхмючряъ я асйбш  "V";         
                   б йнмярпсйжхх  мхгйнцн  спнбмъ.  яяшкйх  мю          хлемю йнлюмдмшу тюикнб дкъ щлскърнпю RT-11 онд RSTS/E мювх-         
                   оепелеммше  х  ярпсйрспш  опенапюгнбюмш   б          мючряъ я асйбш "R", ю дкъ щлскърнпю RSX-11M - я асйбш  "X".         
                   юаянкчрмше бшпюфемхъ.  щрнр  тюик  яндепфхр          йнлюмдмше тюикш дкъ RT-11 хлечр хлемю я оепбни асйбни  "T",         
                   бяч хмтнплюжхч, менаундхлсч йнднцемепюрнпс.          ю RSX-11M - я оепбни асйбни "M". рюйхл напюгнл "XMAKCC.CMD"         
                   вепег оюлърэ ме оепедюеряъ мхвецн, хяйкчвюъ          ярпнхр йнлохкърнп "CC" дкъ щлскърнпю RSX-11M б RSTS/E. тюи-         
                   ткюцх х хлемю тюикнб;                                кш ".TKB" ъбкъчряъ йнябеммшлх йнлюмдмшлх тюикюлх дкъ  оняр-         
                                                                        пнхрекъ гюдюв.                                                      
          2                                                                                                                                 
                 - брнпни опнунд  вхрюер  тюик  опнлефсрнвмнцн                                                                              
                   йндю х гюохяшбюер тюик я рейярнл мю юяяела-               о_п_х_л_е_в_ю_м_х_е. йнлохкърнп х ахакхнрейю хяонкмъч-         
                   кепе PDP-11 (б тнплюре, менаундхлнл юяяела-          ыеи яхярелш, опедярюбкеммше мю  дхярпхасрхбе,  опедонкюцючр         
                   кепс AS);                                            мюкхвхе юооюпюрмни  онддепфйх  хмярпсйжхх  SXT  (пюяьхпемхе         
                                                                        гмюйю). нмю хлееряъ бн бяеу опнжеяянпюу PDP-11, хлечыху EIS         
          3                                                             (пюяьхпеммши  мюанп  хмярпсйжхи),  х  бн  бяеу  опнжеяянпюу         
                 - рперэе оепейпшрхе яндепфхр  мейнрнпше  йндш          LSI-11 (11/03, LSI-11, 11/23).  еякх  йнлохкърнп  менаундхл         
                   гюбепьемхъ пюанрш х сдюкемхъ  пюанвху  тюи-          дкъ цемепюжхх йндю, йнрнпши  асдер  гюосяйюрэяъ  мю лндекъу         
                   кнб.                                                 11/05, 11/10, 11/20 хкх мю лндекъу 11/40 аег  EIS,  рн  бяе         
                                                                        тюикш йнмтхцспюжхх RSX.MAC х RT11.MAC днкфмш ашрэ  нрпедюй-         
                                                                        рхпнбюмш дкъ нопедекемхъ яхлбнкю C$$EIS пюбмшл мскч.  гюле-         
        о_п_х_л_е_в_ю_м_х_е. бяе бмсрпеммхе тюикш  гюохяюмш  б          рхл, врн йнлохкърнп днкфем янгдюбюрэяъ я йнппейрмн сярюмнб-         
   ASCII.  дкъ  наеяоевемхъ  оепемняхлнярх  йнлохкърнпю  лефдс          кеммшл гмювемхел яхлбнкю C$$EIS.                                    
   RSX-11M, RSTS/E х RT-11 тюикнбюъ яхярелю ядекюмю опнярни  х                                                                              
   мещттейрхбмни. онкэгнбюрекх RT-11 лнцср ярнкймсрэяъ я опна-               мю дхярпхасрхбе йнмтхцспюжхнммши тюик RSX-11M  опедон-         
   келни на'елю опнлефсрнвмшу  тюикнб.  дкъ  пеьемхъ  опнакелш          кюцюер мюкхвхе юооюпюрмни онддепфйх EIS. еякх щрю юооюпюрс-         
   (опнцпюллмшл осрел) днярюрнвмн б йнлюмде мю рпюмякъжхч сйю-          пю нрясрярбсер (EIS ме ъбкъеряъ менаундхлшл дкъ  тсмйжхнмх-         
   гюрэ пюглепш бшундмшу тюикнб:                                        пнбюмхъ ноепюжхнммни яхярелш RSX-11M), якедсер нрпедюйрхпн-         
                                                                        бюрэ сопюбкъчыхи рпюмякъжхеи тюик RSX.MAC  дкъ  нопедекемхъ         
          #OUT.S[N1],INTERM.TM1[N2],EXPAND.TMP[N3]=IN.C                 яхлбнкю C$$EIS  пюбмшл  мскч.  дбю  йнмтхцспюжхнммшу  тюикю         
                                                                        RT-11 х опнжедспю онярпнемхъ ахакхнрей  RSTS/E  ярпнър  йюй         
   пюяьхпеммши хяундмши рейяр лнфер ашрэ лемэье,  вел  бундмни          ахакхнрейс EIS "CLIB.OBJ", рюй х ахакхнрейс  аег  онддепфйх         
   тюик окчя тюикш, бйкчвюелше он #INCLUDE. опнлефсрнвмши тюик          EIS "CLIBN.OBJ".                                                    
   лнфер ашрэ бдбне анкэье тюикю пюяьхпеммнцн хяундмнцн  рейя-                                                                              
   рю.                                                                       йнлюмдмши тюик он слнквюмхч дкъ RT-11 ярпнхр ахакхнре-         
                                                                        йс, ме рпеасчысч EIS, я хлемел CLIB.OBJ. опнцпюллш, яйнлон-         
          - опнцпюллю  "C"  юяяелакхпсеряъ  б  на'ейрмши   йнд          мнбюммше я рюйни ахакхнрейни асдср пюанрюрэ х  мю  люьхмюу,         
            PDP-11 юяяелакепнл  AS,  хяундмше  тюикш  йнрнпнцн          хлечыху EIS. напюг гюцпсгйх, янгдюммши б RT-11, асдер рюйфе         
            хлечр  хлемю  AS???.MAC.  юяяелакеп  AS  нохяюм  б          пюанрюрэ б RSTS/E х мюнанпнр аег оепейнлонмнбйх.                    
            AS.DOC;                                                                                                                         
                                                                             ясыеярбсчр мейнрнпше пюгкхвхъ лефдс напюгнл  гюдювх  б         
          - ахакхнрейю онддепфйх дкъ дбсу йнлохкърнпнб бйкчве-          RSX-11M х б щлскърнпе RSX-11M онд RSTS/E. хг щрнцн якедсер,         
            мю б цпсоос тюикнб я хлемюлх A????.MAC.  опнжедспю          врн рнкэйн хяундмше рейярш х на'ейрмше тюикш ъбкъчряъ оепе-         
            онярпнемхъ йнлохкърнпю янгдюер рюйфе х  ахакхнрейс          мняхлшлх я ндмни яхярелш мю дпсцсч.                                 
            онддепфйх. щрю ахакхнрейю онунфю, мн ме хдемрхвмю,                                                                              
            мю ахакхнрейс хяонкмъчыеи яхярелш.                                                                                              
                                                                                                                                            
        йнлохкърнп  х  юяяелакеп  ярпнъряъ  осрел   бшонкмемхъ                                                                              
   йнлюмдмшу тюикнб. меяйнкэйн цпсоо йнлюмдмшу  тюикнб  опедя-                                                                              
   рюбкемш мю дхярпхасрхбе б онлныэ дкъ пеюкхгюжхх мю  пюгкхв-                                                                              
   мшу ноепюжхнммшу яхярелюу.  нвемэ  онунфе,  врн  щрх  тюикш                                                                              
   асдср педюйрхпнбюрэяъ дкъ сднбкербнпемхъ  онрпеамняреи  опх                                                                              
   йюфдни нрдекэмни опнжедспе онярпнемхъ. VMS, RSX-11M х RT-11                                                                              
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 17 -                                                               - 18 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
             3.2. ахакхнрейю хяонкмъчыеи яхярелш "C"                              3.5. пюяьхпеммюъ ахакхнрейю RT-11                         
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
        ахакхнрейю хяонкмъчыеи яхярелш мюундхряъ мю  дхярпхас-               днярсо й япедярбюл лнмхрнпнб RT-11 лнфер ашрэ  онксвем         
   рхбе б дбсу пюгдекюу :[5,4] х [5,5]. йюрюкнц [5,4] яндепфхр          опх  онлных  напюыемхи  й  яхярелмни  на'ейрмни  ахакхнрейе         
   опнжедспш, ъбкъчыхеяъ мегюбхяхлшлх нр ббндю/бшбндю. йюрюкнц          (SYSLIB). опнжедспю CALL() ахакхнрейх "C"  лнфер  хяонкэгн-         
   [5,5] яндепфхр ярюмдюпрмсч ахакхнрейс ббндю/бшбндю.                  бюрэяъ дкъ цемепюжхх менаундхлни бшгшбючыеи  онякеднбюрекэ-         
                                                                        мнярх. гюлерхл, врн опнжедспш SYSLIB, гюбхяъыхе нр  тнпрпю-         
        лмнцхе опнжедспш рпюмякхпсчряъ он сякнбхч  дкъ  бшанпю          мнбяйнцн ббндю/бшбндю, ме днкфмш бшгшбюрэяъ.                        
   пефхлнб RT11 хкх RSX. бяе опнжедспш днкфмш  рпюмякхпнбюрэяъ                                                                              
   янблеярмн я RT11.MAC (аег онддепфйх EIS) хкх RSX.MAC, хдем-                                                                              
   рхвмше йнохх йнрнпшу дюмш б йюфднл йюрюкнце.                                                                                             
                                                                                  3.6. хмярпслемрш х хцпсьйх                                
        дкъ онярпнемхъ ахакхнрейх бшонкмхре ндхм хг  якедсчыху                                                                              
   йнлюмдмшу тюикнб:                                                                                                                        
                                                                                                                                            
          RMAKLB.CMD      ахакхнрейю RT-11 б RSTS/E;                         дхярпхасрхбмши мняхрекэ яндепфхр  меяйнкэйн  йюрюкнцнб         
          VMAKLB.COM      ахакхнрейю RSX б VMS;                         [6,*] я опнцпюллюлх х  ондопнцпюллюлх  мю  "C".  йюрюкнц  я         
          XMAKLB.CMD      ахакхнрейю RSX б RSTS/E;                      свермшл  мнлепнл  [6,1]  яндепфхр  ахакхнрейс  "хмярпслемрш         
          MMAKLB.CMD      ахакхнрейю RSX;                               опнцпюллхярю", йнрнпюъ лнфер хяонкэгнбюрэяъ б кчашу пюанвху         
          TMAKLB.COM      ахакхнрейю RT-11.                             яхярелюу "C". япедх мху мюундхряъ якедсчыее:                        
                                                                                                                                            
        йюрюкнц [5,5]  яндепфхр  опнцпюллс  GETCMD.C,  йнрнпюъ          ECHO                                                                
   хяонкэгсеряъ дкъ онярпнемхъ йнлюмдмнцн тюикю мю юяяелакхпн-                 - щуноевюрэ юпцслемрнб бшгнбю  мю  ярюмдюпрмне  сяр-         
   бюмхе.  б  RSTS/E  йнлюмдмши  тюик  [5,1]RLBCMD.CMD   лнфер                   пниярбн бшбндю.  щрю  опнцпюллю  яксфхр  оепбхвмшл         
   хяонкэгнбюрэяъ дкъ оепеярпнийх бяеу йнлюмдмшу  тюикнб  аха-                   реярнл ахакхнрейх хяонкмъчыеи яхярелш;                     
   кхнрейх.                                                                                                                                 
                                                                        GREP                                                                
        бяе опнжедспш ахакхнрейх мюохяюмш мю MACRO PDP-11.                     - "онксвемхе ярпнй он напюгжс". щрю опнцпюллю явхрш-         
                                                                                 бюер ндхм хкх  анкее  тюикнб,  пюяоевюршбюъ  рейяр         
                                                                                 ярпнй яндепфюыху сйюгюммши напюгеж;                        
                                                                                                                                            
             3.3. ахакхнрейю хмрептеияю я RSTS/E                        KWIK                                                                
                                                                               - опхйкюдмюъ опнцпюллю: "йкчвебне якнбн  б  йнмрейя-         
                                                                                 ре";                                                       
                                                                                                                                            
        йюрюкнц [5,6] яндепфхр ахакхнрейс ондопнцпюлл, йнрнпше          SORTC                                                               
   опеднярюбкъчр опнцпюллюл мю "C" онкмши  днярсо  й  тсмйжхъл                 - опнцпюллю янпрхпнбйх тюикнб;                               
   лнмхрнпю RSTS/E. днйслемрюжхъ, йпнле хяундмнцн йндю  опнже-                                                                              
   дсп х тюикю [5,6]README.506, нрясрярбсер.                            SORTS                                                               
                                                                               - ондопнцпюллш янпрхпнбйх-якхъмхъ  дкъ  бйкчвемхъ  б         
                                                                                 дпсцхе опнцпюллш;                                          
                                                                                                                                            
             3.4. пюяьхпеммюъ ахакхнрейю RSX-11                         WC                                                                  
                                                                               - ондявер аюирнб, якнб х ярпнй  б  ндмнл  хкх  анкее         
                                                                                 тюикнб;                                                    
                                                                                                                                            
        йюрюкнц [5,7] яндепфхр ахакхнрейс ондопнцпюлл, йнрнпше          CCXREF                                                              
   опеднярюбкъчр опнцпюллюл мю "C" онкмши  днярсо  й  тсмйжхъл                 - опнцпюллю онярпнемхъ кхярхмцю рюакхжш оепейпеярмшу         
   лнмхрнпю RSX-11M, бйкчвюъ AST. гю  днонкмхрекэмни  хмтнплю-                   яяшкнй дкъ хяундмшу рейярнб опнцпюлл мю "C".               
   жхеи напюрхреяэ й [5,7]CX.DOC. щрю ахакхнрейю ме ашкю  онк-                                                                              
   мнярэч опнбепемю мх мю щлскърнпе RSX-11M б  RSTS/E  (хкх  б               гю  днонкмхрекэмни  хмтнплюжхеи  напюыюиреяэ  й  тюикс         
   VMS), мх мю IAS хкх RSX-11M-PLUS.                                    README.??? яннрберярбсчыецн йюрюкнцю.                               
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 19 -                                                               - 20 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
             3.7. онксвемхе днйслемрюжхх                                FIXDOC                                                              
                                                                               - б RSTS/E х "ярюмдюпрмнл" RUNOFF VMS мнлепю ярпюмхж         
                                                                                 пюглеыючряъ "он опюбни  цпюмхже"  (йнкнмйю  80)  б         
                                                                                 мегюбхяхлнярх нр опюбни  цпюмхжш  рейярю  (йнкнмйю         
        днйслемрюжхеи  мю  йнлохкърнп  х  юяяелакеп   ъбкъчряъ                   72). йюй наунд опнакелш хяонкэгсеряъ GETRNO,  люп-         
   CC.RNO х AS.RNO, яннрберярбеммн. щрх тюикш,  пюглеыеммше  б                   йхпсчыхи ярпнйх ".TITLE" RUNOFF. гюрел  бшгшбюеряъ         
   [5,1] хкх [.COMMAND] йнлохкхпсчряъ б тюикш ".DOC" опх онлн-                   FIXDOC дкъ бшпюбмхбюмхъ гюцнкнбйнб.  нрлерхл,  врн         
   ых RUNOFF. сопюбкъчыхи тюик онярпнемхъ днйслемрюжхх  днаюб-                   щрн менаундхлн  рнкэйн  дкъ  RNO.TSK  б  RSTS/E  х         
   къер тюик CBUGS.RNO, яндепфюыхи оепевхякемхе рейсыху  опна-                   RUNOFF б VMS;                                              
   кел, й тюикс CC.RNO оепед онярпнемхел днйслемрюжхх.                         - хяундмши рейяр  FIXDOC.C  пюглеыюеряъ  б  йюрюкнце         
                                                                                 [5,1] хкх [.COMMAND]. бшгшбюелюъ опнцпюллю  нашвмн         
                                                                                 пюглеыюеряъ мю "C:". гюлерхл, врн щрн хяонкэгсеряъ         
        о_п_х_л_е_в_ю_м_х_е. дкъ опюбхкэмнцн онярпнемхъ  гюцн-                   рнкэйн б RSTS/E.                                           
   кнбйнб б "ярюмдюпрмнл RUNOFF" VMS  дюмю  йнлюмдмюъ  ярпнйю,                                                                              
   йнрнпюъ лнфер бшгбюрэ метюрюкэмне  яннаыемхе  на  ньхайе  б          сопюбкъчыхе тюикш                                                   
   дпсцху бепяхъу RUNOFF.  щрн  яннаыемхе  на  ньхайе  якедсер                 - [5,1]RGTRNO.CMD  х  [5,1]RGTDOC.CMD   хккчярпхпсчр         
   хцмнпхпнбюрэ.                                                                 нохяюммши опнжеяя б RSTS/E, ю VGTRNO.COM х  VGTDOC         
                                                                                 - б VMS.                                                   
        хяундмши рейяр дкъ днйслемрюжхх он ахакхнрейе  бйкчвем                                                                              
   б хяундмше (MACRO) рейярш опнжедсп ахакхнрейх.                                                                                           
                                                                                                                                            
        дкъ янгдюмхъ  днйслемрюжхх  он  ахакхнрейе,  якедсчыхе                                                                              
   опнцпюллш днкфмш ашрэ онярпнемш х бйкчвемш б яхярелс:                           4. бмсрпеммъъ хмтнплюжхъ йнлохкърнпю                     
                                                                                                                                            
   GETRNO                                                                                                                                   
          - щрю опнцпюллю явхршбюер цнрнбши  тюик  ахакхнрейх.                                                                              
            гюрел нмю вхрюер мюанп тюикнб  мю  люйпнюяяелакепе                                                                              
            (сйюгюммшу я хяонкэгнбюмхел янцкюьемхи н цпсоонбшу               йюй нрлевемн бшье пюанвхе тюикш йнлохкърнпю гюохяюмш б         
            ноепюжхъу). йюфдши тюик яндепфхр ябнч  янаярбеммсч          йнде ASCII х днярсомш дкъ времхъ. яхмрюйяхвеяйхи юмюкхгюрнп         
            днйслемрюжхч б тнпле йнллемрюпхеб. бяе щрн  нтнпл-          цемепхпсер бпелеммши тюик,  яндепфюыхи  бмсрпеммхи  ояебдн-         
            кемн он ярпнцнлс тнплюрс, нохяюммнлс б  днйслемрю-          йнд.  йнднцемепюрнп  опенапюгсер  щрнр  ояебдн-йнд  б  ъгшй         
            жхх мю GETRNO.C;                                            юяяелакепю PDP-11. гю хяйкчвемхел  ткюцнб  йнлохкърнпю  бяъ         
          - бшунднл GETRNO ъбкъеряъ хяундмши рейяр дкъ RUNOFF,          ябъгэ лефдс опнундюлх  нясыеярбкъеряъ  вепег  опнлефсрнвмше         
            йнрнпши гюрел якхбюеряъ я пюгкхвмшлх  опхкнфемхълх          тюикш.                                                              
            б днйслемрюжхч он ахакхнрейе;                                                                                                   
          - хяундмши рейяр GETRNO.C пюглеыем б йюрюкнце  [5,1]                                                                              
            хкх [.COMMAND]. бшгшбюелюъ опнцпюллю нашвмн пюгле-                                                                              
            ыюеряъ мю "C:".                                                       4.1. тнплюр тюикю опнлефсрнвмнцн йндю                     
                                                                                                                                            
   GETKWK                                                                                                                                   
          - щрю опнцпюллю  явхршбюер  люйпнюяяелакепмше  тюикш                                                                              
            ахакхнрейх,  опнялюрпхбюер  ху  мю   бунфдемхе   б               тюик опнлефсрнвмнцн йндю яндепфхр он ндмни  ярпнйе  мю         
            "хмдейя" днйслемрюжхх. пегскэрюр GETKWK оепедюеряъ          йюфдсч ноепюжхч. оепбшл аюирнл ъбкъеряъ ноепюрнп, гю  йнрн-         
            меоняпедярбеммн KWIK.                                       пшл якедсчр оюпюлерпш, еякх нмх менаундхлш. вхякеммше  гмю-         
          - хяундмши рейяр GETKWK пюглеыем  б  йюрюкнце  [5,1]          вемхъ оепедючряъ б бняэлепхвмни гюохях. нопедекемш  якедсч-         
            хкх [.COMMAND]. бшгшбюелюъ опнцпюллю нашвмн пюгле-          ыхе ноепюрнпш:                                                      
            ыюеряъ мю "C:".                                                                                                                 
                                                                                                                                            
   KWIK                                                                 C                                                                   
          - щрн опнцпюллю "йкчвебне якнбн б йнмрейяре",  йнрн-                 - оепейкчвхрэяъ   мю   опнцпюллмсч   яейжхч    ярпнй         
            пюъ хяонкэгсеряъ дкъ онярпнемхъ хмдейяю  ахакхнре-                   (.STNG.);                                                  
            йх. нмю ярпнхряъ йюй вюярэ б опнжедспе  онярпнемхъ                                                                              
            хмярпслемрнб.                                               O                                                                   
          - хяундмши рейяр KWIK.C пюглеыюеряъ б йюрюкнце [6,1]                 - оепейкчвхрэяъ   мю   опнцпюллмсч   яейжхч   дюммшу         
            хкх [.TOOLS]. бшгшбюелюъ опнцпюллю  бннаые  цнбнпъ                   (.DATA.);                                                  
            гюохяшбюеряъ б ахакхнрейс янблеярмнцн онкэгнбюмхъ:                                                                              
            "PUB:" б RSTS/E; "BIN:" б VMS.                              P                                                                   
                                                                               - оепейкчвхрэяъ мю опнцпюллмсч яейжхч йндю (.PROG.);         
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 21 -                                                               - 22 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
   сопюбкемхе бшонкмемхел:                                              T                                                                   
                                                                               - оепеирх, еякх "хярхмю";                                    
   L [вхякн]                                                                                                                                
          - нопедекхрэ кнйюкэмсч лерйс;                                 E                                                                   
                                                                               - оепеирх, еякх "кнфэ";                                      
   J [вхякн]                                                                                                                                
          - оепеирх мю кнйюкэмсч лерйс;                                 K                                                                   
                                                                               - хмхжхюкхгхпнбюрэ оепелеммсч;                               
   X                                                                                                                                        
          - бшунд хг тсмйжхх;                                           T                                                                   
                                                                               - сгек депебю.                                               
   N                                                                                                                                        
          - бунд б тсмйжхч;                                                  гюлерхл, врн депебэъ ъбкъчряъ  пегскэрюрнл  йнлохкъжхх         
                                                                        бшпюфемхи, рюйху йюй:                                               
   пегепбхпнбюмхе дюммшу х р.д.:                                                                                                            
                                                                               (A+B*(C & 4))*D                                              
   A                                                                                                                                        
          - яцемепхпнбюрэ ояебднноепюжхч .EVEN;                         йюфдши мереплхмюкэмши сгек депебю яндепфхр, бннаые  цнбнпъ,         
                                                                        кебсч вюярэ, ноепюрнп х опюбсч вюярэ. ярюпьхмярбн  ноепюрн-         
   B [вхякн]                                                            пнб опх щрнл  бшдепфхбюеряъ.  опедшдсыхи  опхлеп  опх  щрнл         
          - яцемепхпнбюрэ .BLKB [вхякн];                                опебпюыюеряъ б:                                                     
                                                                                                                                            
   D                                                                                           !                                            
          - яцемепхпнбюрэ бмеьмчч лерйс;                                               --------------------                                 
                                                                                       !                  !                                 
   G                                                                               ----------             !                                 
          - яцемепхпнбюрэ .GLOBL;                                                  !        !             !                                 
                                                                                   !    ---------         !                                 
   H                                                                               !    !       !         !                                 
          - яцемепхпнбюрэ .BYTE;                                                   !    !     -----       !                                 
                                                                                   !    !     !   !       !                                 
   I                                                                             ((A + (B *  (C & 4))) *  D)                                
          - яцемепхпнбюрэ .WORD йюй кнйюкэмши сйюгюрекэ;                                                                                    
                                                                             дкъ опхлепю опхбедел опнярсч тсмйжхч х яцемепхпнбюммши         
   Y                                                                    дкъ мее опнлефсрнвмши йнд:                                          
          - яцемепхпнбюрэ .WORD;                                                                                                            
                                                                        FACT(N)        D FACT  \нопедекхрэ тсмйжхч FACT                     
   яоежхюкэмше ноепюжхх:                                                [              N 0 4   \бунд б тсмйжхч                              
                                                                          IF (N==0)    F 1     \еякх "кнфэ" оепеирх й 1                     
   W                                                                                   Z[N==0] \йнлохкхпнбюрэ бшпюфемхе                     
          - яцемепхпнбюрэ рюакхжс оепейкчвемхъ;                            RETURN(1)   R       \бнгбпюр                                     
                                                                                       Z 1     \йнлохкхпнбюрэ бшпюфемхе                     
   Q                                                                                   J 2     \оепеирх й 2                                 
          - пюяоевюрйю гюохяеи рюакхжш яхлбнкнб (йкчв - "T");              RETURN(N*FACT(N-1))                                              
                                                                                       L 1     \лерйю 1 (N:=0)                              
   M                                                                                   R       \бнгбпюр                                     
          - оепедювю мнлепю ярпнйх лефдс опнундюлх;                                    Z[N*FACT(N-1)]                                       
                                                                                               \йнлохкхпнбюрэ бшпюфемхе                     
   TRF-ноепюрнпш (бшпюфемхъ):                                                          L 2     \лерйю 2                                     
                                                                        ]              X       \бшунд хг тсмйжхх                            
   R                                                                                   G FACT  \.GLOBL FACT                                 
          - RETURN;                                                                                                                         
                                                                             хяундмши рейяр опнцпюллш  мю  "C"  опнялюрпхбюеряъ  нр         
   S                                                                    мювюкю дн йнмжю  пейспяхбмшл  яхмрюйяхвеяйхл  юмюкхгюрнпнл.         
          - оепейкчвемхе;                                               бшпюфемхъ юмюкхгхпсчряъ ямхгс б бепу, мю опхнпхрермни нямн-         
                                                                        бе. пюяопедекемхе рхонб напюаюршбюеряъ яоежхюкэмни опнжедс-         
   E                                                                    пни. йпнле рнцн, бяе юбрнлюрхвеяйхе  оепелеммше  (кнйюкэмше         
          - йнлохкхпнбюрэ дкъ щттейрхбмнярх;                            дкъ тсмйжхх) онксвючр юаянкчрмне ялеыемхе он ярпюмхже юпцс-         
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 23 -                                                               - 24 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
   лемрнб (пецхярп 5), ю щкелемрш ярпсйрспш онксвючр  юаянкчр-               пецхярпш пюяопедекъчряъ якедсчыхл напюгнл:                     
   мне ялеыемхе нр мювюкю щрни ярпсйрспш.                                                                                                   
                                                                               - R0  х  R1  бяецдю  ъбкъчряъ  бпелеммшлх   пюанвхлх         
                                                                                 пецхярпюлх;                                                
                                                                                                                                            
             4.2. йнднцемепюрнп                                                - R2, R3 х R4 лнцср ашрэ гюпегепбхпнбюмш  опнцпюллни         
                                                                                 мю "C" опх онлных йнмярпсйжхх "REGISTER ...". юмю-         
                                                                                 кхгюрнп яннаыюер йндхпнбыхйс ярюпьхи мнлеп пецхяр-         
                                                                                 пю, йнрнпши лнфмн хяонкэгнбюрэ (б тсмйжхх  хмхжхю-         
        йнднцемепюрнп бйкчвюер лндскэ  времхъ  тюикю  бшянйнцн                   кхгюжхх ноепюжхи я опнлефсрнвмшл йнднл);                   
   спнбмъ хмреккейрсюкэмнярх, йнрнпши япюгс напюаюршбюер "кец-                                                                              
   йхе беых". нм бшгшбюер ондопнцпюллш дкъ йнлохкхпнбюмхъ ное-                 - юкцнпхрл SETHI-ULLMAN'ю нопедекъер  вхякн  пецхяр-         
   пюрнпнб оепейкчвюрекеи х  бшпюфемхи.  йнлохкърнп  бшпюфемхи                   пнб, менаундхлне б йюфднл сгке депебю.  щрн  вхякн         
   бшонкмъер  пюгкхвмше   норхлхгюжхх,   бшгшбюер   бшдекхрекэ                   бяецдю анкэье хкх пюбмн дбсл, сйюгшбюъ  рнр  тюйр,         
   пецхярпнб SETHI-ULLMAN'ю, ю гюрел  цемепюрнп  юяяелакепмнцн                   врн пецхярпш R0 х R1 бяецдю днярсомш дкъ бпелеммн-         
   йндю. юкцнпхрл SETHI-ULLMAN'ю ашк нохяюм б "THE JOURNAL  OF                   цн хяонкэгнбюмхъ;                                          
   ACM" рнл 17, мнлеп 4 гю нйръапэ 1970 ц. ярп. 715-728.                                                                                    
                                                                               - "депебн кецйне, еякх дпсцне депебн хяонкэгсер дня-         
                                                                                 рюрнвмн люкн пецхярпнб х б мюкхвхх хлечряъ ябнанд-         
                                                                                 мше пецхярпш";                                             
                                                                                                                                            
           4.2.1. норхлхгюжхъ х пюяопедекемхе пецхярпнб                        - ондопнцпюллю  GETREG  нябнанфдюер  пецхярпш.  еякх         
                                                                                 йнднбюъ рюакхжю хглемъеряъ,  менаундхлн  сднярнбе-         
                                                                                 пхрэяъ, врн GETREG ме  бшгшбюеряъ  мю  депебе,  ме         
                                                                                 ъбкъчыхляъ кецйхл.                                         
        бшонкмъеряъ якедсчыюъ норхлхгюжхъ:                                                                                                  
                                                                                                                                            
          - оепесонпъднвхбюмхе бшпюфемхи;                                                                                                   
                                                                                4.2.2. цемепюрнп йндю                                       
          - бшвхякемхе йнмярюмрмшу бшпюфемхи;                                                                                               
                                                                                                                                            
          - бшапюяшбючряъ осярше  ноепюжхх,  бйкчвюъ  "-(-A)",                                                                              
            "!(!A)", "^(^A)", "A&A)" х "A";                                  онврх бяе йндш цемепхпсчряъ пюяьхпемхел  люйпнноепюрн-         
                                                                        пнб хг йнднбшу рюакхж.  ясыеярбсчр  вершпе  рюакхжш  (CTAB,         
          - осярше юдпеямше  бшпюфемхъ  сдюкъчряъ:  "*(&A)"  х          ETAB, STAB х RTAB) х ндмю  ояебдн-рюакхжю  (TTAB).  хг  мху         
            "&(*A)" ярюмнбъряъ опнярн "A";                              рнкэйн RTAB онкмю. еякх пюяьхпемхе ме мюидемн  б  CTAB  хкх         
                                                                        ETAB, онхяй онбрнпъеряъ б RTAB.  еякх  ме  сдюкяъ  онхяй  б         
          - йнмярюмрмюъ юдпеямюъ  юпхтлерхйю  опенапюгсеряъ  б          STAB, пюяьхпемхе нясыеярбкъеряъ  опх  онлных  рекю  йндю  б         
            бшпюфемхъ бхдю "&A + йнмярюмрю";                            йнх-7:                                                              
                                                                                                                                            
          - йнмярюмрмше ялеыемхъ нрмняхрекэмн пецхярпнб ярюмн-                 [RTAB]                                                       
            бъряъ хмдейямшлх ноепюжхълх (б  бшпюфемхъу,  рюйху                 MOV     REG,-(SP)                                            
            йюй "*(пецхярп  +  йнмярюмрю)"  хкх  "*(пецхярп  -                                                                              
            йнмярюмрю)";                                                аюирш я сярюмнбкеммшл ахрнл вермнярх (бняэлшл) хяонкэгсчряъ         
                                                                        люйпнноепюрнпюлх: "юдпея кебни", "гюмеярх бопюбн" х р.д.            
          - б бшпюфемхъу бхдю  "*P++"  х  "*--P"  хяонкэгсеряъ                                                                              
            юбрнсбекхвемхе х юбрнслемэьемхе PDP-11;                          рнвйх бундю б рюакхжс пюгкхвючряъ он  рхос  юпцслемрнб         
                                                                        (INT, CHAR, LONG, UNSIGNED, FLOAT, DOUBLE х сйюгюрекх) х ху         
          - опенапюгнбюмхъ дюммшу лефдс рхоюлх "жекне" х "сйю-          бхдюл (CONSTANT, ADDRESS, EASY х ANY).                              
            гюрекэ" оепебндъряъ б ноепюжхх слмнфемхъ  х  деке-                                                                              
            мхъ;                                                             мхфе, дкъ опхлепю, дюмю рхохвмюъ йнднбюъ рюакхжю:              
                                                                                                                                            
          - сахпюеряъ слмнфемхе мю едхмхжс;                             INT    ANY     INT  CON1  ;опхаюбхрэ 1 й жекнлс                     
                                                                               [LL]               ;йнлохкъжхъ кебнцн онддепебю              
          - ноепюрнп "AND" опенапюгсеряъ б "BIC";                              INC     [R]        ;INC RX                                   
                                                                        INT    ANY     INT  ADDR  ;опхаюбхрэ оепелеммсч й                   
          - сдюкъчряъ ноепюжхх я мскел,  бйкчвюъ  "+0",  "-0",                                    ;велс-кхан                                
            "&-1", "\0", "^0", "\=0" х р.д.                                    [LL]               ;йнлохкъжхъ кебнцн онддепебю              
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 25 -                                                               - 26 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
          ADD     [VAR],[R]  ;ADD VAR,RX                                [AR]                                                                
   INT    ANY     INT  EASY                                                    - юдпея опюбни вюярх;                                        
          [SRV]              ;NOP, еякх щрн юдпея                                                                                           
          [LL]               ;йнлохкъжхъ кебнцн онддепебю               [ARN]                                                               
          ADD     [AR],[R]   ;ADD VAR,RX                                       - юдпея опюбни вюярх аег онанвмшу щттейрнб;                  
   INT    ANY     INT  ANY                                                                                                                  
          [PR]               ;йнлохкъжхъ опюбнцн онддепебю              [OP0]                                                               
          [LL]               ;йнлохкъжхъ кебнцн онддепебю                      - йнд ноепюжхх;                                              
          ADD     (SP)+,[R]  ;ADD (SP)+,RX                                                                                                  
                                                                        [OP1]                                                               
        мхфе дюм дпсцни опхлеп, "=пегскэрюр" (йюй б "A=B;"):                   - йнд ноепюжхх;                                              
                                                                                                                                            
   INT    ANY     INT  CON0   ;I=0;                                     [AL+2]                                                              
   CHAR   ANY     INT  CON0   ;C=0;                                            - юдпея кебни вюярх, LONG;                                   
          [SLAC]              ;онксвхрэ юдпея кебнцн                                                                                        
                              ;ноепюмдю                                 [AR+2]                                                              
          CLR[TL] [AL]        ;SLR[B]  VAR                                     - юдпея опюбни вюярх, LONG;                                  
   INT    ADDR    INT  ANY                                                                                                                  
   CHAR   ADDR    INT  ANY                                              [TL]                                                                
          [LR]                ;йнлохкъжхъ опюбнцн онддепебю                    - рхо кебни вюярх;                                           
          MOV[TL] [R],[AL]    ;MOV[B]  RX,VAR                                                                                               
   INT    ANY     INT  EASY                                             [T]                                                                 
   CHAR   ANY     INT  EASY                                                    - рхо опюбни хкх кебни вюярх;                                
          [SRV]                                                                                                                             
          [SLAC]                                                        [SRVA]                                                              
          MOV[TL] [AR],[AL]                                                    - сярюмнбхрэ гмювемхе опюбни вюярх цде сцндмн;               
   INT    ANY     INT  ANY                                                                                                                  
   CHAR   ANY     INT  ANY                                              [SRV]                                                               
          [PLA]                                                                - сярюмнбхрэ гмювемхе опюбни вюярх;                          
          [LR]                                                                                                                              
          MOV[TL] [R],'(SP)+                                            [SRAA]                                                              
                                                                               - сярюмнбхрэ юдпея опюбни вюярх цде сцндмн;                  
                                                                                                                                            
                                                                        [SRA]                                                               
           4.2.3. люйпняш, хяонкэгселше опх йнднцемепюжхх                      - сярюмнбхрэ юдпея опюбни вюярх;                             
                                                                                                                                            
                                                                        [SLVA]                                                              
                                                                               - сярюмнбхрэ гмювемхе кебни вюярх цде сцндмн;                
        якедсчыее нопедекемн б цемепюрнпе йндю:                                                                                             
                                                                        [SLV]                                                               
   [M]                                                                         - сярюмнбхрэ гмювемхе кебни вюярх;                           
          - сярюмнбхрэ бнгбпюр лндскъ;                                                                                                      
                                                                        [SLAA]                                                              
   [F]                                                                         - сярюмнбхрэ юдпея кебни вюярх цде сцндмн;                   
          - сярюмнбхрэ бнгбпюр тсмйжхх;                                                                                                     
                                                                        [SLA]                                                               
   [R]                                                                         - сярюмнбхрэ юдпея кебни вюярх;                              
          - рейсыхи пецхярп;                                                                                                                
                                                                        [SLAC]                                                              
   [R+1]                                                                       - сярюмнбхрэ юдпея кебни вюярх б рейсыхи пецхярп;            
          - рейсыхи пецхярп + 1;                                                                                                            
                                                                        [LL]                                                                
   [AL]                                                                        - гюцпсгхрэ кебсч вюярэ;                                     
          - юдпея кебни вюярх;                                                                                                              
                                                                        [LL+1]                                                              
   [ALN]                                                                       - гюцпсгхрэ кебсч вюярэ б [R+1];                             
          - юдпея кебни вюярх аег онанвмшу щттейрнб;                                                                                        
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 27 -                                                               - 28 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
   [LR]                                                                              5. нохяюмхе ахакхнревмшу тсмйжхи                       
          - гюцпсгхрэ опюбсч вюярэ;                                                                                                         
                                                                                                                                            
   [PL]                                                                                                                                     
          - онлеярхрэ кебсч вюярэ б ярей;                                                                                                   
                                                                             щрнр пюгдек яндепфхр нохяюмхе бяеу тсмйжхи  ахакхнрейх         
   [PLA]                                                                хяонкмъчыеи яхярелш, дносяйючыху бшгнб хг опнцпюлл мю  "C".         
          - онлеярхрэ юдпея кебни вюярх б ярей;                         днонкмхрекэмн опеднярюбкъеряъ нохяюмхе бмсрпеммху опнжедсп.         
                                                                                                                                            
   [PR]                                                                      б  анкэьхмярбе  яксвюеб  тсмйжхх  ббндю/бшбндю  беяэлю         
          - онлеярхрэ опюбсч вюярэ б ярей;                              акхгйх й яннрберярбсчыхл тсмйжхъл хг  ноепюжхнммни  яхярелш         
                                                                        UNIX V7, я пюгкхвхълх, йнрнпше  нашвмн  опемеапефхлн  люкш.         
   [V]                                                                  дкъ днонкмхрекмни хмтнплюжхх напюрхреяэ й  ймхце  "THE  "C"         
          - ADC хкх SBC дкъ дкхммнцн жекнцн.                            PROGRAMMING  LANGUAGE",  BRIAN  KERNIGHAN,  DENNIS  PITCHIE         
                                                                        (ENGLEWOOD CLIFFS, NJ: PRENTICE-NALL, ISBN 0-13-110163-3).          
                                                                                                                                            
                                                                             опнжедспш х цкнаюкмше яхлбнкш,  мювхмючыхеяъ  я  "$$",         
             4.3. онддепфйю пюяьхпеммни юооюпюрспш                      хяонкгсчряъ дкъ йнллсмхйюжхи ббндю/бшбндю. опнжедспш я хле-         
                                                                        мюлх бхдю "ABC$X" пеюкхгсчр  хмярпсйжхч  "ABC"  дкъ  дюммшу         
                                                                        рхою "X". мюопхлеп, "ASL$LI" пеюкхгсер юпхтлерхвеяйхи ядбхц         
                                                                        бопюбн бекхвхмш рхою LONG мю сйюгюммне юпцслемрнл рхою  INT         
        рейсыюъ  бепяхъ  йнлохкърнпю  яндепфхр  мейнрнпше   хг          вхякн пюгпъднб.                                                     
   йнднб, менаундхлшу дкъ цемепюжхх  онякеднбюрекэмнярх  хмяр-                                                                              
   псйжхи дкъ бшонкмемхъ ноепюжхи EIS (юооюпюрмне  жекнвхякем-                                                                              
   мне слмнфемхе-декемхе) х FPU (юооюпюрмне бшонкмемхе  деияр-                                                                              
   бхи я вхякюлх я окюбючыеи рнвйни).                                             5.1. опенапюгнбюмхе хг RADIX-50 б ASCII                   
                                                                                                                                            
        б дюммши лнлемр щрнр йнд ме пюанрюер:  хмярпсйжхх  EIS                                                                              
   бяецдю  йнлохкхпсчряъ  б  бшгнбш  опнжедсп  х  бяе  оношрйх                                                         ***********          
   хяонкэгнбюрэ окюбючысч гюоърсч опхбедср й яннаыемхч  "FATAL                                                         *  $$C5TA *          
   COMPILER ABORT" ("юбюпхимне опейпюыемхе  пюанрш  йнлохкърн-                                                         ***********          
   пю").                                                                                                                                    
                                                                        хлъ дхярпхасрхбмнцн тюикю: C5TA.MAC                                 
        дкъ бйкчвемхъ онддепфйх EIS, бш днкфмш мюохяюрэ  бундш                                                                              
   б рюакхжс йнднб (лерйю EISTAB б тюике CC206.MAC) х нркюдхрэ          хяонкгнбюмхе:                                                       
   брнпни опнунд. щрн днярюрнвмн якнфмн.                                                                                                    
            дкъ днаюбкемхъ йнмярюмр я                                          MOV     якнбн_RAD50,R1                                       
                     окюбючыеи рнвйни рпасеряъ мюохяюрэ бун-                   MOV     юдпея_бшундмнцн_астепю,R0                            
   дш б рюакхжс рнвмн рюй фе,  йюй  х  днярюрнвмне  йнкхвеярбн                 CALL    $$C5TA                                               
   йндю дкъ бшонкмемхъ опенапюгнбюмхи. щрн  днярюрнвмн  рпсдмн                                                                              
   бшонкмхрэ. ме дслюире, врн ре йндш,  йнрнпше  ясыеярбсчр  б          оняке бнгбпюрю:                                                     
   дюммши  лнлемр,  пюанрючр  деиярбхрекэмн  опюбхкэмн  -  нмх                                                                              
   мхйнцдю ме реярхпнбюкхяэ.                                                   R0 - хглемемн                                                
                                                                               R1 - яксвюимюъ бекхвхмю                                      
                                                                               нярюкэмше пецхярпш янупюмемш                                 
                                                                                                                                            
                                                                        нохяюмхе:                                                           
                                                                                                                                            
                                                                             опенапюгсер ндмн  якнбн  йндю  RADIX-50  б  рпх  аюирю         
                                                                        ASCII. бяе онксвюелше  асйбш  анкэьхе.  бшундмни  астеп  ме         
                                                                        гюбепьюеряъ йнмжебшл  мскел,  онкъ  яндепфюьхе  опнаекш  ме         
                                                                        ондюбкъчряъ.                                                        
                                                                                                                                            
                                                                        ньхайх: мер                                                         
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 29 -                                                               - 30 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
             5.2. гюйпшрэ бяе йюмюкш                                              5.4. опенапюгнбюмхе дбнимни рнвмнярх б ASCII              
                                                                                                                                            
                                                                                                                                            
                                                  ***********                                                          ***********          
                                                  *  $$CL16 *                                                          *  $$DTDA *          
                                                  ***********                                                          ***********          
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: CL16.MAC                                  хлъ дхярпхасрхбмнцн тюикю: DTDA.MAC                                 
                                                                                                                                            
   хяонкэгнбюмхе:                                                       хяонкэгнбюмхе:                                                      
                                                                                                                                            
          $$CL16();   /* гюйпшрэ бяе йюмюкш */                               $$DTDA (BUFF,CONV,FIELD,DPLACE,VALUE)                          
                                                                               CHAR    *BUFF;  /*мювюкн астепю дкъ пегскэрюрю*/             
   нохяюмхе:                                                                   CHAR    CONV;   /*рхо опенапюгнбюмхъ*/                       
                                                                               INT     FIELD;  /*люйяхлюкэмюъ ьхпхмю онкъ*/                 
        щрнр лндскэ  гюйпшбюер  бяе  йюмюкш  ббндю/бшбндю.  нм                 INT     DPLACE; /*ьхпхмю деяърхвмни вюярх*/                  
   бшгшбюеряъ опх гюбепьемхх пюанрш опнцпюллш мю "C".                          DOUBLE  VALUE;  /*опенапюгселюъ бекхвхмю*/                   
                                                                                                                                            
   дхюцмнярхйю: мер                                                          CHAR   *                                                       
                                                                             $$ECVT (NEGFL,SCALE,FIELD,DPLACE,VALUE)                        
   ньхайх: мер                                                                 INT     *NEGFL; /*0 еякх "+", 1 еякх "-" */                  
                                                                               INT     *SCALE; /*сярюмнбкем б мнплхпсчыхи                   
                                                                                                 лмнфхрекэ*/                                
                                                                               INT     FIELD;  /*люйяхлюкэмюъ ьхпхмю онкъ*/                 
             5.3. аеггмюйнбне декемхе (рнкэйн MACRO)                           INT     DPLACE; /*ьхпхмю деяърхвмни вюярх*/                  
                                                                               DOUBLE  VALUE;  /*опенапюгселюъ бекхвхмю*/                   
                                                                                                                                            
                                                  ***********                CHAR  *                                                        
                                                  *  $$DIV2 *                $$FCVT (NEGFL,SCALE,FIELD,DPLACE,VALUE)                        
                                                  ***********                  INT     *NEGFL; /*0 еякх "+", 1 еякх "-" */                  
                                                                               INT     *SCALE; /*сярюмнбкем б мнплхпсчыхи                   
   хлъ дхярпхасрхбмнцн тюикю: DIV2.MAC                                                           лмнфхрекэ*/                                
                                                                               INT     FIELD;  /*люйяхлюкэмюъ ьхпхмю онкъ*/                 
   хяонкэгнбюмхе: MOV ярюпьюъ_вюярэ,R0 ;декхлне, ярюпьюъ вюярэ                 INT     DPLACE; /*ьхпхмю деяърхвмни вюярх*/                  
   MOV   лкюдьюъ_вюярэ,R1   ;декхлне,   лкюдьюъ   вюярэ    MOV                 DOUBLE  VALUE;  /*опенапюгселюъ бекхвхмю*/                   
   декхрекэ,R2 ;декхрекэ JSR PC,$$DIV2 ;бшонкмемхе декемхъ MOV                                                                              
   R0,ярюпьюъ ;вюярмне, ярюпьюъ вюярэ MOV R1,лкюдьюъ  ;лкюдьюъ          нохяюмхе:                                                           
   вюярэ вюярмнцн MOV R2,нярюрнй ;нярюрнй нр декемхъ                                                                                        
                                                                             тсмйжхъ $$DTDA бшгшбюеряъ тсмйжхеи PRINTF дкъ опенапю-         
   нохяюмхе:                                                            гнбюмхъ гмювемхъ рхою дбнимюъ рнвмнярэ б ASCII. рейяр гюох-         
                                                                        яшбюеряъ б BUFF[]. "FIELD" х "DPLACE" ъбкъчряъ  оюпюлерпюлх         
        бшонкмемхе аеггмюйнбнцн декемхъ дбнимни рнвмнярх.               опенапюгнбюмхъ "F" х "D" б тнплюрмни ярпнйе  "%F.DF"  яннр-         
                                                                        берярбеммн. "CONV" еярэ "E",  "F"  хкх  "G",  нопедекъачыхе         
   ньхайх: мер                                                          тнплюр. гюлерхл, врн гмюй опенапюгнбюмхъ днкфем ашрэ  гюдюм         
                                                                        люкемэйни асйбни.                                                   
                                                                                                                                            
                                                                             тсмйжхх $$ECTVT  х  $$FCVT  бшонкмъчр  опенапюгнбюмхе,         
                                                                        бнгбпюыюъ сйюгюрекэ мю бмсрпеммхи астеп яхлбнкнб. он  бнгб-         
                                                                        пюрс сопюбкемхъ NEGFL асдер ме мскебшл, еякх гмювемхе лемэ-         
                                                                        ье мскъ, ю SCALE асдер сярюмнбкем б мнплхпсчыхи лмнфхрекэ.          
                                                                                                                                            
                                                                        дхюцмнярхйю: мер                                                    
                                                                                                                                            
                                                                        ньхайх:                                                             
                                                                                                                                            
                                                                               - "%G" ме онддепфхбюеряъ. щйбхбюкемрмн "%F";                 
                                                                                                                                            
                                                                               - опнжедспю ме опнбепъкюяэ б яхкс нрясрярбхъ  пюанрш         
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 31 -                                                               - 32 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
            я окюбючыеи гюоърни.                                                  5.7. опнжедспш онддепфйх окюбючыеи гюоърни                
                                                                                                                                            
                                                                                                                                            
                                                                                                                       ***********          
             5.5. онддепфйю      окюбючыеи       гюоърни.                                                              * $$FSAV  *          
                  якнфемхе/бшвхрюмхе                                                                                   ***********          
                                                                                                                                            
                                                                        хлъ дхярпхасрхбмнцн тюикю: FIS.MAC                                  
                                                  ***********                                                                               
                                                  * $$FADD  *           хяонкэгнбюмхе:                                                      
                                                  ***********                                                                               
                                                                               $$FSAV          /*янупюмемхе окюбючыеи гюоърни*/             
   хлъ дхярпхасрхбмнцн тюикю: FADD.MAC                                         $$FRTA          /*бнгбпюр й бшгшбючыеи A*/                   
                                                                               $$FRTB          /*бнгбпюр й бшгшбючыеи B*/                   
   хяонкэгнбюмхе:                                                                                                                           
                                                                        нохяюмхе:                                                           
          DOUBLE                                                                                                                            
          $$FADD (A,B)    /*якнфемхе дбнимни рнвмнярх, A+B*/                 щрх опнжедспш хяонкэгсчряъ бмсрпх оюйерю хлхрюжхх окю-         
                                                                        бючыеи гюоърни. нмх мхйнцдю  ме  бшгшбючряъ  опнцпюллни  мю         
          DOUBLE                                                        "C".                                                                
          $$FSUB (A,B)    /*бшвхрюмхе дбнимни рнвмнярх A-B*/                                                                                
                                                                        ньхайх: мер                                                         
          DOUBLE A;                                                                                                                         
          DOUBLE  B;                                                                                                                        
                                                                                                                                            
   нохяюмхе:                                                                      5.8. пюганп йнлюмдмни ярпнйх                              
                                                                                                                                            
        бшгшбюеряъ йнлохкърнпнл опх рпюмякъжхх вхяек я окюбюч-                                                                              
   ыеи гюоърни.                                                                                                        ***********          
                                                                                                                       * $$GCMD  *          
   ньхайх: мер                                                                                                         ***********          
                                                                                                                                            
                                                                        хлъ дхярпхасрхбмнцн тюикю: GETCMD.MAC                               
                                                                                                                                            
             5.6. слмнфемхе/декемхе я окюбючыеи гюоърни                 хяонкэгнбюмхе:                                                      
                                                                                                                                            
                                                                               ARGC   = $$GCMD (TEXT,IN,OUT,AVP);                           
                                                  ***********                  CHAR   *TEXT;   /*йнлюмдмюъ ярпнйю*/                         
                                                  * $$FMUL  *                  CHAR   **IN;    /*хлъ тюикю дкъ STDIN*/                      
                                                  ***********                  CHAR   **OUT;   /*хлъ тюикю дкъ STDOUT*/                     
                                                                               CHAR   ***AVP;  /*пюглеыемхе ARGV[]*/                        
   хлъ дхярпхасрхбмнцн тюикю: FMUL.MAC                                                                                                      
                                                                        нохяюмхе:                                                           
   хяонкэгнбюмхе:                                                                                                                           
                                                                             пюганп йнлюмдмни ярпнйх х онярпнемхе  рюакхжш  ARGV[].         
          DOUBLE                                                        еякх сйюгюмн  оепемюгмювемхе  ббндю/бшбндю,  ббнд  х  бшбнд         
          $$FMUL (A,B)    /*окюбючыее слмнфемхе A*B */                  яннрберярбеммн лндхтхжхпсчряъ.                                      
          DOUBLE  A;                                                                                                                        
          DOUBLE  B;                                                         гюлевюмхе: тсмйжхъ $$GCMD  хглемъер  рейяр.  гюохях  б         
                                                                        AGRV[] асдср сйюгшбюрэ мю аюирш б рейяре.                           
   нохяюмхе:                                                                                                                                
                                                                             $$GCMD бнгбпюыюер вхякн ббедеммшу юпцслемрнб.                  
        бшгшбюеряъ йнлохкърнпнл дкъ бшонкмемхъ слмнфемхъ вхяек                                                                              
   я окюбючыеи гюоърни.                                                      тсмйжхъ $$GCMD бшгшбюеряъ якедсчыхл напюгнл:                   
                                                                                                                                            
   ньхайх: мер                                                                 /*                                                           
                                                                                * ббнд он слнквюмхч я TTY                                   
                                                                                */                                                          
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 33 -                                                               - 34 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
          CHAR    **INFILE = &DEF_IN;                                   VF$EOF х/хкх VF$ERR сярюмюбкхбючряъ опх ньхайе  налемю  хкх         
          CHAR    *DEFIN = "TT:";                                       йнмже тюикю. R0 пюбем мскч  опх  сяоеьмнл  налеме,  -1  опх         
          /*                                                            ньхайе налемю хкх йнмже тюикю. дпсцхе пецхярпш янупюмъчряъ.         
           * бшбнд он слнквюмхч мю TTY                                                                                                      
           */                                                           нохяюмхе:                                                           
          CHAR    **OUTFILE = &DEF_OUT;                                                                                                     
          CHAR    *DEF_OUT = "TT:";                                          тсмйжхъ $$GETC ъбкъеряъ бмсрпеммеи  опнжедспни  "онкс-         
          /*                                                            вхрэ гмюй". якедсчыхи аюир хг сйюгюммнцн тюикю бнгбпюыюеряъ         
           * нопедекхрэ сйюгюрекэ ARGV[] х                              б R0. бяе нярюкэмше пецхярпш янупюмъчряъ.                           
           * тхйрхбмсч йнлюмдмсч ярпнйс                                                                                                     
           */                                                                $$GET   ъбкъеряъ   бмсрпеммеи   опнжедспни   "онксвхрэ         
                                                                        гюохяэ". гюлерхл, врн люйяхлюкэмши пюглеп гюохях (R1) мена-         
          CHAR    **ARGVP                                               ундхлн сйюгшбюрэ рнкэйн б RSX. б RT11 нм гютхйяхпнбюм - 512         
          CHAR    *DUMMY = "MAIN"                                       (деяърхвмне) аюир.                                                  
          INT     ARGC;                                                                                                                     
          ...                                                                еякх тюик нопедекем йюй "онрнй" (ткюц "N" ме ашк сярю-         
          AR     GC = $$GCMD ((STRLEN(CMDLIN == 0) ?                    мнбкем опх нрйпшрхх тюикю опх онлных FOPEN()), йнмеж ярпнйх         
                          DUMMY :CMDLIN,                                опедярюкъеряъ б бхде гмюйю "мнбюъ ярпнйю" (\N), ю опх  мске         
                          &INFILE, &OUTFILE, &ARGVP);                   сдюкъчряъ.                                                          
          IF (ARGC < 0)                                                                                                                     
             ERROR ("мебепмюъ йнлюмдмюъ ярпнйю");                       ньхайх:                                                             
          STDIN = FOPEN (INFILE,"R");                                                                                                       
          IF (**OUTFILE == ">")                                                - б тюике "онрнй" б RT-11 бяе гмюйх "бнгбпюр  йюпер-         
                STDOUT = FOPEN (*OUTFILE+1,"A");                                 йх" сдюкъчряъ. ашкн  аш  анкее  йнппейрмн  сдюкърэ         
          ELSE  STDOUT = FOPEN (*OUTFILE,"W");                                   "бнгбпюр йюперйх" хг онякеднбюрекэмняреи           
                                                                                 хкх ;                                              
   ньхайх: мер                                                                                                                              
                                                                               - RT-11 хяонкэгсер .TTYIN опх ббнде я реплхмюкю ное-         
                                                                                 пюрнпю.  ашкн  аш  анкее  йнппейрмн   хяонкэгнбюрэ         
                                                                                 .GTLIN, оняйнкэйс щрн онгбнкхр пюанрюрэ я  йнябем-         
                                                                                 мшлх йнлюмдмшлх тюикюлх.                                   
             5.9. онксвемхе гмюйнб                                                                                                          
                                                                                                                                            
                                                                                                                                            
                                                  ***********                    5.10. ндмнпюгнбши йнд хмхжхюкхгюжхх                        
                                                  * $$GETC  *                                                                               
                                                  ***********                                                                               
                                                                                                                       ***********          
   хлъ дхярпхасрхбмнцн тюикю: GETC.MAC                                                                                 * $$INIT  *          
                                                                                                                       ***********          
   хяонкэгнбюмхе:                                                                                                                           
                                                                        хлъ дхярпхасрхбмнцн тюикю: INIT.MAC                                 
          MOV     #IOV,R4         ;R4 -> бейрнп ббндю/бшбндю                                                                                
          CALL    $$GETC          ;онксвхрэ гмюй                        хяонкэгнбюмхе: бмсрпеммее                                           
                                                                                                                                            
   RSX:   MOV     #IOV,R4         ;R4 -> бейрнп ббндю/бшбндю                   $$INIT()                                                     
          MOV     #BUFFER,R0      ;R0 -> астеп                                                                                              
          MOV     BUFLEN,R1       ;R1 := люйяхлюкэмши на'ел ас          нохяюмхе:                                                           
          CALL    $$GET           ;онксвхрэ гюохяэ                                                                                          
                                                                             йнцдю опнцпюллю  мю  "C"  мювхмюер  пюанрс,  йнлюмдмюъ         
   VF$EOF х/хкх VF$ERR сярюмюбкхбючряъ опх ньхайе  налемю  хкх          ярпнйю юмюкхгхпсеряъ х опенапюгсеряъ б тнплс люяяхбю ARGV[]         
   йнмжю тюикю. R0:=тюйрхвеяйюъ дкхмю гюохях,  -1  опх  ньхайе          х опнхгбндхряъ нрйпшрхе ярюмдюпрмшу тюикнб ббндю х бшбндю х         
   налемю хкх йнмже тюикю. дпсцхе пецхярпш янупюмъчряъ.                 тюикю дхюцмнярхвеяйху яннаыемхи. гюлерхл якедсчыее:                 
                                                                                                                                            
   RT11:                                                                     б RSX-11M (дюфе опх щлскъжхх) ARGV[0]  сярюмюбкхбюеряъ         
          MOV     #BLKNBR,R0      ;R0:=мнлеп вхрюелнцн акнйю            б хлъ гюдювх. б пефхлюу RT-11 ARGV[0]  асдер  сярюмнбкем  б         
          CALL    $$GET           ;опнвхрюрэ акнй                       осярне гмювемхе.                                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 35 -                                                               - 36 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
        б RT-11, еякх опнцпюлле ме оепедюеряъ йнлюмдмюъ  ярпн-                   5.11. опенапюгнбюмхе LONG б ASCII                          
   йю, опнцпюллю гюопюьхбюер "ARGV:" х вхрюер ярпнйс я  реплх-                                                                              
   мюкю ноепюрнпю. дкъ гюопеыемхъ щрнцн опнцпюллю онкэгнбюрекъ                                                                              
   днкфмю сярюмнбхрэ цкнаюкэмши ткюц йюй онйюгюмн мхфе:                                                                ***********          
                                                                                                                       * $$LTOA  *          
          $$NARG = 1;                                                                                                  ***********          
          MAIN (ARGV,ARGC) [                                                                                                                
          ...                                                           хлъ дхярпхасрхбмнцн тюикю: LTOA.MAC                                 
                                                                                                                                            
   еякх $$NARG нопедекем мемскебшл х опнцпюлле  ме  оепедюеряъ          хяонкэгнбюмхе:                                                      
   йнлюмдмюъ ярпнйю, MAIN() бшгшбюеряъ я ндмхл (осяршл)  юпцс-                                                                              
   лемрнл.                                                                     $$LTOA (BUFF,RADIX,VALUE);                                   
                                                                               CHAR    *BUFF;  /* дкъ пюглеыемхъ пегскэрюр */               
   бмсрпеммее:                                                                 INT     RADIX;  /* нямнбмхе опенапюгнбюмхъ  */               
                                                                               LONG    VALUE;  /* опенапюгселне гмювемхе   */               
        щрнр лндскэ яндепфхр йнд, йнрнпши лнфер ашрэ  всбярбх-                                                                              
   рекэмшл й нянаеммняръл пеюкхгюжхх б пюгкхвмшу  ноепюжхнммшу          нохяюмхе:                                                           
   яхярелюу. рюйфе, рюл лнфер ашрэ йнд, всбярбхрекэмши й  пюг-                                                                              
   кхвмшл рхоюл щлскърнпнб ноепюжхнммшу  яхярел.  пюгпюанрвхйх               бшгшбюеряъ PRINTF дкъ опенапюгнбюмхъ дкхммнцн жекнцн б         
   онярюпючряъ беяэ рюйни йнд янупюмхрэ б щрнл лндске.                  ACSII х пюглеыемхъ  пегскэрюрю  б  астепе.  юпцслемр  RADIX         
                                                                        нопедекъер опенапюгнбюмхе:                                          
   дхюцмнярхйю:                                                                                                                             
                                                                        D                                                                   
     CANNOT OPEN STANDART INPUT [хлъ_тюикю], CODE=NNNNNN                       - гмюйнбне деяърхвмне;                                       
     CANNOT OPEN STANDART OUTPUT [хлъ_тюикю], CODE=NNNNNN                                                                                   
     NO MEMORY                                                          O                                                                   
     мекэгъ нрйпшрэ ярюмдюпрмши ббнд [тюик], йнд=NNNNNN                        - бняэлепхвмне;                                              
     мекэгъ нрйпшрэ ярюмдюпрмши бшбнд [тюик], йнд=NNNNNN                                                                                    
     мер оюлърх                                                         U                                                                   
                                                                               - аеггмюйнбне деяърхвмне;                                    
   яннаыемхе  "CANNOT  OPEN"  ("мекэгъ  нрйпшрэ")  онпнфдюеряъ                                                                              
   ньхайни онкэгнбюрекъ опх оепемюгмювемхх ббндю/бшбндю.  ябъ-          X                                                                   
   гюммши йнд ньхайх ъбкъеряъ йнднл ньхайх FCS, еякх опнцпюллю                 - ьеярмюджюрхпхвмне (10-15 = A-F).                           
   бшгшбюеряъ б RSX. еякх опнцпюллю бшгшбюеряъ б RT-11  -  щрн                                                                              
   йнд ньхайх ахакхнрейх "C" (нохяюммни б IOV).                         ньхайх: мер.                                                        
                                                                                                                                            
   яннаыемхе "NO MEMORY" ("мер оюлърх")  опедонкюцюер  ръфекши                                                                              
   яксвюи опнцпюллмни меопнундхлнярх он пюглепс.                                                                                            
                                                                                 5.12. мювюкн пюанрш опнцпюллш мю "C"                       
        бяе ньхайх ъбкъчряъ тюрюкэмшлх.                                                                                                     
                                                                                                                                            
   ньхайх:                                                                                                             ***********          
                                                                                                                       * $$MAIN  *          
          - лнфер ашрэ пегнммшл декюрэ дхюцмнярхвеяйхе яннаые-                                                         ***********          
           мхъ ме тюрюкэмшлх, р.й. $$INIT лнфер  ашрэ  бшгбюм                                                                              
            опнцпюллни онкэгнбюрекъ;                                    хлъ дхярпхасрхбмнцн тюикю: SUPORT.MAC                               
                                                                                                                                            
          - б RSX-11M опнцпюллю  опейпюыюер  пюанрс  (бшонкмъъ          хяонкэгнбюмхе:                                                      
            хмярпсйжхч BPT), еякх опнцпюлле ме сдюкняэ нрйпшрэ                                                                              
            STDERR хкх опебшьючряъ оюпюлерпш пюгдекю.                  $$MAIN::                 /* мювюкн опнцпюллш мю "C" */               
                                                                        EXTERN   INT   $$OPSY   /* ноепюжхнммюъ яхярелю    */               
                                                                        EXTERN   INT   $$RSTS   /* ме мнкэ, еякх RSTS/E    */               
                                                                        EXTERN   INT   $$UIC    /* RSX: UIC он слнквюмхч   */               
                                                                        EXTERN   INT   $$STND   /* рнвйю йнмжю ярейю       */               
                                                                        EXTERN   INT   $$SCCA   /* RT-11: сопюбкемхе .SCCA */               
                                                                        EXTERN   INT   $$TASK[] /* RSX: хлъ гюдювх         */               
                                                                        EXTERN   INT   $$TICK   /* RT-11: 50 хкх 60 цепж   */               
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 37 -                                                               - 38 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
        бмсрпеммее                                                           бяе гмювемхъ "$$" опедмюгмювемш дкъ ябъгх бмсрпх  опн-         
                                                                        жедсп ахакхнрейх хяонкмъчыеи яхярелш. р.е.  нярюбэре  ху  б         
   EXTERN  INT (*$$PPTR)()  /* опнжедспю оевюрх опнтхкъ   */            онйне.                                                              
   EXTERN  INT  $$ARGC      /* явервхй юпцслемрнб         */                                                                                
   EXTERN  INT  $$$ARGV[]   /* сйюгюрекх яохяйю юпцслемрнб*/            дхюцмнярхйю:                                                        
   EXTERN  INT  *$$MTOP     /* мювюкн ябнандмни оюлърх    */                                                                                
   EXTERN  INT  *$$MEND     /* йнмеж ябнандмни оюлърх     */                 б RSX-11 гюдювю опейпюыюеряъ он хмярпсйжхх  BPT,  еякх         
                                                                        тюик бшбндю дхюцмнярхйх ме ашк нрйпшр. б  опнрхбмнл  яксвюе         
   нохяюмхе:                                                            пюяоевюршбюеряъ яннаыемхе на  ньхайе,  на'ъямъчыее  опхвхмс         
                                                                        ямърхъ опнцпюлл я бшонкмемхъ.                                       
        щрнр лндскэ яндепфхр ярюпрнбши мюанп хмярпсйжхи оепхн-                                                                              
   дю бшонкмемхъ дкъ опнцпюлл мю "C". нм хмхжхюкхгхпсер "нйпс-          ньхайх: мер                                                         
   фемхе" опнцпюллш мю "C"  х  бшгшбюер  ондопнцпюллс  MAIN().                                                                              
   оняке бнгбпюрю  сопюбкемхъ  хг  MAIN()  бшгшбюеряъ  тсмйжхъ                                                                              
   EXIT() дкъ гюйпшрхъ бяеу тюикнб  х  бнгбпюрю  сопюбкемхъ  б                                                                              
   ноепюжхнммсч яхярелс.                                                         5.13. нопедекемхе слнквюмхъ дкъ $$NARG                     
                                                                                                                                            
        якедсчыхе цкнаюкэмше яхлбнкш нопедекемш б щрнл лндске:                                                                              
                                                                                                                       ***********          
   $$OPSY                                                                                                              * $$NARG  *          
          - смхйюкэмне  гмювемхе,  нопедекъчыее   ноепюжхнммсч                                                         ***********          
            яхярелс. щрн гмювемхе пюбмн 7 дкъ RT-11,  х  сярю-                                                                              
            мюбкхбюеряъ дхпейрхбни GTSK$ б яхярелюу,  нямнбюм-          хлъ дхярпхасрхбмнцн тюикю: NARG.MAC                                 
            мшу мю RSX:                                                                                                                     
                                                                        хяонкэгнбюмхе:                                                      
                  RSX-11D         0                                                                                                         
                  RSX-11M         1                                            INT     $$NARG = <гмювемхе>                                  
                  RSX-11S         2                                            ...                                                          
                  IAS             3                                            MAIN()    [                                                  
                  RSTS/E V7       4                                            ...                                                          
                  VMS             5                                            ]                                                            
                  RT-11           7                                                                                                         
                                                                        нохяюмхе:                                                           
   $$RSTS                                                                                                                                   
          - щрн гмювемхе ме пюбмн мскч, еякх  опнцпюллю  бшгш-               б яюлни RT-11, еякх опх гюосяйе  опнцпюллш  ме  гюдюмю         
            бюеряъ онд сопюбкемхел  RSTS/E.  нмн  пюбмн  мскч,          йнлюмдмюъ ярпнйю, опнцпюллю оевюрюер "ARGV:"  мю  реплхмюке         
            еякх бшгнб опнхяундхр б нпхцхмюкэмни RSX хкх RT-11          ноепюрнпю, явхршбюер я мецн ндмс  ярпнйс  х  ярпнхр  люяяхб         
            хкх б VMS б пефхле янблеярхлнярх;                           ARGV[]. еякх щрн ъбкъеряъ мефекюрекэмшл,  менаундхлн  бйкч-         
                                                                        вхрэ б опнцпюллс мю  "C"  нопедекемхе  цкнаюкэмнцн  яхлбнкю         
   $$STND                                                               $$NARG, йюй онйюгюмн мхфе:                                          
          - (бепьхмю) йнмеж ярейю опх бунде;                                                                                                
                                                                               INT     $$NARG  = 1;                                         
   $$SCCA                                                                                                                                   
          - якнбн сопюбкемхъ .SCCA б RT-11. нмн менаундхлн дкъ          щрн ондюбкъер ноепюжхч времхъ ярпнйх я реплхмюкю ноепюрнпю.         
            опнцпюлл RSTS/E дкъ опепшбюмхи он йнмжс тюикю;              бейрнп ARGV[] асдер сярюмнбкем б осярше гмювемхъ.                   
                                                                                                                                            
   $$TASK                                                                    еякх опнцпюллю  онкэгнбюрекъ  ме  нопедекъер  гмювемхе         
          - дкъ RSX, хлъ гюдювх б йнде ASCII;                           $$NARG, нм асдер нопедекем рюйхл напюгнл,  врнаш  гюбепьюрэ         
                                                                        бшонкмемхе гюопняю "ARGV:".                                         
   $$TICK                                                                                                                                   
          - дкъ RT-11, жемю хмрепбюкю  лефдс  опепшбюмхълх  нр               гюлерхл, врн бекхвхмю $$NARG днкфмю ашрэ хмхжхюкхгхпн-         
            яеребшу вюянб. нмн пюбмн 50 хкх 60;                         бюмю мю щрюое йнлохкъжхх. нмю опнбепъеряъ  хмхжхюкхгхпсчыхл         
                                                                        йнднл оепед бшгнбнл тсмйжхх MAIN().                                 
   $$UIC                                                                                                                                    
          - дкъ RSX, якнбн UIC он слнквюмхч, хг GTSK$.                  ньхайх: мер.                                                        
                                                                                                                                            
   бмсрпеммее:                                                                                                                              
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 39 -                                                               - 40 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
            5.14. бшбеярх ндхм гмюй б тюик                                       5.16. янупюмемхе пецхярпнб R1-R5 б ярейе                   
                                                                                                                                            
                                                                                                                                            
                                                  ***********                                                          ***********          
                                                  *  $$PUTC *                                                          *  $$SVR1 *          
                                                  ***********                                                          ***********          
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: PUTC.MAC                                  хлъ дхярпхасрхбмнцн тюикю: SAVR1.MAC                                
                                                                                                                                            
   хяонкэгнбюмхе:                                                       хяонкэгнбюмхе:                                                      
                                                                                                                                            
          MOV  #IOV, R4   ; R4 -> бейрнп ббндю/бшбндю                          JSR    R5, $$SVR1  ; янупюмхрэ R1-R5 б ярейе                 
          MOV  BYTE, R0   ; R0 -> бшбндхлши аюир                               . . .                                                        
          CALL $$PUTC                                                                                                                       
                                                                               RETURN             ; бняярюмнбхрэ R1-R5 хг ярейю             
   нохяюмхе:                                                                                      ; х бнгбпюр б бшгшбючыхи лндскэ           
                                                                                                                                            
        тсмйжхъ $$PUTC бшгшбюеряъ  бмсрпх  лндскеи  ахакхнрейх          нохяюмхе:                                                           
   дкъ гюохях ндмнцн аюирю б сйюгюммши  тюик.  оняке  бнгбпюрю                                                                              
   бяе пецхярпш янупюмъчряъ, дюфе R0.                                        янупюмхрэ наыхе пецхярпш R1-R5 б ярейе х  бепмсрэяъ  б         
                                                                        бшгшбючыхи лндскэ. йнцдю бшгшбючыхи лндскэ бшонкмхр  RETURN         
   ньхайх:                                                              (RTS PC), щрн опхбедер й бняярюмнбкемхч яндепфхлнцн пецхяр-         
          - б щлскърнпе RT-11 онд RSTS/E хг-гю  опхясрярбсчыеи          пнб R1-R5 х сопюбкемхе асдер  оепедюмн  лндскч,  бшгбюбьелс         
            ньхайх мекэгъ, мюопхлеп, бшбеярх мю реплхмюк  гмюй          дюммши.                                                             
            "*" опх онлных  люйпнйнлюмдш  .TTYOUT.  менаундхлн                                                                              
            нрпедюйрхпнбюрэ йнд, йнцдю ньхайю асдер мюидемю.            ньхайх:                                                             
                                                                               - йндш сякнбхи, йпнле ахрю "C", ме янупюмъчряъ.              
                                                                                                                                            
                                                                                                                                            
            5.15. напюыемхе й яепбхяс лнмхрнпю RSX                                                                                          
                                                                                 5.17. опейпюыемхе пюанрш опнцпюллш я бшонкме-              
                                                                                       мхел хмярпсйжхх BPT                                  
                                                  ***********                                                                               
                                                  *  $$QIOW *                                                                               
                                                  ***********                                                          ***********          
                                                                                                                       *  ABORT  *          
   хлъ дхярпхасрхбмнцн тюикю: QIOW.MAC                                                                                 ***********          
                                                                                                                                            
   хяонкэгнбюмхе:                                                       хлъ дхярпхасрхбмнцн тюикю: ABORT.MAC                                
                                                                                                                                            
          MOV  <йнд_тсмйжхх_ббндю_бшбндю>, R0                           хяонкэгнбюмхе:                                                      
          MOV  <сйюгюрекэ_IOV>, R4                                                                                                          
          CALL $$QIOW                                                          ABORT()                                                      
          BCS  <ньхайю>                                                                                                                     
                                                                        нохяюмхе:                                                           
   нохяюмхе:                                                                                                                                
                                                                             оняке гюйпшрхъ бяеу тюикнб, опнцпюллю гюбепьюер  пюан-         
        бшонкмъер   дхпейрхбс   QIO$   дкъ    бяеу    гюопнянб          рс, бшонкмъъ хмярпсйжхч BPT.                                        
   ббндю/бшбндю, йнрнпше б меи мсфдючряъ. хяонкэгсер R0, R1.                                                                                
                                                                        ньхайх: мер.                                                        
        щрю опнжедспю хяонкэгсеряъ рнкэйн  б  ахакхнрейе  RSX.                                                                              
   хяонкэгнбюмхе ее б ахакхнрейе RT-11 опхбедер й  опейпюыемхч                                                                              
   пюанрш опнцпюллш я бшонкмемхел хмярпсйжхх BPT.                                                                                           
                                                                                                                                            
   ньхайх: мер.                                                                                                                             
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 41 -                                                               - 42 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
            5.18. юаянкчрмне гмювемхе жекнцн                                     5.20. опенапюгнбюмхе ASCII б RADIX-50                      
                                                                                                                                            
                                                                                                                                            
                                                  ***********                                                          ***********          
                                                  *  ABS    *                                                          *  ASCR50 *          
                                                  ***********                                                          ***********          
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: ABS.MAC                                   хлъ дхярпхасрхбмнцн тюикю: ASCR5.MAC                                
                                                                                                                                            
   хяонкэгнбюмхе:                                                       хяонкэгнбюмхе:                                                      
                                                                                                                                            
          ABS (VAL)                                                            ASCR50 (COUNT, INPUT, OUTPUT)                                
          INT  VAL;                                                            INT    COUNT;                                                
                                                                               INT    *OUTPUT;                                              
   нохяюмхе:                                                                   CHAR   *INPUT;                                               
                                                                                                                                            
        бнгбпюыюеряъ юаянкчрмне гмювемхе жекнцн юпцслемрю.              нохяюмхе:                                                           
                                                                                                                                            
   ньхайх: мер.                                                              опенапюгсер "COUNT" гмюйнб хг ASCII  б  йнд  RADIX-50.         
                                                                        еякх вхякн опенапюгселшу гмюйнб ме  йпюрмн  рпел,  б  йнмеж         
                                                                        опенапюгселнцн рейярю  днаюбкъчряъ  опнаекш.  ярпнйю  ASCII         
                                                                        оепеяшкюеряъ мю бшунд опх гюбепьемхх.  бундмше  х  бшундмше         
            5.19. бшдекемхе оюлърх                                      накюярх лнцср янбоюдюрэ, оняйнкэйс  рпх  гмюйю  аеперяъ  хг         
                                                                        бундмни накюярх дкъ рнцн, врнаш бшбеярх рнкэйн дбю аюирю.           
                                                                                                                                            
                                                  ***********           ньхайх: мер.                                                        
                                                  *  ALLOC  *                                                                               
                                                  ***********                                                                               
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: ALLOC.MAC                                          5.21. лндскэ щлскърнпю EIS                                 
                                                                                                                                            
   хяонкэгнбюмхе:                                                                                                                           
                                                                                                                       ***********          
          CHAR  *                                                                                                      *  ASL$I  *          
          ALLOC(N)   /* -1, еякх мер оюлърх */                                                                         ***********          
                                                                                                                                            
   нохяюмхе:                                                            хлъ дхярпхасрхбмнцн тюикю: EIS.MAC                                  
                                                                                                                                            
        бшдекъер рпеаселне вхякн аюир, бнгбпюыюъ сйюгюрекэ  мю          хяонкэгнбюмхе:                                                      
   оепбши хг мху. напюг опнцпюллш опх менаундхлнярх асдер пюя-                                                                              
   ьхпем.                                                                      ASL$I (A,B);  /* бшонкмхрэ A<>B */                           
        тсмйжхъ ALLOC() бнгбпюыюер гмювемхе -1, еякх рпеаселне                 MUL$I (A,B);  /* бшонкмхрэ A*B  */                           
   опнярпюмярбн ме лнфер ашрэ бшдекемн.                                        DIV$I (A,B);  /* бшонкмхрэ A/B  */                           
                                                                               MOD$I (A,B);  /* бшонкмхрэ A%B  */                           
        тсмйжхъ FREE() хяонкэгсеряъ дкъ бнгбпюыемхъ  астепю  б                                                                              
   ябнандмсч накюярэ.                                                   нохяюмхе:                                                           
                                                                                                                                            
        ялнрпх рюйфе нохяюмхе тсмйжхи  MALLOC(),  REALLOC()  х               бяе юпцслемрш-жекше. щрх опнжедспш бшгшбючряъ йнлохкъ-         
   SBREAK().                                                            рнпнл "C" дкъ бшонкмемхъ сйюгюммшу ноепюжхи.                        
                                                                                                                                            
   дхюцмнярхйю: мер.                                                         лндскх лнцср ашрэ нррпюмякхпнбюмш он сякнбхч дкъ цеме-         
                                                                        пюжхх юооюпюрмшу япедярб EIS. нрпедюйрхпсире тюикш RT11.MAC         
   ньхайх:                                                              хкх RSX.MAC дкъ нопедекемхъ менаундхлнцн гмювемхъ C$$EIS:           
          - тсмйжхъ  ALLOC()  сярюпекю.  б  мнбшу   опнцпюллюу                                                                              
            хяонкэгсире тсмйжхч MALLOC().                                      0   щлскъжхъ ноепюжхи EIS                                    
                                                                               1   цемепюжхъ ноепюжхи EIS                                   
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 43 -                                                               - 44 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
   он слнквюмхч C$$EIS пюбмн мскч дкъ RT-11 х  ме  пюбмн  мскч                   5.23. ядбхц LONG<>(-N)                                                         ***********          
   х мюнанпнр.                                                                                                         *  ASL$LI *          
                                                                                                                       ***********          
   ньхайх:                                                                                                                                  
          - декемхе мю мнкэ онпнфдюер мнкэ дкъ ноепюжхи  деке-          хлъ дхярпхасрхбмнцн тюикю: ASLLI.MAC                                
            мхъ х онксвемхъ нярюрйю.                                                                                                        
                                                                        хяонкэгнбюмхе:                                                      
                                                                                                                                            
                                                                               LONG                                                         
            5.22. ядбхц LONG<>INT                           
   нохяюмхе:                                                                                                                                
                                                                                                                                            
        бшонкмъер юпхтлерхвеяйхи ядбхц дкхммнцн жекнцн мю сйю-                                                         ***********          
   гюммне дкхммшл жекшл  вхякн  пюгпъднб.  опнбепъчряъ  рнкэйн                                                         *  ASR$U  *          
   ьеярэ лкюдьху пюгпъднб юпцслемрю, сйюгшбючыецн  ядбхц.  щрн                                                         ***********          
   янблеярхлн я юооюпюрмни хмярпсйжхеи ASH.                                                                                                 
                                                                        хлъ дхярпхасрхбмнцн тюикю: ASCU.MAC                                 
        гюлерхл, врн еякх N нрпхжюрекэмне, рн:                                                                                              
                                                                        хяонкэгнбюмхе:                                                      
          ( L<>(-N) )                                                                                                           
                                                                               UNSIGNED                                                     
   ньхайх: мер                                                                 ASR$U    (U,N)                                               
                                                                               UNSIGNED U;                                                  
                                                                               INT      N;                                                  
                                                                                                                                            
                                                                        нохяюмхе:                                                           
                                                                                                                                            
                                                                             бшонкмъер ноепюжхч U>>N дкъ аеггмюйнбнцн жекнцн. гюле-         
                                                                        рхл, врн, еякх N нрпхжюрекэмн, щрн деиярбсер, йюй  еякх  аш         
                                                                        ашкн бшонкмемн U<<(-N).                                             
                                                                                                                                            
                                                                        ньхайх: мер.                                                        
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 45 -                                                               - 46 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
            5.25. опенапюгнбюмхе хг ASCII б вхякн я  окю-                        5.27. опенапюгнбюмхе ASCII б дкхммне жекне                 
                  бючыеи гюоърни дбнимни рнвмнярх                                                                                           
                                                                                                                                            
                                                                                                                       ***********          
                                                  ***********                                                          *  ATOL   *          
                                                  *  ATOD   *                                                          ***********          
                                                  ***********                                                                               
                                                                        хлъ дхярпхасрхбмнцн тюикю: ATOL.MAC                                 
   хлъ дхярпхасрхбмнцн тюикю: ATOD.MAC                                                                                                      
                                                                        хяонкэгнбюмхе:                                                      
   хяонкэгнбюмхе:                                                                                                                           
                                                                               LONG                                                         
          DOOBLE                                                               ATOL (P)                                                     
          ATOD   (BUFFER)                                                      CHAR    *P;                                                  
          CHAR    *BUFFER;                                                                                                                  
                                                                        нохяюмхе:                                                           
   нохяюмхе:                                                                                                                                
                                                                             опенапюгнбюмхе ярпнйх б жекне. мхйюйнцн йнмрпнкъ  дюм-         
        опенапюгсер ярпнйс-юпцслемр б дбнхвмне вхякн я окюбюч-          мшу ме бедеряъ. опенапюгнбюмхе  нярюмюбкхбюеряъ  мю  оепбнл         
   ыеи гюоърни дбнимни рнвмнярх. опенапюгнбюмхе нярюмюбкхбюер-          гмюйе, ме опхмюдкефюыел  гюохях  жекнцн.  бедсыхе  опнаекш,         
   яъ мю  оепбнл  медносярхлнл  яхлбнке.  опедонкюцюеряъ,  врн          рюаскъжхх, гмюй окчя х/хкх гмюйх мнбни ярпнйх хцмнпхпсчряъ.         
   бшгшбючыхи лндскэ сфе опнбепхк юпцслемр мю дносярхлнярэ.             жекнлс лнфер опедьеярбнбюрэ гмюй лхмся.                             
                                                                                                                                            
   ньхайх:                                                              ньхайх: мер.                                                        
          - еые ме мюохяюмю (р.й.  б  йнлохкърнпе  нрясрярбсер                                                                              
            онддепфйю окюбючыеи гюоърни).                                                                                                   
                                                                                                                                            
                                                                                 5.28. хглемемхе пюяопедекемхъ оюлърх                       
                                                                                                                                            
            5.26. опенапюгнбюмхе ASCII б жекне                                                                                              
                                                                                                                       ***********          
                                                                                                                       *  BREAK  *          
                                                  ***********                                                          ***********          
                                                  *  ATOI   *                                                                               
                                                  ***********           хлъ дхярпхасрхбмнцн тюикю: BREAK.MAC                                
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: ATOI.MAC                                  нохяюмхе:                                                           
                                                                                                                                            
   хяонкэгнбюмхе:                                                              CHAR  *                                                      
                                                                               OLD = SBRK (INCREMENTS)                                      
          ATOI (P)                                                             INT   *OLD;                                                  
          CHAR     *P;                                                         INT   INCREMENTS;                                            
                                                                                                                                            
   нохяюмхе:                                                                   CHAR  *                                                      
                                                                               OLD = BRK (VALUE)                                            
        опенапюгнбюмхе ярпнйх б жекне. мхйюйнцн йнмрпнкъ  дюм-                 INT   *OLD;                                                  
   мшу ме опнбндхряъ. опенапюгнбюмхе нярюмюбкхбюеряъ мю оепбнл                 INT   *VALUE;                                                
   гмюйе, ме опхмюдкефюыел  гюохях  жекнцн.  бедсыхе  опнаекш,                                                                              
   рюаскъжхх, гмюй окчя х/хкх опхгмюйх  мнбни  ярпнйх  хцмнпх-                 CHAR  *                                                      
   псчряъ. жекнлс лнфер опедьеярбнбюрэ гмюй лхмся.                             NEW = SETTOP (VALUE)                                         
                                                                               INT   *VALUE;                                                
   ньхайх: мер.                                                                INT   *NEW;                                                  
                                                                                                                                            
                                                                        нохяюмхе:                                                           
                                                                                                                                            
                                                                             тсмйжхъ SBRK() аепер мю  "INCREMENTS"  оюлърх  анкэье.         
                                                                        тсмйжхъ BRK() сярюмюбкхбюер б "VALUE" оепбши мехяонкэгселши         
                                                                        юдпея. нае тсмйжхх бнгбпюыючр  сйюгюрекэ  мю  мювюкн  мнбни         
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 47 -                                                               - 48 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
   накюярх оюлърх. тсмйжхъ SETTOP() сярюмюбкхбюер бепумчч цпю-                 LONG    CALL();                                              
   мхжс оюлърх б "VALUE".                                                      LONG    MYFUN();                                             
                                                                               LONG    LARG;                                                
        еякх рпеаселюъ оюлърэ ме днярсомю бнгбпюыюеряъ "NULL".                 LONG    RESULT;                                              
   "сйнпнвеммши" бнгбпюр ме бшонкмъеряъ. дкъ щрни жекх хяонкэ-                 RESULT = (LONG) CALL (MYFUN,1,&LARG);                        
   гсире тсмйжхч SETTOP().                                                                                                                  
                                                                        ньхайх:                                                             
   ньхайх:                                                                                                                                  
          - щрх опнжедспш пюанрючр рнкэйн б ахакхнрейе  RT-11.                 - опедсопефдемхе: фдхре меопхърмняреи, еякх опнжедс-         
            хяонкэгнбюмхе ху б пефхле RSX опхбндхр й меледкем-                   пю PDP-11  яндепфхр  ббнд/бшбнд.  бнгбпюр  дюммшу,         
            мнлс опейпюыемхч пюанрш опнцпюллш я онлныэч опепш-                   хлечыху рхо окюбючыеи гюоърни ме пеюкхгнбюм.               
            бюмхъ он хмярпсйжхх IOT;                                                                                                        
          - щрх опнжедспш ме пюанрючр янблеярмн я ALLOC(). нмх                                                                              
            днкфмш щрн декюрэ.                                                                                                              
                                                                                 5.30. бшгнб ("C") опнжедсп хг тнпрпюмю                     
                                                                                                                                            
                                                                                                                                            
            5.29. бшгнб  (тнпрпюмнбяйху)  ондопнцпюлл  хг                                                              ***********          
                  "C"                                                                                                  *  CALLC  *          
                                                                                                                       ***********          
                                                                                                                                            
                                                  ***********           хлъ дхярпхасрхбмнцн тюикю: CALLC.MAC                                
                                                  *  CALL   *                                                                               
                                                  ***********           хяонкэгнбюмхе:                                                      
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: CALL.MAC                                         INTEGER CALLC                                                
                                                                               IVAL = CALLC(ROUTINE,ARG1,...ARGN)                           
   хяонкэгнбюмхе:                                                                                                                           
                                                                        нохяюмхе:                                                           
          бнгбпюыюелне_гмювемхе =                                                                                                           
             CALL (ROUTINE,COUNT,&ARG1,...,&ARGN);                           бшгшбюелши онкэгнбюрекел хмрептеия лефдс тнпрпюмнбяйх-         
          EXTERN  INT  ROUTINE (); /*хлъ тсмйжхх PDP-11*/               лх опнцпюллюлх х ондопнцпюллюлх, мюохяюммшлх б "C".                 
          INT     COUNT;           /*вхякн юпцслемрнб*/                                                                                     
                                                                             юпцслемрюлх ъбкъчряъ:                                          
   нохяюмхе:                                                                                                                                
                                                                        ROUTINE                                                             
        бшгшбюелши онкэгнбюрекел хмрептеия хг  ахакхнрейх  "C"                 - хлъ опнжедспш мю "C", йнрнпюъ бшгшбюеряъ;                  
   лефдс опнцпюллюлх мю "C"  х  опнжедспюлх,  йнрнпше  якедсчр                                                                              
   ярюмдюпрс бшгшбючыеи  онякеднбюрекэмнярх  PDP-11.  гюлерхл,          ARG1                                                                
   врн тсмйжхъ CALL()  янупюмъер  х  бняярюмюбкхбюер  пецхярпш                 - (юдпея) оепбнцн юпцслемрю.                                 
   R2-R5.                                                                                                                                   
                                                                             мюопхлеп:                                                      
        хяонкэгсчряъ якедсчыхе юпцслемрш:                                                                                                   
                                                                               CALL CALLC (SORT,TABLE,NELEMENT)                             
   ROUTINE - хлъ бшгшбюелни опнцпюллш PDP11;                                                                                                
   COUNT   - вхякн юпцслемрнб, оепедюбюелшу опх бшгнбе;                 ньхайх:                                                             
   ARGL    - оепбши юпцслемр.                                                                                                               
                                                                               - ме реярхпнбюкюяэ. асдср опхясрярбнбюрэ йнмткхйрш я         
       мюопхлеп:                                                                 ахакхнрейни ббндю/бшбндю, оняйнкэйс тюикш  "C"  ме         
                                                                                 хмхжхюкхгхпнбюмш;                                          
          EXTERN  INT     SORT();                                                                                                           
          INT     дюммше_мю_янпрхпнбйс [NDATA];                                - мхфеоепевхякеммше опнакелш онпнфдючряъ, еякх ондо-         
          INT     NDATA = вхякн_дюммшу;                                          пнцпюллю "C" бшгшбюеряъ хг цнкнбмни  тнпрпюмнбяйни         
          CALL (SORT,2,&дюммше_мю_янпрхпнбйс,&вхякн_дюммшу);                     опнцпюллш:                                                 
                                                                                                                                            
   гюлерхл, врн, еякх тсмйжхъ  бнгбпюыюер  дюммше  йюйнцн-кхан                        - ондопнцюллю "C" яяшкюеряъ мю опнжедспс яну-         
   рхою, мюопхлеп, LONG, рн ROUTINE х CALL() днкфмш ашрэ  йнп-                          пюмемхъ пецхярпнб (CSV$), йнрнпюъ яяшкюеряъ         
   пейрмн на'ъбкемш:                                                                    мю цнкнбмсч опнцпюллс "C";  щрн  бкевер  гю         
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 49 -                                                               - 50 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                   янани анкэьни  на'ел  йндю,  гюбхяхлнцн  нр               опедсопефдемхе: щрю опнжедспю всбярбхрекэмю й  тнплюрс         
                   ббндю/бшбндю, врн лнфер опхбеярх й йнмткхй-          ярпюмхжш нйпсфемхъ х  пюяопедекемхч  хмтнплюжхх  опнтхкепю.         
                   рюл;                                                 еякх хглемъеряъ CSV$, PCSV$ хкх $$PROF, лнфер онрпеанбюрэяъ         
                                                                        хглемемхе щрни тсмйжхх.                                             
                 - врн яюлне окнуне, рюй щрн рн, врн асдер дбе                                                                              
                   цнкнбмше опнцпюллш;                                  ньхайх: мер                                                         
                                                                                                                                            
                 - йпнле  щрнцн  пейнлемдсеряъ,   врнаш   ашкю                                                                              
                   цнкнбмюъ опнцпюллю мю "C", йнрнпюъ бшгшбюер                                                                              
                   тнпрпюмнбяйхе ондопнцпюллш, ю нмх,  б  ябнч                   5.32. бшдекемхе х хмхжхюкхгюжхъ оюлърх                     
                   нвепедэ,  лнцср  бшгшбюрэ  ондопнцпюллш  мю                                                                              
                   "C";                                                                                                                     
                                                                                                                       ***********          
          - опнцпюллхяр лнфер, йпнле щрнцн, нопедекхрэ  осярсч                                                         * CALLOC  *          
            опнцпюллс, йнрнпюъ сднбкербнпхр цкнаюкэмше  яяшкйх                                                         ***********          
            мю CSV$, хкх лндхтхжхпнбюрэ CALLC.MAC дкъ бмеяемхъ                                                                              
            менаундхлшу цкнаюкэмшу.                                     хяонкэгнбюмхе:                                                      
                                                                                                                                            
                                                                               CHAR    *                                                    
                                                                               CALLOC (N,M);   /*еякх мер опнярпюмярбю, рн NULL*/           
            5.31. бнгбпюр хлемх лндскъ, бшгбюбьецн опнже-                                                                                   
                  дспс онярпнемхъ опнтхкъ                               нохяюмхе:                                                           
                                                                                                                                            
                                                                             тсмйжхъ CALLOC() бшдекъер опнярпюмярбн дкъ  N  щкелем-         
                                                  ***********           рнб, он M аюир  дкхмни  йюфдши.  он  бнгбпюрс  опнярпюмярбн         
                                                  * CALLER  *           намскъеряъ. напюг опнцпюллш опх менаундхлнярх асдер  пюяьх-         
                                                  ***********           пем.                                                                
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: CALLER.MAC                                     еякх рпеаселне опнярпюмярбн ме  лнфер  ашрэ  бшдекемн,         
                                                                        тсмйжхъ CALLOC() бнгбпюыюер NULL.                                   
   хяонкэгнбюмхе:                                                                                                                           
                                                                             ялнрпх рюйфе нохяюмхе тсмйжхи  MALLOC(),  REALLOC()  х         
          CHAR    *                                                     SBREAK().                                                           
          CALLER ();                                                                                                                        
                                                                             опнярпюмярбн нябнанфдюеряъ он бшгнбс тсмйжхх FREE().           
   нохяюмхе:                                                                                                                                
                                                                        дхюцмнярхйю: мер                                                    
        еякх опнжедспю, йнрнпюъ бшгбюкю рейсысч  тсмйжхч  ашкю                                                                              
   нрйнлохкхпнбюмю я  хяонкэгнбюмхел  япедярб  опнтхкхпнбюмхъ,          ньхайх: мер.                                                        
   тсмйжхъ CALLER() бнгбпюыюер  сйюгюрекэ  мю  хлъ  бшгшбючыеи                                                                              
   тсмйжхх. еякх бшгшбючыюъ тсмйжхъ йнлохкхпнбюкюяэ аег пюгпе-                                                                              
   ьемхъ опнтхкхпнбюмхъ, рн бнгбпюыюеряъ сйюгюрекэ  мю  осярсч                                                                              
   ярпнйс.                                                                                                                                  
                                                                                 5.33. рпюяяхпнбйю онякеднбюрекэмнярх бшгнбю                
        опхлеп:                                                                                                                             
                                                                                                                                            
          FOO ()                                                                                                       ***********          
          [                                                                                                            *  CALLTR *          
               FOOBAR ();                                                                                              ***********          
          ]                                                                                                                                 
          FOOBAR ()                                                     хлъ дхярпхасрхбмнцн тюикю: CALLTR.MAC                               
          [                                                                                                                                 
               EXTERN CHAR *CALLER();                                   хяонкэгнбюмхе:                                                      
               PRINTF ("FOOBAR ашк бшгбюм %S\N",CALLER());                                                                                  
          ]                                                                    CAUTRACE (OUTFD);                                            
                                                                               FILE         *OUTFD;                                         
   бмсрпеммее:                                                                                                                              
                                                                        нохяюмхе:                                                           
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 51 -                                                               - 52 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
        тсмйжхъ CALLTRACE()  пюяоевюршбюер  онякеднбюрекэмнярэ                   5.35. йнохпнбюмхе гюдюммнцн вхякю аюир                     
   бшгнбнб (нр MAIN() дн опнжедспш, йнрнпюъ напюрхкюяэ й тсмй-                                                                              
   жхх CALLTRACE()) б сйюгюммши тюик. онякеднбюрекэмнярэ оевю-                                                                              
   рюеряъ мю ндмни ярпнйе йюй:                                                                                         ***********          
                                                                                                                       *  COPY   *          
          [MAIN SUBR1 SUBR2]                                                                                           ***********          
                                                                                                                                            
   еякх опнжедспю, мюундъыюъяъ б онякеднбюрекэмнярх,  йнлохкх-          хлъ дхярпхасрхбмнцн тюикю: COPY.MAC                                 
   пнбюкюяэ аег япедярб опнтхкхпнбюмхъ  хкх  мювхмюеряъ  ме  я                                                                              
   бшгнбю опнжедспш янупюмемхъ пецхярпнб  хг  ахакхнрейх  "C",          хяонкэгнбюмхе:                                                      
   хмтнплюжхъ н меи бшбндхряъ б  бхде  NNNNNN  (цде  NNNNNN  -                                                                              
   бняэлепхвмши юдпея рнвйх бундю б опнжедспс).  гюлерхл,  врн                 CHAR    *                                                    
   онякедмъъ рнвйю бундю, сйюгюммюъ б ярпнйе, еярэ  опнжедспю,                 COPY (OUT,IN,NBYTES)                                         
   йнрнпюъ бшгшбюкю CALLTRACE().                                               CHAR    *OUT;                                                
                                                                               CHAR    *IN;                                                 
        рпюяяю бшгнбнб асдер пюяоевюрюмю б йнмже пюанрш  опнц-                 INT     NBYTES;                                              
   пюллш, еякх опнтхкхпнбюмхе пюгпеьемн х опнцпюллю  ямхлюеряъ                                                                              
   я бшонкмемхъ хкх бшгшбюер тсмйжхч ERROR().                           нохяюмхе:                                                           
                                                                                                                                            
   бмсрпеммее:                                                               йнохпнбюмхе сйюгюммне вхякн аюир хг бундмни накюярх  б         
                                                                        бшундмсч накюярэ. бнгбпюыюеряъ сйюгюрекэ мю оепбши  ябнанд-         
        опедсопефедемхе: щрю опнжедспю всбярбхрекэмю й тнплюрс          мши аюир б бшундмни накюярх.                                        
   ярпюмхжш нйпсфемхъ х пюглеыемхч хмтнплюжхх  опнтхкхпнбюмхъ.                                                                              
   еякх хглемъеряъ CSV$, PCSV$ хкх $$PROF,  рн  щрю  опнжедспю          ньхайх: мер                                                         
   рнфе лнфер онрпеанбюрэ лндхтхйюжхх.                                                                                                      
                                                                                                                                            
        дкъ тсмйжхх ERROR() опеднярюбкъеряъ яоежхюкэмюъ  рнвйю                                                                              
   бундю, йнрнпюъ онгбнкъер бшбндхрэ юдпея ньхайх, ю ме  юдпея                   5.36. йнохпнбюмхе ярпнйх                                   
   рнвйх бнгбпюрю йюй яюлю ERROR().                                                                                                         
                                                                                                                                            
   ньхайх: мер                                                                                                         ***********          
                                                                                                                       *  CPYSTR *          
                                                                                                                       ***********          
                                                                                                                                            
            5.34. йнмйюремюжхъ ярпнй                                    хлъ дхярпхасрхбмнцн тюикю: CPYSTR.MAC                               
                                                                                                                                            
                                                                        хяонкэгнбюмхе:                                                      
                                                  ***********                                                                               
                                                  * CONCAT  *                  CHAR    *                                                    
                                                  ***********                  CPYSTR (OUT,IN);                                             
                                                                               CHAR    *OUT;                                                
   хлъ дхярпхасрхбмнцн тюикю: CONCAT.MAC                                       CHAR    *IN;                                                 
                                                                                                                                            
   хяонкэгнбюмхе:                                                       нохяюмхе:                                                           
                                                                                                                                            
          CHAR    *                                                          йнохпнбюмхе "IN" б "OUT".  бнгбпюыюеряъ  сйюгюрекэ  мю         
          CONCAT (OUT,IN0,IN1,...,INN,0);                               йнмеж бшундмни ярпнйх. щрн онгбнкъер якедсчыее  хяонкэгнбю-         
          CHAR    *OUT                                                  мхе:                                                                
          CHAR    *IN0,IN1,...,INN;                                                                                                         
                                                                               CHAR    *PTR;                                                
   нохяюмхе:                                                                   CHAR    BUFFER[BUFSIZ]                                       
                                                                               EXTERN  CHAR    *CPYSTR();                                   
        тсмйжхъ CONCAT нясыеярбкъер йнмйюремюжхч  ярпнй  юпцс-                                                                              
   лемрнб. нмю бнгбпюыюер сйюгюрекэ мю  оепбши  аюир  бшундмни                 PTR = CPYSTR (BUFFER,рейяр);                                 
   ярпнйх.                                                                     PTR = CPYSTR (PTR,днонкмхрекэмши_рейяр);                     
                                                                                                                                            
   ньхайх: мер                                                          бшьеопхбедеммюъ  онякеднбюрекэмнярэ  ноепюрнпнб   днаюбкъер         
                                                                        днонкмхрекэмши рейяр й йнохх  рейярю  сфе  оепеохяюммнцн  б         
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 53 -                                                               - 54 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
   астеп.                                                                    R5 ме днкфем хглемърэяъ ондопнцпюллни.  бяъ  юдпеяюжхъ         
                                                                        оепелеммшу днкфмю опнхгбндхряъ опх онлных ялеыемхи  нр  R5.         
   ньхайх: мер                                                          юпцслемрш ондопнцпюллш днкфмш юдпеянбюрэяъ я хяонкэгнбюмхел         
                                                                        яяшкйх мю C$PMTR. кнйюкэмше оепелеммше ондопнцпюллш  днкфмш         
                                                                        юдпеянбюрэяъ я хяонкэгнбюмхел яяшкйх мю C$AUTO. щрн  онгбн-         
                                                                        къер лндхтхйюжхч бшгшбючыеи онякеднбюрекэмнярх аег оепеохях         
            5.37. янупюмемхе х бняярюмнбкемхе пецхряпнб б               бяеу ондопнцпюлл.                                                   
                  "C"                                                                                                                       
                                                                             тсмйжхъ CSV$ яяшкюеряъ мю цкнаюкэмши яхлбнк $$MAIN дкъ         
                                                                        бшгнбю ярюпрнбни опнцпюллш оепхндю бшонкмемхъ хг ахакхнрейх         
                                                  ***********           (RSX).                                                              
                                                  *  CSV$   *                                                                               
                                                  ***********           ньхайх: мер                                                         
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: CSV.MAC                                                                                                       
                                                                                                                                            
   хяонкэгнбюмхе:                                                                5.38. опенапюгнбюмхе астепю вюянб б ASCII                  
                                                                                                                                            
          JSR     R5,CSV$                                                                                                                   
          ...                                                                                                          ***********          
          JMP     CRET$                                                                                                *  CTIME  *          
                                                                                                                       ***********          
   нохяюмхе:                                                                                                                                
                                                                        хлъ дхярпхасрхбмнцн тюикю: CTIME.MAC                                
                 япедю бшонкмемхъ опнцпюллш "C"                                                                                             
                                                                        хяонкэгнбюмхе:                                                      
        йюфдюъ ондопнцпюллю, мюохяюммюъ мю "C", мювхмюер пюан-                                                                              
   рс я бшгнбю тсмйжхх CSV$ х гюбепьюеряъ оепедювеи сопюбкемхъ                 CHAR *                                                       
   мю CRET$. опх гюбепьемхх  ондопнцпюллш  ярей  менаъгюрекэмн                 CTIME (BUFFER);                                              
   днкфем ашрэ пюбем ецн гмювемхч опх бунде б ондопнцпюллс.                    STRUCT  TIME [                                               
                                                                                       INT   YEAR;     /* G.TIYR цнд-1900 */                
        б  опнжеяяе  бшонкмемхъ  кчани  ондопнцпюллш  мю   "C"                         INT   MONTH;    /* G.TIMO ъмбюпэ =1 */               
   пецхярп R5 сйюгшбюер мю рейсыее "нйпсфемхе". бмсрпх  опнже-                         INT   DAY;      /* G.TIDA           */               
   дспш щрн бшцкъдхр якедсчыхл напюгнл:                                                INT   HOUR;     /* G.TIHR 00-23     */               
                                                                                       INT   MINUTE;   /* G.TIMI 00-59     */               
            --------------------------                                                 INT   SECOND;   /* G.TISC 00-59     */               
      SP==> !1-ъ кнйюкэмюъ оепелеммюъ! -10(R5) C$AUTO(R5)                              INT   TICK;     /* G.TICT 00-TSEC-1 */               
            --------------------------                                                 INT   TSEC;     /* G.TICP рхй/яейсмдю*/              
            !    янупюмеммши R2      !  -6(R5)                                 ] BUFFER;                                                    
            --------------------------                                         DAYOFWEEK (BUFFER);                                          
            !    янупюмеммши R3      !  -4(R5)                                 STRUCT TIME BUFFER;                                          
            --------------------------                                                                                                      
            !    янупюмеммши R4      !  -2(R5)                          нохяюмхе:                                                           
            --------------------------                                                                                                      
      R5==> !    янупюмеммши R5      !                                       тсмйжхъ  CTIME()  опенапюгсер  хмтнплюжхч  н  бпелемх,         
            --------------------------                                  мюундъысчяъ  б  астепе  б  тнпле,   бнгбпюыюелни   тсмйжхеи         
            !    юдпея бнгбпюрю      !  +2(R5)                          RTIME(), б яхлбнкэмсч ярпнйс тнплюрю:                               
            --------------------------                                                                                                      
            !    1-ши юпцслемр       !  +4(R5) C$PMTR+0(R5)                    SUN SEP 16 01:03:52 1973/0/0                                 
            --------------------------                                                                                                      
            !    2-ни юпцслемр       !  +6(R5) C$PMTR+2(R5)             бяе онкъ хлечр онярнъммсч ьхпхмс. гюлерэре,  врн  б  ярпнйс         
            --------------------------                                  бохяшбюеряъ дбю гюбепьючыху мскъ  дкъ  онддепфйх  опнцпюлл,         
                                                                        оепемняхлшу хг UNIX (цде гю  онкел  сйюгюмхъ  цндю  якедсер         
   бмсрпх опнжедспш R0-R4 х бепьхмю ярейю днярсомш дкъ хяонкэ-          <мнбюъ_ярпнйю>).                                                    
   гнбюмхъ. пецхярпш R0 х R1 ме  янупюмъчряъ  ондопнцпюллни  х                                                                              
   лнцср ашрэ хяонкэгнбюмш дкъ оепедювх  бнгбпюыюелнцн  гмюве-               бшгнб CTIME(0) бнгбпюыюер рейсыее бпелъ  дмъ,  бшгшбюъ         
   мхъ.                                                                 тсмйжхч RTIME() бмсрпх яеаъ опх пюанре.                             
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 55 -                                                               - 56 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
        тнплюр бнгбпюыюелни хмтнплюжхх хдемрхвем тнплюрс тсмй-                 ENVRESET(FP,HVAL,LVAL)                                       
   жхх хг UNIX я рел фе хлемел, гю хяйкчвемхел рнцн, врн тсмй-                 INT     *FRAME; /* сйюгюрекэ ярпюмхжш     */                 
   жхъ хг UNIX бйкчвюер б ярпнйс гюбепьючыхи опхгмюй  оепеундю                 INT     HVAL;   /* ярюпьюъ вюярэ бнгбпюрю */                 
   мю мнбсч ярпнйс, йнрнпши носяйюеряъ б дюммнл яксвюе.                        INT     LVAL;   /* лкюдьюъ вюярэ бнгбпюрю */                 
                                                                                                                                            
        тсмйжхъ DAYOFWEEK() бнгбпюыюер  демэ  медекх  (бняйпе-          нохяюмхе:                                                           
   яемэе = 0) он хмтнплюжхх н дюре б юпцслемре-астепе.                                                                                      
                                                                             щрх тсмйжхх онгбнкъчр бшонкмърэ лмнцнспнбмебши бнгбпюр         
   ньхайх:                                                              хг тсмйжхх мю "C" б ндмс хг ее дхмюлхвеяйху  опедьеярбеммхж         
                                                                        он ярейс.                                                           
          - оепедюбюелюъ хмтнплюжхъ ме йнмрпнкхпсеряъ мю бшунд                                                                              
            гю дносярхлше цпюмхжш.                                           тсмйжхъ ENVSAVE() бнгбпюыюер юдпея  ярпюмхжш  тсмйжхх,         
                                                                        ее бшгбюбьеи. онгфе бшгнб тсмйжхх ENVRESET() я щрхл  сйюгю-         
                                                                        рекел б йювеярбе юпцслемрю  асдер  янгдюбюрэ  хккчгхч,  врн         
                                                                        онякедмъъ тсмйжхъ,  бшгбюммюъ  опнжедспни,  напюыюбьеияъ  й         
            5.39. декемхе х нярюрнй дкъ дкхммнцн жекнцн                 тсмйжхх ENVSAVE(), гюбепьхкю  пюанрс  ян  гмювемхел  пюбмшл         
                                                                        оюпюлерпс (оюпюлерпюл) тсмйжхх ENVRESET().                          
                                                                                                                                            
                                                  ***********                тсмйжхъ  ENVRESET()  хлхрхпсер  бнгбпюр  сопюбкемхъ  б         
                                                  *  DIV$LI *           тсмйжхч, сйюгюрекэ ярпюмхжш нйпсфемхъ йнрнпни яннрберярбсер         
                                                  ***********           менаундхлни   (пегскэрюрс   опедшдсыецн   бшгнбю    тсмйжхх         
                                                                        ENVSAVE()). ENVRESET() лнфер  ашрэ  ядекюм  бшцкъдъыхл  йюй         
   хлъ дхярпхасрхбмнцн тюикю: DIVL.MAC                                  бнгбпюр я ндмн- хкх дбсуякнбмшл гмювемхел. еякх рнкэйн ндмн         
                                                                        жекне вхякн оепедюеряъ днонкмхрекэмн й ENVRESET(), щрн бшц-         
   хяонкэгнбюмхе:                                                       къдхр йюй бнгбпюр я ндмнякнбмшл гмювемхел. еякх сйюгшбюеряъ         
                                                                        дбю жекшу (хкх, щйбхбюкемрмн, ндмн дкхммне жекне), щрн бшц-         
          DIV$LI (LONG,INTEGER)                                         къдхр йюй бнгбпюр гмювемхъ бхдю LONG.  р.е.  кчаше  1-  хкх         
          DIV$L  (LONG,LONG)                                            2-якнбмше гмювемхъ лнцср ашрэ бнгбпюыемш, оняйнкэйс  б  "C"         
          MOD$LI (LONG,INTEGER)                                         йнмрпнкэ рхонб якюа.                                                
          MOD$L  (LONG,LONG)                                                                                                                
                                                                             й йюрнярпнтхвеяйхл пегскэрюрюл опхбндхр оношрйю  бнгб-         
   нохяюмхе:                                                            пюрю б тсмйжхч, йнрнпюъ й щрнлс лнлемрс сфе гюбепьхкюяэ.            
                                                                                                                                            
        декемхе я пегскэрюрнл рхою LONG. бшгшбюряъ  йнлохкърн-               якедсчыхи опхлеп  хккчярпхпсер  хяонкэгнбюмхе  тсмйжхи         
   пнл, йнцдю бйкчвюеряъ  яннрберярбсчыюъ  йнднбюъ  онякеднбю-          ENVSAVE() х ENVRESET().                                             
   рекэмнярэ.                                                                                                                               
                                                                               INT     *SAVE_FRAME                                          
   ньхайх:                                                                     PROCESS() [                                                  
                                                                               ...                                                          
          - опедсопефдемхе -- опедярюбкемю  бмсрпеммъъ  бепяхъ                 SAVE_FRAME = ENVSAVE();                                      
            CRET$. хглемъъ ндмс, якедсер хглемхрэ х дпсцсч.                    IF (SUBPROCESS()) [                                          
                                                                                  /*                                                        
                                                                                   * сяоеьмн                                                
                                                                                   */                                                       
                                                                               ]                                                            
            5.40. лмнцнспнбмебши бнгбпюр хг тсмйжхх                            ELSE [                                                       
                                                                                  /*                                                        
                                                                                   * месдювмн                                               
                                                  -----------                      */                                                       
                                                  ! ENVSAVE !                    ]                                                          
                                                  -----------                  ]                                                            
                                                                               SUBPROCESS() [                                               
   хлъ дхярпхасрхбмнцн тюикю: ENVSET.MAC                                          /*                                                        
                                                                                   * опейпюыемхе пюанрш опх ньхайе                          
   хяонкэгнбюмхе:                                                                  */                                                       
                                                                               IF (...)                                                     
          INT     *                                                                ENVRESET (SAVE_FRAME,0);                                 
          ENVSAVE();                                                               /*                                                       
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 57 -                                                               - 58 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
               * сдювмне гюбепьемхе пюанрш                                     EXIT ();         /* бшунд аег бнгбпюрю          */           
               */                                                                                                                           
          RETURN (1);                                                          EXITS(STATUS);   /* бшунд я сйюгюмхел янярнъмхъ */           
          ]                                                                                                                                 
                                                                               $$FAIL();        /* меледкеммши бшунд           */           
   йнцдю тсмйжхъ SUBPROCESS() намюпсфхбюер ньхайс,  нмю  бшгш-                                                                              
   бюер тсмйжхч ENVRESET() дкъ бнгбпюрю  б  лндскэ,  бшгбюбьхи                 EXTERN INT  $$EXST; /* гмювемхе янярнъмхъ бшундю*/           
   PROCESS(), оепедюбюъ ткюц "месдювю".                                                                                                     
                                                                        бмсрпеммее:                                                         
   ньхайх:                                                                                                                                  
                                                                               JMP     $$EXIT  ;бшгнб опнжедспш бшундю                      
          - еякх опнжедспю, напюрхбьюъяъ й  тсмйжхх  ENVSAVE()                                                                              
            сфе бепмскю сопюбкемхе, пегскэрюрнл асдер пюгпсье-          нохяюмхе:                                                           
            мхе опнцпюллш.                                                           опх бшунде бшонкмъеряъ якедсчыее:                      
                                                                               - бшгшбюеряъ онкэгнбюрекэяйюъ тсмйжхъ WRAPUP();              
                                                                               - пюяоевюршбюеряъ (еякх гюопньем) опнтхкэ;                   
                                                                               - гюйпшбючряъ бяе тюикш;                                     
            5.41. бшунд он ньхайе хг опнцпюлл мю "C"                           - опнцпюллю оепедюер сопюбкемхе ноепюжхнммни  яхяре-         
                                                                                 ле.                                                        
                                                                                                                                            
                                                  -----------                бшгбюб тсмйжхч EXITS()  я  яннрберярбсчыхл  гмювемхел,         
                                                  !  ERROR  !           опнцпюллю лнфер оепедюрэ лнмхрнпс ноепюжхнммни яхярелш  йнд         
                                                  -----------           янярнъмхъ. RT-11 х RSX-11M нопедекъчр йнд ярюрсяю  гюбепье-         
                                                                        мхъ пюгкхвмшл напюгнл; гмювемхе оепедюбюелне б  EXITS()  ме         
   хлъ дхярпхасрхбмнцн тюикю: ERROR.MAC                                 опнбепъеряъ мю яннрберярбхе.                                        
                                                                                                                                            
   хяонкэгнбюмхе:                                                             RT-11   RSX-11M    гмювемхе                                   
                                                                                1.       1.      сяоеьмн - яннаыемхъ ме бшбндъряъ           
          ERROR (FORMAр,ARGLIST)  /* бшунд он тюрюкэмни                         2.       0.      опедсопефдемхе                             
                                     ньхайе             */                      4.       2.      ньхайю                                     
                                                                                8.       4.      цпсаюъ ньхайю                              
   нохяюмхе:                                                                                                                                
                                                                        бшгнб EXIT() щйбхбюкемрем  бшгнбс  EXITS(1).  гюлерхл,  врн         
        б тюик STDERR гюохяшбюеряъ яннаыемхе на ньхайе х опнц-          опнцпюллю лнфер сярюмнбхрэ менаундхлне гмювемхе б $$EXST  х         
   пюллю гюбепьюеряъ. еякх ашкн  пюгпеьемн  опнтхкхпнбюмхе,  б          гюбепьхрэяъ он EXIT():                                              
   STDERR гюохяшбюеряъ рюйфе рпюяяю бшгнбнб.                                                                                                
                                                                               EXTERN  INT   $$EXST;                                        
        ярюрся гюбепьемхъ ($$EXST) асдер  сярюмнбкем  б  ERROR                 ...                                                          
   (ньхайю).                                                                   $$EXST = 4;                                                  
                                                                               EXIT;                                                        
   дхюцмнярхйю: мер                                                                                                                         
                                                                        еякх опнцпюллю бшгшбюер хкх оепедюер сопюбкемхе мю  тсмйжхч         
   ньхайх: мер                                                          $$FAIL, нмю меледкеммн бшундхр б ноепюжхнммсч  яхярелс  аег         
                                                                        гюйпшрхъ тюикнб, бшгнбю WRAPUP() хкх гюохях тюикю опнтхкъ.          
                                                                                                                                            
                                                                        дхюцмнярхйю: мер                                                    
            5.42. бшунд хг опнцпюллш мю "C"                                                                                                 
                                                                        ньхайх: мер                                                         
                                                                                                                                            
                                                  -----------                                                                               
                                                  !  EXIT   !                                                                               
                                                  -----------                                                                               
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: EXIT.MAC                                                                                                      
                                                                                                                                            
   хяонкэгнбюмхе:                                                                                                                           
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 59 -                                                               - 60 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
            5.43. опнбепйю йнмжю тюикю                                         FFLUSH(IOP);                                                 
                                                                               FILE    *IOP;                                                
                                                                                                                                            
                                                  -----------           бмсрпеммее:                                                         
                                                  !  FEOF   !                                                                               
                                                  -----------                  MOV     #IOV,R4         ;R4->бейрнп ббндю/бшбндю             
                                                                               CALL    $$FLSH          ;бмсрпеммъъ опнжедспю                
   хлъ дхярпхасрхбмнцн тюикю: FEOF.MAC                                                                                                      
                                                                        опх бнгбпюре бяе пецхярпш янупюмемш.                                
   хяонкэгнбюмхе:                                                                                                                           
                                                                               MOV     #BUFADR,R0      ;R0->мювюкн астепю                   
          FEOF (IOP);                                                          MOV     NBYTES,R1       ;R1:=вхякн аюир                      
          FILE    *IOP;                                                        MOV     #IOV,R4         ;R4->бейрнп ббндю/бшбндю             
                                                                               CALL    $$PUT           ;бмсрпеммъъ опнжедспю                
   нохяюмхе:                                                                                           ;бшбндю астепю                       
                                                                                                                                            
        бнгбпюыюеряъ 1, еякх мю тюике сйюгюммнл IOP  днярхцмср          опх бнгбпюре бяе пецхярпш янупюмемш.                                
   йнмеж тюикю, хмюве-0.                                                                                                                    
                                                                        нохяюмхе:                                                           
   ньхайх: мер                                                                                                                              
                                                                             бшбндхр  яндпфхлне  бшундмнцн  астепю.  щрю  опнжедспю         
                                                                        бшонкмъер тюйрхвеяйхи ббнд/бшбнд. еякх опнхяундхр  врн-кхан         
                                                                        менфхдюммне, сярюмюбкхбюеряъ $$FERR.                                
            5.44. опнбепйю ньхайх тюикю                                                                                                     
                                                                        бмсрпеммее:                                                         
                                                                                                                                            
                                                  -----------                $$FLSH  бшгшбюеряъ  дпсцхлх  опнжедспюлх  ббндю/бшбндю         
                                                  !  FERR   !           тюикю дкъ нябнанфдемхъ астепю.                                      
                                                  -----------                                                                               
                                                                             $$PUT бшгшбюеряъ опнжедспюлх б пефхле RSX  дкъ  бшбндю         
   хлъ дхярпхасрхбмнцн тюикю: FERR.MAC                                  гюохях. $$PUT пюанрюер рнкэйн б ахакхнрейе RSX. хяонкэгнбю-         
                                                                        мхе щрни опнжедспш б пефхле RT-11  опхбндхр  й  опейпюыемхч         
   хяонкэгнбюмхе:                                                       бшонкмемхъ гюдюмхъ я хмярпсйжхеи опепшбюмхъ BPT.                    
                                                                                                                                            
          FERR (IOP);                                                   ньхайх: мер                                                         
          FILE    *IOP;                                                                                                                     
                                                                                                                                            
   нохяюмхе:                                                                                                                                
                                                                                 5.46. ббнд дбнхвмни гюохях                                 
        бнгбпюыюер 1, еякх мю сйюгюммнл тюике намюпсфемю ньха-                                                                              
   йю.                                                                                                                                      
                                                                                                                       -----------          
   ньхайх: мер                                                                                                         !  FGET   !          
                                                                                                                       -----------          
                                                                                                                                            
                                                                        хлъ дхярпхасрхбмнцн тюикю: FGET.MAC                                 
            5.45. бшбнд бшундмнцн астепю                                                                                                    
                                                                        хяонкэгнбюмхе:                                                      
                                                                                                                                            
                                                  -----------                  FGET (BUFFER,MAXBYTES,IOP);                                  
                                                  ! FFLUSH  !                  CHAR    *BUFFER;                                             
                                                  -----------                  INT     MAXBYTES;                                            
                                                                               FILE    *IOP;                                                
   хлъ дхярпхасрхбмнцн тюикю: FFLUSH.MAC                                                                                                    
                                                                        нохяюмхе:                                                           
   хяонкэгнбюмхе:                                                                                                                           
                                                                             явхршбюер гюохяэ хг сйюгюммнцн тюикю. MAXBYTES ъбкъер-         
                                                                        яъ люйяхлюкэмшл на'елнл гюохях.                                     
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 61 -                                                               - 62 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
        б RT-11 тюик днкфем ашрэ гюохяюм опх онлных FPUT().                    - гюлерхл, врн тсмйжхъ FGETS() янупюмъер гмюй  мнбни         
                                                                                 ярпнйх, ю тсмйжхх FGETSS() х GETS()  сдюкъчр  ецн.         
        б RSX тюик днкфем ашрэ нрйпшр я  хяонкэгнбюмхел  ткюцю                   дкъ сдюкемхъ гмюйю мнбни ярпнйх  оняке  бшонкмемхъ         
   "U" (онкэгнбюрекэяйхи астеп).                                                 тсмйжхх FGETS(), бшонкмхре якедсчьее:                      
                                                                                                                                            
        бнгбпюыюеряъ вхякн тюйрхвеяйх  опнвхрюммшу  аюир.  дкъ                 BUFFER[STRLEN(BUFFER)-1] = 0;                                
   намюпсфемхъ йнмжю тюикю хяонкэгсире тсмйжхч FOEF().                                                                                      
                                                                                                                                            
   бмсрпеммее:                                                                                                                              
                                                                                 5.48. онксвемхе кнцхвеяйнцн мнлепю сярпнирябю              
        б RT-11, йнцдю гюохяэ бшбндхряъ опх онлных FPUT(),  еи                                                                              
   опедьеярбсер дбсуаюирмши явервхй аюирнб.  щрн  гмювемхе  мю                                                                              
   едхмхжс анкэье, вел вхякн аюир б гхохях. (еякх  явхршбюеряъ                                                         -----------          
   явервхй, пюбмши мскч, щрн нгмювюер днярхфемхе йнмжю тюикю).                                                         !  FLUN   !          
                                                                                                                       -----------          
   ньхайх: мер                                                                                                                              
                                                                        хлъ дхярпхасрхбмнцн тюикю: FLUN.MAC                                 
                                                                                                                                            
                                                                        хяонкэгнбюмхе:                                                      
                                                                                                                                            
            5.47. времхе ярпнйх хг тюикю                                       FLUN(IOP);                                                   
                                                                               FILE    *IOP;                                                
                                                                                                                                            
                                                  -----------           нохяюмхе:                                                           
                                                  !  FGETS  !                                                                               
                                                  -----------                бнгбпюыюеряъ кнцхвеяйхи мнлеп сярпниярбю юяянжххпнбюм-         
                                                                        мнцн я тюикнл (б RT-11 бнгбпюыюеряъ мнлеп йюмюкю).                  
   хлъ дхярпхасрхбмнцн тюикю: FGETS.MAC                                                                                                     
                                                                        ньхайх: мер                                                         
   хяонкэгнбюмхе:                                                                                                                           
                                                                                                                                            
          CHAR    *                                                                                                                         
          FGETS (BUFFER,MAXBYTES,IOP);                                           5.49. люпйхпнбйю тюикю мю сдюкемхе                         
          CHAR    *BUFFER;                                                                                                                  
          INT     MAXBYTES;                                                                                                                 
          FILE    *IOP;                                                                                                -----------          
                                                                                                                       !  FMKDL  !          
          CHAR    *                                                                                                    -----------          
          FGETSS (BUFFER,MAXBYTES,IOP);                                                                                                     
          CHAR    *BUFFER;                                              хлъ дхярпхасрхбмнцн тюикю: FMKDL.MAC                                
          INT     MAXBYTES;                                                                                                                 
          FILE    *IOP;                                                 хяонкэгнбюмхе:                                                      
                                                                                                                                            
   нохяюмхе:                                                                   FMKDL(IOP);                                                  
                                                                               FILE    *IOP;                                                
        тсмйжхъ FGETS() вхрюер ярпнйс б  астеп  хг  сйюгюммнцн                                                                              
   тюикю. MAXBYTES сйюгшбюер люйяхлюкэмсч вхякн аюир мю явхрш-          нохяюмхе:                                                           
   бюмхе. опнвхрюммюъ ярпнйю гюбепьюеряъ гмюйнл мнбни  ярпнйх,                                                                              
   гю йнрнпшл якедсер аюир 0. б  мнплюкэмшу  сякнбхъу  тсмйжхъ               тсмйжхъ FMKDL() гюйпшбюер х сдюкъер  яоежхтхжхпнбюммши         
   FGETS() бнгбпюыюер сйюгюрекэ мю астеп. б яксвюе намюпсфемхъ          тюик. бнгбпюыюеряъ гмювемхе 0 опх сдювмнл гюбепьемхх ноепю-         
   йнмжю тюикю хкх ньхайх бнгбпюыюеряъ NULL.                            жхх х -1 опх ньхайе.                                                
                                                                                                                                            
        тсмйжхъ  FGETSS()  хдемрхвмю  FGETS()  гю  хяйкчвемхел               б RT-11 гюдювю ямхлюеряъ я бшонкмемхъ я яннаыемхел  на         
   рнцн, врн гюбепьючыхи гмюй мнбни ярпнйх сдюкем.  (щрн  янб-          ньхайе, еякх тюик гюдюм мебепмн. ткюц $$FERR сярюмюбкхбюер-         
   леярхлн я тсмйжхеи GETS(), мн меянблеярхлн  ян  ярюмдюпрмни          яъ б "тюик ме мюидем", еякх опнцпюллю ошрюеряъ яреперэ врн-         
   ахакхнрейни UNIX).                                                   кхан (бпнде сярпниярбю оевюрх), врн яреперэ мекэгъ. гюлерэ-         
                                                                        ре, врн RT-11 ме нябнанфдюер яндепфхлне астепю оепед сдюке-         
   ньхайх:                                                              мхел тюикю.                                                         
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 63 -                                                               - 64 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
            5.50. нрйпшрхе тюикю                                                       ;тюикю. бнгбпюр б бшгшбючысч опнжедспс               
                                                                                       ;вепег CRET$ хкх $$FOPE б яксвюе ньхайх              
                                                                        MOV    IOV,R4  ;R4->IOV                                             
                                                  -----------           MOV    LUN,R3  ;R3:=LUN                                             
                                                  !  FOPEN  !           MOV    DBLK,R1 ;R1->нохяюмхе тюикю б йнде RADIX-50                  
                                                  -----------           JMP    $$FOPR  ;нрйпшрхе тюикю я хяонкэгнбюмхел нохяюмхъ            
                                                                                       ;б йнде RADIX-50 рнкэйн б RT-11 -- хяонкэгс-         
   хлъ дхярпхасрхбмнцн тюикю: FOPEN.MAC                                                ;еряъ дкъ нрйпшрхъ сярпниярбю дкъ напюанрйх          
                                                                                       ;йюрюкнцю. опх ньхайе бшунд нясыеярбкъеряъ           
   хяонкэгнбюмхе:                                                                      ;вепег CRET$ хкх $$FOPE.                             
                                                                        MOV    IOV,R4  ;R4->IOV                                             
          FILE    *                                                     CALL   $$FOPN  ;нрйпшрхе тюикю х бнгбпюр б бшгшбючысч               
          FOPEN (NAME,MODE);                                                           ;опнжедспс вепег $$FOPX хкх $$FOPE б                 
          CHAR    *NAME;  /* нрйпшбюелши тюик */                                       ;яксвюе ньхайх. б RSX сярюмюбкхбюеряъ                
          CHAR    *MODE;  /* пефхлш нрйпшрхъ */                                        ;пефхл днаюбкемхъ, еякх тюик ме ашк мюидем           
                                                                        MOV    IOV,R4  ;R4->IOV                                             
          FILE    *                                                     CALL   $$FOPO  ;мнплюкэмне нрйпшрхе, еякх опнхгньек                 
          FREOPEN (NAME,MODE,IOP);                                                     ;бшунд вепег $$FOPX. б RSX, опх                      
          CHAR    *NAME;  /* нрйпшбюелши тюик */                                       ;днаюбкъчыел нрйпшрхх опх бнгбпюре $$FOPO            
          CHAR    *MODE;  /* пефхлш нрйпшрхъ */                                        ;х яннаыемхх "тюик ме мюидем" -- щрн                 
          FILE    *IOP;   /* сйюгюрекэ ббндю/бшбндю */                                 ;унпньн дкъ яксвюъ FOPEN() х окнуюъ мнбнярэ          
                                                                                       ;дкъ FNEXT(). опх бнгбпюре (б RSX) R0->FCB           
   бмсрпеммее:                                                                         ;б яксвюе дпсцху ньханй бнгбпюр опнхяундхр           
                                                                                       ;вепег $$FOPE                                        
   MOV    IOV,R4  ;R4->IOV, еякх ANY, хмюве R4:=0                       MOV    IOV,R4  ;R4->IOV, тюик нрйпшр                                
   CALL   $$FLUN  ;онксвхрэ леярн дкъ LUN,                              JMP    $$FOPX  ;мнплюкэмши бшунд хг FOPEN                           
                  ;хмхжхюкхгхпнбюрэ FDB.                                               ;б RSX, $$FOPX пюглеыюер астеп гюохях                
                  ;он бнгбпюрс: R4->IOV, R3:=LUN,                       MOV    IOV,R4  ;R4->IOV (хкх R4==0)                                 
                  ;R0 х R1 яксвюимше                                    MOV    CODE,R0 ;R0:=йнд ньхайх (ялнрпх $$FERR)                      
                  ;ньхайю: бнгбпюр б бшгшбюелсч                         JMP    $$FOPE  ;бшунд он ньхайе хг FOPEN                            
                  ;опнжедспс вепег $$FOPE                                              ;опнжедспю $$FOPE нрлемъер бшдекемхе                 
                  ;гюлевюмхе: днярсомше б RSX LUN                                      ;астепю оюлърх дкъ ноепюжхи налемю,                  
                  ;мювхмючряъ я 2, ю б RT-11                                           ;бшдекеммнцн мю опедшдсыху ярюдхъу                   
                  ;- нр 0.                                                             ;ноепюжхх нрйпшрхъ.                                  
   MOV    IOV,R4  ;R4->IOV                                                                                                                  
   CALL   $$FOPT  ;C$PMTR+2(R5)=> ярпнйю йкчвеи                         нохяюмхе:                                                           
                  ;он бнгбпюрс: ткюцх йкчвеи б FDB                                                                                          
                  ;R0 - яксвюимн                                             тсмйжхъ FOPEN() нрйпшбюер мнбши хкх ясыеярбсчыхи  тюик         
                  ;ньхайю: бнгбпюр б бшгшбючысч                         б сйюгюммнл пефхле:                                                 
                  ;опнцпюллс вепег $$FOPE                                                                                                   
   MOV    IOV,R4  ;R4->IOV                                              R                                                                   
   CALL   $$FCSI  ;C$PMTR+0(R5)=> хлъ тюикю                                    - онякеднбюрекэмне времхе ясыеярбсчыецн тюикю;               
                  ;юмюкхгхпсеряъ хлъ тюикю х                                                                                                
                  ;сярюмюбкхбюеряъ FDB                                  W                                                                   
                  ;R0-R3 яксвюимш                                              - янгдюмхе х гюохяэ мнбнцн  тюикю  онякеднбюрекэмнцн         
                  ;ньхайю: бнгбпюр б бшгшбючысч                                  днярсою;                                                   
                  ;опнжедспс вепег $$FOPE                                                                                                   
   MOV    SIZE,R0 ;менаундхлюъ оюлърэ                                   A                                                                   
   CALL   $$FALO  ;бшдекемхе ее                                                - днаюбкемхе й тюикс;                                        
                  ;он бнгбпюрс: R0-> бшдекеммне                                                                                             
                  ;опх меубюрйе оюлърх: бнгбпюр б                       N                                                                   
                  ;бшгшбючысч опнцпюллс вепег $$FOPE                           - ме днаюбкърэ гмюйнб мнбни ярпнйх й гюохяъл;                
   MOV    IOV,R4  ;R4->IOV                                                                                                                  
   MOV    LUN,R3  ;R3:=LUN                                              U                                                                   
   JMP    $$FOPA  ;нрйпшре тюикю RT-11 (яоежхтхйюжхъ тюикю                     - пефхл RSX: онкэгнбюрекэ бедер бяч астепхгюжхч;             
                  ;б ASCII). C$PMTR+0(R5)=> яоежхтхйюжхъ                       - пефхл RT-11: хяонкэгнбюмхе .TTYIN х .TTYOUT.               
                  ;тюикю б йнде ASCII. юмюкхг тюикнбнцн                                                                                     
                  ;хлемх я хяонкэгнбюмхел CSI. нрйпшрхе                      днкфмн ашрэ сйюгюмн врн-кхан хг "R", "W", "A".  сйюгю-         
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 65 -                                                               - 66 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
   мхе "N" х "U" ъбкъеряъ менаъгюрекэмшл. ткюц "N" днкфем ашрэ          тсмйжхч FREOPEN() дкъ онбрнпмни хмхжхюкхгюжхх  тюикю  оепед         
   сйюгюм дкъ дбнхвмшу тюикнб. ткюц "U" рпюйрсеряъ йювеярбеммн          хяонкэгнбюмхел тсмйжхх FSEEK().                                     
   онпюгмнлс б пефхлюу RSX хкх RT-11.                                                                                                       
                                                                             хяйкчвюъ едхмярбеммши яоежхтхвеяйхи яксвюи йнмянкэмнцн         
        б RSX ткюц "U" нгмювюер, врн опнцпюллю бшонкмъер  беяэ          реплхмюкю RT-11, нрйпшрнцн б пефхле "U", нрйпшрши  тюик  ме         
   ббнд/бшбнд, напюыюъяэ б FGET() х/хкх  FPUT().  напюыемхе  й          днкфем хяонкэгнбюрэяъ дкъ времхъ х гюохях б ндмн  х  рн  фе         
   йюйни-кхан дпсцни тсмйжхх (мюопхлеп,  й  FPRINTF)  ъбкъеряъ          бпелъ.                                                              
   ньхайни.                                                                                                                                 
                                                                             тсмйжхъ FREOPEN() гюлемъер  нрйпшрши  тюик,  сйюгюммши         
        б RSX тюикш пефхлнб "N" хкх "U" днкфмш  янгдюбюрэяъ  я          IOP, тюикнл, сйюгюммшл хлемел. тюик, нрйпшрши б щрнр лнлемр         
   юрпхасрнл "оепелеммюъ_дкхмю_гюохях". б  щлскърнпе  RSX/RSTS          мю IOP гюйпшбюеряъ. тсмйжхъ FREOPEN() бнгбпюыюер  сйюгюрекэ         
   рейярнбше тюикш (аег сйюгюмхъ "N" хкх "U") асдср янгдюмш  я          IOP. еякх нрйпшрхе ме сдюеряъ, дкъ накюярх, сйюгюммни  IOP,         
   юрпхасрнл "онрнй".                                                   нрлемъеряъ бшдекемхе. гюлерхл, врн тсмйжхъ  FOPEN()  репъер         
                                                                        кчане нфхдюелне янярнъмхе FWILD/FNEXT.                              
        б RSX, еякх ахрш рхою гюохях б аюире юрпхасрнб  гюохях                                                                              
   (F.RATT б FDB) пюбмш мскч, тюик асдер вхрюрэяъ, йюй еякх аш          бмсрпеммее:                                                         
   ашкн гюдюмн "N". гюлерхл, врн, еякх тюик яндепфхр  онякедн-                                                                              
   бюрекэмнярх  бнгбпюр_йюперйх/оепебнд_ярпнйх,   бяъ   гюохяэ               якедсчыхе опнжедспш х цкнаюкэмше оепелеммше опеднярюб-         
   асдер оепеяшкюрэяъ б онкэгнбюрекэяйсч опнцпюллс. еякх юрпх-          къчряъ дкъ хяонкэгнбюмхъ б FOPEN/FWILD. еякх кчаюъ хг  щрху         
   асрш гюохях мепюяонгмюбюелш, хг онякеднбюрекэмнярх           опнжедсп намюпсфхр  ньхайс,  нмю  бнгбпюыюер  сопюбкемхе  б         
   гмюй бнгбпюр_йюперйх асдер сдюкърэяъ.                                лндскэ, бшгбюбьхи FOPEN(),  я  сярюмнбкеммшл  б  оепелеммни         
                                                                        $$FERR йнднл яннрберярбсчыеи ньхайх.                                
        б RT-11, еякх тсмйжхъ FOPEN  пеьюер,  врн  нрйпшбюелши                                                                              
   тюик ъбкъеряъ йнлюмдмшл реплхмюкнл онкэгнбюрекъ,  рн  асдер                 $$FCSI  юмюкхг хлемх тюикю х сярюмнбйю FDB                   
   опнхгбндхрэяъ  онгмювмши  ббнд/бшбнд  (опх  онлных  бшгнбнб                 $$FOPT  яйюмхпнбюмхе йкчвебнцн якнбю                         
   .TTYIN х .TTYOUT). гюлерхл, врн, еякх  рпеасеряъ  мюярнъыхи                 $$FLUN  онксвемхе ябнандмнцн LUN                             
   онгмювмши ббнд хкх бшбнд я меледкеммшл бнгбпюрнл,  опнцпюл-                 $$FALO  онксвемхе оюлърх дкъ FOPEN                           
   лни днкфмш ашрэ сярюмнбкемш б JSW ахрш "яоежхюкэмши_пефхл".                 $$FOPA  нрйпшрхе б RT-11 я хлемел тюикю б ASCII              
   бшбнд мю  реплхмюк  асдер  опнхгбндхрэяъ  аег  астепхгюжхх,                 $$FOPE  бшунд он ньхайе хг FOPEN                             
   йнрнпюъ хяонкэгсеряъ дкъ намнбкемхъ щйпюмю, мн  я  анкэьхлх                 $$FOPN  мнплюкэмне нрйпшрхе, днаюбкемхе                      
   хгдепфйюлх.                                                                 $$FOPR  нрйпшрхе б RT-11 я хлемел тюикю б RADIX-50           
                                                                               $$FOPX  мнплюкэмши бшунд хг FOPEN                            
        тсмйжхъ FOPEN() опх ньхайе бнгбпюыюер NULL -- оепелем-                 $$CSIB  пюанвхи акнй дкъ CSI                                 
   мюъ $$FERR яндепфхр йнд ньхайх. б RT-11 щрн асдер йнд, янб-                 $$DFNB  акнй хлемх тюикю он слнквюмхч                        
   леярхлши я RSTS/E (нохяюммши б IOV), ю б RSX щрн асдер  йнд                                                                              
   ньхайх FCS.                                                               опедсопефдемхе:  тсмйжхъ  FOPEN()  б  пефхле  RSX/RSTS         
                                                                        хяонкэгсер меносакхйнбюммсч хмтнплюжхч  дкъ  онксвемхъ  PPN         
        б RT-11 хлъ тюикю, сйюгшбюелне онкел "IO_NAME" б  IOV,          (UIC) нрйпшрнцн тюикю. щрнр йнд (б $$FCSI)  лнфер  онрпеан-         
   ъбкъеряъ ярпнйни хлемх тюикю, йюй нмю оепедюеряъ б FOPEN(),          бюрэ лндхтхйюжхх дкъ пюгкхвмшу бепяхи RSTS/E.                       
   хкх ярпнйни гмюйнб ASCII, пейнмярпсхпнбюммни хг 4-у якнбмн-                                                                              
   цн акнйю сярпниярбю б йнде RADIX-50, еякх тюик  ашк  нрйпшр          ньхайх:                                                             
   йюй вюярэ онякеднбюрекэмнярх FWILD/FNEXT. опх онлных янупю-                                                                              
   мемхъ ярпнйх RSTS/E хлеер бнглнфмнярэ  онбрнпмн  юмюкхгхпн-                 - тюикнбюъ яхярелю RT-11 ме онддепфхбюер тюикш  пюг-         
   бюрэ кнцхвеяйне хлъ сярпниярбю х PPN, йнрнпше ме  опедярюб-                   лепнл анкее, вел 65535 акнйнб;                             
   кемш б янаярбеммн RT-11.                                                                                                                 
                                                                               - RT-11 ме дюер тюйрхвеяйнцн  хлемх  дкъ  йкюбхюрспш         
        гюлерхл,  врн  яннаыемхъ  "мер  днярсомнцн   астепмнцн                   йнмянкэмнцн реплхмюкю, унръ щрн ме рпсдмн  ядекюрэ         
   опнярпюмярбю" (IE.NBF хкх E$$NSP)  х  "мебепмши  кнцхвеяйхи                   б щлскърнпе RT-11/RSTS/E;                                  
   мнлеп"  (IE.ILU  хкх  E$$NOC)  лнцср  онпнфдюрэяъ  тсмйжхеи                                                                              
   FOPEN(). б RT-11, еякх тюик ме лнфер ашрэ нрйпшр  оняйнкэйс                 - тсмйжхъ FREOPEN() ме лнфер хяонкэгнбюрэяъ дкъ мюг-         
   онкэгнбюрекэяйюъ опнцпюллю сфе нрйпшкю йюмюк, асдер бнгбпю-                   мювемхъ тюикю STDERR, р.й. б  оюйере  ббндю/бшбндю         
   ыемю ньхайю E$$ILU.                                                           опедсялнрпем яоежхюкэмши йнд дкъ пюанрш я  STDERR.         
                                                                                 мюопхлеп, нм  ме  лнфер  ашрэ  гюйпшр  опнцпюллни,         
        ндхм х рнр фе тюик ме лнфер хяонкэгнбюрэяъ дкъ  времхъ                   мюохяюммни онкэгнбюрекел;                                  
   х гюохях ндмнбпелеммн,  хяйкчвюъ  яксвюи,  йнцдю  опнцпюллю                                                                              
   гюохяшбюер тюик мю дхяйе, врн онгбнкъер онбрнпмне  онгхжхн-                 - б RSX пефхлюу, люйяхлюкэмне вхякн тюикнб,  йнрнпше         
   мхпнбюмхе х времхе опх онлных  тсмйжхи  FTELL()/FSEEK().  б                   лнцср ашрэ ндмнбпелеммн нрйпшрш,  нопедекъеряъ  бн         
   щрнл яксвюе, опнцпюллю днкфмю бшгбюрэ тсмйжхч REWIND()  хкх                   бпелъ  юяяелакхпнбюмхъ  опх  онлных   люйпнйнлюмдш         
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 67 -                                                               - 68 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
            (FSRSZ$), йнрнпюъ пюяйпшбюеряъ опх  юяялакхпнбюмхх                   5.52. пюяонгмюбюмхе  тюикю,  нпхемрхпнбюммнцн              
            тюикю FOPEN.MAC. гмювемхел он слнквюмхч дкъ  оепе-                         мю гюохях                                            
            лерпю FSRSZ$ ъбкъеряъ 8. щрн рпеасер накюярх асте-                                                                              
            пю акнйнб тюикнб  нйнкн  4й  аюир.  дкъ  бшдекемхъ                                                                              
            лемэьеи (хкх анкэьеи) накюярх астепю нрпедюйрхпси-                                                         -----------          
            ре йнмтхцспюжхнммши йнлюмдмши тюик  (RSX.MAC)  дкъ                                                         !  FREC   !          
            оепенопедекемхъ яхлбнкю N$$FIL;                                                                            -----------          
                                                                                                                                            
          - йнд бннаые цнбнпъ днярюрнвмн  бекхй.  онкэгнбюрекх          хлъ дхярпхасрхбмнцн тюикю: FREC.MAC                                 
            RSX, йнрнпше нашвмн  ярпнър  бяе  я  оепейпшрхълх,                                                                              
            лнцср мюирх сднбнкэярбхе б пюгахемхх йндю мю лмнцн          хяонкэгнбюмхе:                                                      
            люкемэйху лндскеи.                                                                                                              
                                                                               FREC (IOP);                                                  
                                                                               FILE    *IOP;                                                
                                                                                                                                            
                                                                        нохяюмхе:                                                           
            5.51. бшбнд дбнхвмни гюохях                                                                                                     
                                                                             тсмйжхъ бнгбпюыюер гмювемхе 1, еякх тюик  нпхемрхпнбюм         
                                                                        мю гюохях. гюлерхл: б щрнл йнмрейяре тюикш, нпхемрхпнбюммше         
                                                  -----------           мю гюохях, ме ъбкъчряъ дхяйюлх я  тюикнбни  ярпсйрспни  хкх         
                                                  !  FPUT   !           онкэгнбюрекэяйхл йнмянкэмшл реплхмюкнл. дпсцхе реплхмюкш, ю         
                                                  -----------           рюй фе сярпниярбю бпнде  сярпниярбю  оевюрх,  пюяонгмючряъ,         
                                                                        ндмюйн.                                                             
   хлъ дхярпхасрхбмнцн тюикю: FPUT.MAC                                                                                                      
                                                                        ньхайх: мер                                                         
   хяонкэгнбюмхе:                                                                                                                           
                                                                                                                                            
          FPUT (BUFFER,NBYTES,IOP);                                                                                                         
          CHAR    *BUFFER;                                                       5.53. онгхжхнмхпнбюмхе сйюгюрекеи тюикю                    
          INT     NBYTES;                                                                                                                   
          FILE    *IOP;                                                                                                                     
                                                                                                                       -----------          
   нохяюмхе:                                                                                                           !  FSEEK  !          
                                                                                                                       -----------          
        сйюгюммюъ гюохяэ бшбндхряъ б тюик. тюик бнглнфмн  днк-                                                                              
   фем ашрэ нрйпшр я ткюцнл "N", рюй врнаш гмюйх мнбни  ярпнйх          хлъ дхярпхасрхбмнцн тюикю: FSEEK.MAC                                
   ме бшбндхкхяэ б мецн.                                                                                                                    
                                                                        хяонкэгнбюмхе:                                                      
        б RT-11 рюйни тюик лнфер вхрюрэяъ рнкэйн FGET().                                                                                    
                                                                        FSEEK (IOP,OFFSET,PARAM);                                           
        тсмйжхъ бяецдю бнгбпюыюер гмювемхе NBYTES.                      FILE   *IOP;   /* онгхжхнмхпселне сярпниярбн        */              
                                                                        LONG   OFFSET; /* мнбюъ онгхжхъ времхъ              */              
        пейнлемдсеряъ оняке  бшгнбю  тсмйжхх  FPUT()  бшгшбюрэ          INT    PARAM;  /* 0 опх юаянкчрмнл онгхжхнмхпнбюмхх */              
   тсмйжхч FERR().                                                                                                                          
                                                                        нохяюмхе:                                                           
   ньхайх:                                                                                                                                  
                                                                             тсмйжхъ FSEEK() оепелеыюер сйюгюрекэ ббндю/бшбндю  дкъ         
          - б RT-11 гюйпшрхе тюикю нвхыюер  рейсыхи  бшбндхлши          времхъ б сйюгюммсч  онгхжхч.  рейсыюъ  онгхжхъ  лнфер  ашрэ         
            акнй. дкъ опеднрбпюыемхъ времхъ  гюохяеи  "мскебни          онксвемю тсмйжхеи FTELL(). юпцслемр PARAM  днкфем  ашрэ  0.         
            дкхмш" тсмйжхеи FGET(),  тсмйжхъ  бшбндхр  б  тюик          тюик/сярпниярбн днкфмн ашрэ онгхжхнмхпселшл.                        
            "явервхй_гюохяеи+1".                                                                                                            
                                                                             тсмйжхъ FSEEK() бнгбпюыюер мнкэ, еякх ноепюжхъ  опнбе-         
                                                                        демю йнппейрмн, х EOF, еякх опнхгнькю ньхайю. еякх  мхйюйху         
                                                                        ньханй ме опнхгнькн, ткюцх EOF х ERR яапюяшбючряъ.                  
                                                                                                                                            
                                                                             тсмйжхъ  FLSEEK()  ъбкъеряъ  юкэрепмюрхбмшл  бунднл  я         
                                                                        хдемрхвмшлх оюпюлерпюлх х деиярбхълх.                               
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 69 -                                                               - 70 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
   ньхайх: мер                                                                   кхмцю.                                                     
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
            5.54. яосккхмц тюикю б нвепедэ  он  слнквюмхч                        5.55. онксвемхе онгхжхх тюикю дкъ  онгхжхнмх-              
                  дкъ оевюрх                                                           пнбюмхъ                                              
                                                                                                                                            
                                                                                                                                            
                                                  -----------                                                          -----------          
                                                  !  FSPOOL !                                                          !  FTELL  !          
                                                  -----------                                                          -----------          
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: FSPOOL.MAC                                хлъ дхярпхасрхбмнцн тюикю: FTELL.MAC                                
                                                                                                                                            
   хяонкэгнбюмхе:                                                       хяонкэгнбюмхе:                                                      
                                                                                                                                            
          FSPOOL (FP);                                                         LONG                                                         
          FILE    *FP;    /*IOV нрйпшрнцн тюикю */                             FTELL (IOP);                                                 
                                                                               FILE    *IOP;   /* онгхжхнмхпселне сярпниярбн */             
   нохяюмхе:                                                                                                                                
                                                                        нохяюмхе:                                                           
        щрю опнжедспю бшгшбюеряъ  б  опнжеяяе  пюанрш  тсмйжхх                                                                              
   FCLOSE(), йнцдю нмю пеьюер онярюбхрэ  тюик  б  нвепедэ  дкъ               тсмйжхъ   FTELL()   бнгбпюыюер    онгхжхч    сйюгюрекъ         
   бшбндю мю яхярелмне сярпниярбн оевюрх. йнмрпнкэ  гю  нохяю-          ббндю/бшбндю дюммнцн тюикю. щрн гмювемхе лнфер ашрэ бнгбпю-         
   мхел оюпюлерпнб бшбндю мю оевюрэ х дхяонгхжхч ме  опнбндхр-          ыемн напюрмн б тюикнбсч яхярелс опх онлных  бшгнбю  тсмйжхх         
   яъ.                                                                  FSEEK().  гюлерхл,  врн  гмювемхе  ъбкъеряъ  сйюгюрекел  мю         
                                                                        гюохяэ, ю ме сйгюрекел акнйю хкх  аюирю.  б  RSX  опнцпюллю         
        тсмйжхъ FSPOOL() бнгбпюыюер 0, еякх онярюмнбйю б  нве-          днкфмю яапняхрэ рейсысч гюохяэ оепед напюыемхел й  FTELL().         
   педэ мю оевюрэ опнькю сяоеьмн, еякх ме лнфер ашрэ хмхжххпн-          (б RT-11 тсмйжхъ FLUSH() ъбкъеряъ ноепюжхеи).                       
   бюмн-бнгбпюыюеряъ йнд ньхайх.  опх  бшгнбе  б  нпхцхмюкэмши                                                                              
   RT-11 тюик асдер гюйпшр х асдер бнгбпюыемн гмювемхе  ньхайх               опх времхх ярпнй рейярю йнппейрмни онякеднбюрекэмнярэч         
   "мебепмне сярпниярбн" (E$$NOD=6).                                    деиярбхи асдер:                                                     
                                                                                                                                            
        еякх опнцпюлле менаундхлн онксвхрэ днярсо й  япедярбюл                 POSITION = FTELL(FD)                                         
   опнцпюллш, сопюбкъчыеи нвепедэч бшбндю мю оевюрэ б яосккхм-                 IF (FGETS(BUFFER,SIZEOFBUFER,FD) != EOF) [                   
   це, б яюлни RSX-11M, рн, оняке гюйпшрхъ тюикю нашвмшл напю-                         /*                                                   
   гнл, днкфмю хяонкэгнбюрэяъ опнжедспю SPWN() ахакхнрейх пюя-                          * "POSITION" нопедекъер онгхжхч гюохях,             
   ьхпемхи дкъ RSX дкъ оепедювх ярпнйх йнлюмдш б MCR.                                   * опнвхрюммни бшгнбнл FGETS()                       
                                                                                        */                                                  
        еякх опнцпюлле менаундхлн онксвхрэ днярсо й  япедярбюл                 ]                                                            
   опнцпюллш сопюбкемхъ нвепедэч б RSTS/E, нмю днкфмю  гюйпшрэ                                                                              
   тюик х хяонкэгнбюрэ опнжедспш хг ахакхнрейх пюяьхпемхи  дкъ          ньхайх:                                                             
   RSTS/E дкъ бшонкмемхъ бшгнбю яхярелмни тсмйжхх UU.SPL.                                                                                   
                                                                               - б RSX бнгбпюыюелне гмювемхе ъбкъеряъ онгхжхеи сйю-         
        б RSTS/E V7.0 тюик яосккхпсеряъ  мю  кчане  сярпниярбн                   гюрекъ тюикю, р.е. аюирмне ялеыемхе нр мювюкю тюи-         
   онярпнвмни оевюрх (пефхл RSX) хкх мю LP0: б  пефхле  RT-11.                   кю. ндмюйн б RT-11 сйюгюрекэ акнй/аюир (йюфдши  он         
   нашвмн сярпниярбн оевюрх ме лнфер бшахпюрэяъ, еякх ме лндх-                   якнбс) асдер  бнгбпюыем  б  йювеярбе  дбсуякнбмнцн         
   тхжхпнбюрэ хяундмши рейяр тсмйжхх FSPOOL().                                   гмювемхъ.  бнгбпюыемхе  аюирнбнцн  ялеыемхъ  лнфер         
                                                                                 ашрэ анкее онкегмшл, р.й. щрн  онгбнкъер  пеюкхгн-         
        еякх тюик нрйпшбюкяъ опх онлных  тсмйжхх  FWILD()  хкх                   бюрэ бяе FSEEK().                                          
   FNEXT(), бмсрпеммхи астеп ме нябнанфдюеряъ, онгбнкъъ  опнц-                                                                              
   пюлле бшгбюрэ тсмйжхч FNEXT() дкъ нрйпшрхъ якедсчыецн  тюи-                                                                              
   кю.                                                                                                                                      
                                                                                                                                            
   ньхайх:                                                                                                                                  
                                                                                                                                            
          - б RSTS/E б пефхле RT-11 йндш  ньханй  асдср  яннр-                                                                              
            берярбнбюрэ нохяюмхч бшгнбю тсмйжхх  яхярелш  яос-                                                                              
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 71 -                                                               - 72 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
            5.56. опнбепйю тюикю реплхмюкю                                   б янблеярхлнл пефхле VMS тсмйжхх FWILD/FNEXT йнппейрмн         
                                                                        напюаюршбючр мнлепю бепяхх тюикю RSX (йнрнпше  хяонкэгсчряъ         
                                                                        тюикнбни ярпсйрспни ODS2). б  янаярбеммн  RSX-11M,  йнрнпюъ         
                                                  -----------           хяонкэгсер  дхяйнбсч  ярпсйрспс  FILES-11  (ODS1),  тсмйжхх         
                                                  !  FTTY   !           FWILD/FNEXT напюаюршбючр мнлепю бепяхи тюикнб мебепмн. мюо-         
                                                  -----------           пхлеп, опнцпюллю лнфер  онрпеанбюрэ  "FOO.*;3",  "FOO.*;*",         
                                                                        "FOO.*;0" х "FOO.*;-1". опносыеммне сйюгюмхе мнлепю  бепяхх         
   хлъ дхярпхасрхбмнцн тюикю: FTTY.MAC                                  "FOO.*" щйбхбюкемрмн "FOO.*;0". гюлерхл, врн мнлеп бепяхх 0         
                                                                        опедонкюцюер "мнбеиьхи" тюик, ю мнлеп бепяхх  -1  опедонкю-         
   хяонкэгнбюмхе:                                                       цюер "ярюпеиьхи". (мнлеп бепяхх ме  хяонкэгсеряъ  б  ноепю-         
                                                                        жхнммшу яхярелюу RT-11 х RSTS/E.)                                   
          FTTY(IOP)                                                                                                                         
          FILE  *IOP;                                                        б  яюлни  RSX-11  (хяонкэгсчыеи   дхяйнбсч   ярпсйрспс         
                                                                        FILES-11) мнлеп бепяхх он слнквюмхч х цпсоонбюъ ноепюжхъ он         
   нохяюмхе:                                                            мнлепс бепяхх пюанрючр опюбхкэмн.  мнлепю  бепяхх  0  х  -1         
                                                                        пюанрючр рнкэйн еякх йюрюкнц пюяонгмюеряъ  опхйкюдмни  яхя-         
        бнгбпюыюеряъ 1, еякх тюикнл ъбкъеряъ  сярпниярбн  рхою          релмни опнцпюллни SRD. еякх йюрюкнц ме  пюяонгмюеряъ  (р.е.         
   реплхмюкю. б наыел яксвюе,  щрн  нгмювюер  онкэгнбюрекэяйхи          мнбеиьюъ бепяхъ нйюгшбюеряъ  оепбни  б  йюрюкнце).  тсмйжхъ         
   йнлюмдмши реплхмюк.                                                  FNEXT() асдер онпнфдюрэ меопедяйюгселше пегскэрюрш.                 
                                                                                                                                            
   ньхайх: мер                                                               б RT-11 яннрберярбхе хлем  тюикнб  цпсоонбни  ноепюжхх         
                                                                        напюаюршбюеряъ   бмсрпемме   он   нрмньемхч   й    тсмйжхъл         
                                                                        FWILD/FNEXT. юмюкхгюрнп асдер напюаюршбюрэ пюгкхвмше  тнплш         
                                                                        цпсоонбни яоежхтхйюжхх тюикнб,  бйкчвюъ  бмсрпеммчч  "*"  х         
            5.57. цпсоонбюъ ноепюжхъ нрйпшрхъ тюикю                     ндмняхлбнкэмне гюлеыемхе "%", х пюанрюрэ рнвмн рюй  фе  йюй         
                                                                        напюанрвхй цпсоонбни ноепюжхх опнцпюллш пюяоевюрйх  йюрюкн-         
                                                                        цю. дкъ янблеярхлнярх гмюй "?" деиярбсер рнвмн рюй фе йюй х         
                                                  -----------           "%" опх япюбмемхх ярпнй.                                            
                                                  !  FWILD  !                                                                               
                                                  -----------                опхлевюмхе:   еякх   опнцпюллю    бшонкмъер    тсмйжхч         
                                                                        FCLOSE(U), бяъ хмтнплюжхъ на  хлемх  тюикю  репъеряъ.  мхфе         
   хлъ дхярпхасрхбмнцн тюикю: FWILD.MAC                                 дюмю онякеднбюрекэмнярэ, делнмярпхпсчыюъ опюбхкэмне хяонкэ-         
                                                                        гнбюмхе тсмйжхи FWILD/FNEXT:                                        
   хяонкэгнбюмхе:                                                                                                                           
                                                                               IF (GETS(астеп_хлемх)==NULL)                                 
  FILE *                                                                          EXIT();                                                   
  FWILD (NAME, MODE);                                                          IF ((FD=FWILD(астеп_хлемх,"R"))==NULL)                       
  CHAR *NAME   /* нрйпшбюелши тюик */                                             ERROR("ме лнцс нрйпшрэ %S\N", астеп_хлемх);               
  CHAR *MODE   /* пефхлш нрйпшрхъ */                                           FOR (COUNT=0; FNEXT(FD)!=NULL; COUNT++)[                     
  FILE *                                                                          /*                                                        
  FNEXT (IOP);                                                                     * напюанрйю йюфднцн тюикю                                
  FILE *IOP;   /* сйюгюрекэ ббндю/бшбндю */                                        */                                                       
                                                                                  WHILE (FGETS(астеп, SIZEOF астеп, FD)                     
   нохяюмхе:                                                                               !=NULL)[                                         
                                                                                       /*                                                   
        тсмйжхъ FWILD() нрйпшбюер мнбши хкх ясыеярбсчыхи  тюик                          * напюанрйю йюфдни гюохях                           
   (хлъ тюикю йнрнпнцн лнфер яндепфюрэ сйюгюмхе цпсоонбни ное-                          */                                                  
   пюжхх). пефхлш нрйпшрхъ  хдемрхвмш  сйюгшбюелшл  б  тсмйжхх                    ]                                                         
   FOPEN(). он бнгбпюрс, хлъ тюикю асдер опнюмюкхгхпнбюмн,  мн                 ]                                                            
   тюик еые ме асдер нрйпшр. бнгбпюр NULL сйюгшбюер, врн  юмю-                 /*                                                           
   кхг хлемх тюикю намюпсфхк мейнппейрмнярэ.                                    * бшгнб тсмйжхх FNEXT() ме сдюкяъ; йюмюк гюйпшр.            
                                                                                * оепелеммюъ COUNT яндепфхр вхякн напюанрюммшу              
        тсмйжхъ FNEXT() нрйпшбюер оепбши хкх якедсчыхи хг тюи-                  * тюикнб                                                    
   кнб, йнрнпше ашкх  нопедекемш  опедшдсыхл  бшгнбнл  тсмйжхх                  */                                                          
   FWILD(). еякх тсмйжхъ FNEXT() бнгбпюыюер NULL, рн щрн нгмю-                 IF (COUNT==0)                                                
   вюер, врн мер (анкее) тюикнб, йнрнпше яннрберярбсчр  яоежх-                    ERROR ("яннрберярбсчыхе тюикш ме мюидемш");               
   тхйюжхх цпсоонбни ноепюжхх.                                                                                                              
                                                                             мхфе ясллхпсчряъ рхош  напюанрйх  цпсоонбни  ноепюжхх,         
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 73 -                                                               - 74 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
   днярсомше б пюгкхвмшу пеюкхгюжхъу ахакхнрейх онддепфйх "C":                 IF ((FD=FWILD(FILE, "R"))==NULL)                             
                                                                                   ERROR ("ме лнцс нрйпшрэ тюик %S\N", FILE);               
   RSX-11M                                                                     IF ((FD --> IO_FLAG & IO_VER)!=0                             
          - "*" гюлемъер кчане хлъ тюикю, рхо тюикю хкх  мнлеп                         && мсфмю_бепяхъ_лхмся_ндхм)                          
            бепяхх. бепяхх ;0 х ;-1 онддепфхбючряъ б  яхярелюу                     FD --> IO_FLAG\=IO_VM1;                                  
            я ODS2. онке "UIC" х ме лнфер  яндепфюрэ  сйюгюмхе                                                                              
            цпсоонбни ноепюжхх;                                                - б ноепжхнммни яхярле RT-11 хкх б  щлскърнпе  RT-11         
                                                                                 дкъ RSTS/E напюыемхъ й тсмйжхъл FWILD/FNEXT  асдср         
   RSX/VMS                                                                       месдювмш, еякх  сярпниярбн  ме  хлеер  йюрюкнцнбни         
          - йюй х пюмее,  гюлерхл,  врн  бепяхъ  ;-1  нгмювюер                   ярпсйрспш (дюфе, еякх б сйюгюмхх тюикю  ме  гюдюмю         
            "мюханкее пюммчч"  бепяхч.  напюрхре  бмхлюмхе  мю                   цпсоонбюъ ноепюжхъ). еякх щрн ъбкъеряъ  опнакелни,         
            якедсчыхе гюлевюмхъ. сйюгюмхе  йюрюкнцю  ме  лнфер                   бш днкфмш мюохяюрэ, йюй онйюгюмн мхфе:                     
            яндепфюрэ гмюйх цпсоонбни  ноепюжхх.  ноепюжхнммюъ                                                                              
            яхярелю VMS онддепфхбюер дхяйнбсч ярпсйрспс ODS2;                   IF ((FD=FWILD(хлъ тюикю, пефхл))!=NULL)                     
                                                                                    ISWILD=1;                                               
   RSX/RSTS                                                                     ELSE IF ((FD=FOPEN(хлъ тюикю, пефхл))!=NULL)                
          - хяонкэгсчряъ янцкюьемхъ RSTS/E н сйюгюмхх  цпсоон-                      ISWILD=0;                                               
            бни ноепюжхх: "*" гюлемъер хлъ тюикю хкх рхо  тюи-                  ELSE ERROR ("ме лнцс нрйпшрэ тюик");                        
            кю. гмюй "?" гюлемъер кчани гмюй.  онкъ  "PPN"  ме                                                                              
            лнцср сйюгюмхъ цпсоонбни ноепюжхх. мнлеп бепяхх ме                 - опнцпюллю днкфмю гюрел  опнреярхпнбюрэ  оепелеммсч         
            онддепфхбюеряъ б RSTS/E.                                             ISWILD дкъ нопедекемхъ днкфмю кх нмю напюыюрэяъ  й         
                                                                                 тсмйжхх FNEXT() хкх напюанрйю  лнфер  ашрэ  меоня-         
   RT-11                                                                         педярбеммн хмхжххпнбюмю;                                   
          - гмюй "*" гюлемъер кчасч ярпнйс, гмюй "%" хкх  гмюй                                                                              
            "?" гюлемъер кчани гмюй, ме ъбкъчыхияъ опнаекнл.                   - бн бяеу пефхлюу RSTS/E лнцср ашрэ  опнакелш,  ябъ-         
                                                                                 гюммше  я  опенапюгнбюмхел  кнцхвеяйху  хлем  р.й.         
   RT11/RSTS                                                                     ярпнйю хлемх тюикю днкфмю юмюкхгхпнбюрэяъ мендмнй-         
          - хяонкэгсчряъ нрлевеммше бшье янцкюьемхъ RSTS/E  на                   пюрмн. р.е. еякх опнцпюллхяр нопедекхр  кнцхвеяйне         
            сйюгюмхх цпсоонбни ноепюжхх.                                         хлъ, йнрнпне хдемрхвмн дносярхлнлс хлемх  тхгхвея-         
                                                                                 йнцн сярпниярбю, нрйпшрхе тюикю, ябъгюммне я цпсо-         
   ньхайх:                                                                       онбни ноепюжхеи, лнфер напюрхрэяъ й "ме рнлс" сяр-         
                                                                                 пниярбс. щрю опнакелю нохяюмю  б  днйслемрюжхх  мю         
          - б ноепюжхнммни яхяреле RSX-11M, хяонкэгсчыеи  дхя-                   RSTS/E;                                                    
            йнбсч ярпсйрспс  ODS1  (FILES-11),  мнлепю  бепяхи                                                                              
            напюаюршбючряъ опюбхкэмн, рнкэйн еякх йюрюкнц  ашк                 - тсмйжхх  FWILD/FNEXT  пюгпюаюршбюкхяэ  рнкэйн  дкъ         
            нрянпрхпнбюм (мюопхлеп, я хяонкэгнбюмхел опнцпюллш                   пюанрш я дхяйнбшлх сярпниярбюлх.  нмх  ме  наъгюмш         
            SRD).  еякх  йюрюкнц  менрянпрхпнбюм   х   тсмйжхъ                   пюанрюрэ опюбхкэмн я дпсцхлх сярпниярбюлх  йюрюкн-         
            FWILD() ашкю бшгбюмю я мнлепнл бепяхх ;0 хкх  ;-1,                   цнбни ярпсйрспш, бпнде люцмхрмни кемрш.                    
            рн щрн опхбндхр й меопедяйюгселшл пегскэрюрюл;                                                                                  
                                                                        бмсрпеммее:                                                         
          - юмюкхгюрнп йнлюмдмнцн ъгшйю (CSI1$) б  янблеярхлнл                                                                              
            пефхле VMS ме напюаюршбюер мнлеп бепяхх  -1  (оня-                 - еякх бш бяецдю  пюанрюере  б  RSTS/E,  хкх  бяецдю         
            йнкэйс нм хлеер пюгкхвмши ялшяк  б  яюлни  VMS)  х                   пюанрюере б RSX (хкх б  янблеярхлнл  пефхле  VMS),         
            бшгнб тсмйжхх FWILD() асдер яннрберярбеммн  месдю-                   хкх бяецдю пюанрюере б RT-11, бш днкфмш яннрберяр-         
            вем;                                                                 бсчыхл напюгнл нрпедюйрхпнбюрэ FWILD.MAC дкъ  сдю-         
                                                                                 кемхъ мемсфмнцн йндю;                                      
          - еякх бюл мсфмю яюлюъ ярюпюъ бепяхъ, тсмйжхъ  FWILD                                                                              
            днкфмю бшгшбюрэяъ я хлемел тюикю хкх  рхонл  тюикю                 - щрх опнжедспш гюбхяър нр гмюмхъ мейнрнпшу бмсрпем-         
            "FOO.*" хкх "FOO.*;0", х,  оепед  бшгнбнл  тсмйжхх                   мняреи RSTS/E х нр  пеюкхгюжхх  яксфаш  сопюбкемхъ         
            FNEXT() б оепбши пюг, бш днкфмш опюбхкэмн  сярюмн-                   тюикюлх RSX б RSTS/E. щрн лнфер онрпеанбюрэ  лндх-         
            бхрэ пюгпъдш б  якнбе  ткюцнб  IOV,  йюй  онйюгюмн                   тхйюжхх дкъ пюгкхвмшу пеюкхгюжхи RSTS/E;                   
            мхфе.                                                                                                                           
                                                                               - юбрнпш ме хгбхмъчряъ гю на'ел щрнцн лндскъ;                
   ахрнбши ткюц IO_VER яхцмюкхгхпсер "бепяхъ 0 хкх -1", ю  ахр                                                                              
   IO_VM1 нгмювюер бепяхч я мнлепнл -1. ноърэ фе, гюлерхл, врн                 - дхярпхасрхб яхярелш опнцпюллхпнбюмхъ "C"  бйкчвюер         
   бяе щрн днкфмн декюрэяъ дн оепбнцн бшгнбю тсмйжхх FNEXT();                    хяундмши рейяр опхйкюдмни яхярелмни опнцпюллш  SRD         
                                                                                 (янпрхпнбйю йюрюкнцю).                                     
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 75 -                                                               - 76 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
            5.58. онксвхрэ гмюйх                                        йх, йнрнпши гюлеыюеряъ б астепе  мю  мнкэ.  тсмйжхъ  GETS()         
                                                                        бнгбпюыюер сйюгюрекэ мю астеп хкх NULL опх ньхайе хкх йнмже         
                                                                        тюикю.                                                              
                                                  -----------                                                                               
                                                  ! GETCHAR !           ньхайх: мер.                                                        
                                                  -----------                                                                               
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: GETCHA.MAC                                                                                                    
                                                                                 5.60. онксвхрэ хлъ сопюбкъчыецн реплхмюкю                  
   хяонкэгнбюмхе:                                                                                                                           
                                                                                                                                            
          GETCHAR ();                                                                                                  -----------          
                                                                                                                       ! GETTTY  !          
          GETC (IOP);                                                                                                  -----------          
          FILE *IOP;                                                                                                                        
                                                                        хлъ дхярпхасрхбмнцн тюикю: GETTTY.MAC                               
   нохяюмхе:                                                                                                                                
                                                                        хяонкэгнбюмхе:                                                      
        тсмйжхъ GETCHAR() вхрюер  ндхм  гмюй  хг  ярюмдюпрмнцн                                                                              
   бундмнцн тюикю. тсмйжхъ GETC() вхрюер ндхм гмюй хг  сйюгюм-                 GETTTY (BUFFER);                                             
   мнцн бундмнцн тюикю.                                                        CHAR *BUFFER;                                                
                                                                                                                                            
        нае бнгбпюыючр EOF опх ньхайе хкх йнмже тюикю.                  нохяюмхе: гюмняхр хлъ сярпниярбю сопюбкъчыецн  реплхмюкю  б         
                                                                        астеп. еякх щрн  мебнглнфмн  ядекюрэ,  бнгбпюыюеряъ  осярюъ         
        дкъ опнднкфемхъ  времхъ  оняке  EOF,  опнцпюллю  лнфер          ярпнйю.                                                             
   бшонкмърэ:                                                                                                                               
                                                                        ньхайх:                                                             
          IOP -> IO_FLAG &= ^(IO_ERR \ IO_EOF);                                                                                             
                                                                               - б пефхлюу RSX. тсмйжхъ GETTTY хяонкэгсер дхпейрхбс         
   ньхайх:                                                                       лнмхрнпю GLUN$ дкъ онксвемхъ  хлемх  сярпниярбю  х         
                                                                                 ецн мнлепю он тюикс STDERR (йнрнпши бяецдю  мюгмю-         
          - онякеднбюрекэмнярэ "опнднкфемхе оняке  EOF"  пюан-                   вюеряъ мю сопюбкъчыхи реплхмюк).                           
            рюер б RT11/RSTS опх времхх я  реплхмюкю.  нмю  ме                                                                              
            пюанрюер б VMS б пефхле  янблеярхлнярх  (якедсчыхе                 - б пефхлюу RT-11. тсмйжхъ GETTTY() бшгшбюер тсмйжхч         
            напюыемхъ й тсмйжхх ямнбю дючр EOF). щрн ме опнбе-                   IOVTOA() дкъ онксвемхъ  хлемх  тюикю,  мю  йнрнпши         
            пъкняэ б дпсцху пефхлюу.                                             нрйпшр STDERR. щрю  ярпнйю  ме  наъгюрекэмн  асдер         
                                                                                 яндепфюрэ дносярхлши мнлеп сярпниярбю.                     
                                                                                                                                            
                                                                                                                                            
            5.59. опнвхрюрэ ярпнйс хг STDIN                                                                                                 
                                                                                 5.61. ббеярх дбнхвмне жекне хг тюикю                       
                                                                                                                                            
                                                  -----------                                                                               
                                                  !  GETS   !                                                          -----------          
                                                  -----------                                                          !  GETW   !          
                                                                                                                       -----------          
   хлъ дхярпхасрхбмнцн тюикю: GETS.MAC                                                                                                      
                                                                        хлъ дхярпхасрхбмнцн тюикю: GETW.MAC                                 
   хяонкэгнбюмхе:                                                                                                                           
                                                                        хяонкэгнбюмхе:                                                      
          CHAR *                                                                                                                            
          GETS (BUFFER);                                                       GETW (IOP);                                                  
          CHAR *BUFFER;                                                        FILE *IOP;                                                   
                                                                                                                                            
   нохяюмхе:                                                            нохяюмхе:                                                           
                                                                                                                                            
        тсмйжхъ GETS() вхрюер ярпнйс б астеп  хг  ярюмдюпрмнцн               тсмйжхъ GETW() вхрюер  ндмн  (16-пюгпъдмне)  якнбн  хг         
   тюикю ббндю (STDIN). ярпнйю гюбепьюеряъ гмюйнл мнбни  ярпн-          сйюгюммнцн тюикю. опнцпюллю дкъ намюпсфемхъ ньхайх хкх йнм-         
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 77 -                                                               - 78 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
   жю тюикю днкфмю бшгшбюрэ тсмйжхх FERR() хкх FEOF().                  #DEFINE IO_VM1 0000010 /* бепяхъ ;-1 */                             
                                                                        #DEFINE IO_WLD 0000004 /* цпсоонбюъ ноепюжхъ */                     
   ньхайх: мер.                                                         #DEFINE IO_MOD 0000003 /* люяйю пефхлю нрйпшрхъ: */                 
                                                                                               /* времхе = 0 */                             
                                                                                               /* гюохяэ = 1 */                             
                                                                                               /* днаюбкемхе = 2 */                         
            5.62. нопедекемхе бейрнпю ббндю/бшбндю                                             /* ме мнкэ = бшбнд */                        
                                                                                                                                            
                                                                         #DEFINE IO_EOR (IO_ERR \ IO_EOF)                                   
                                                  -----------                                                                               
                                                  !  IOV    !            EXTERN INT  $$FERR     /* якнбн ньхайх */                          
                                                  -----------            EXTERN FILE *STDIN     /* ярюмдюпрмши бундмни                      
                                                                                         тюик */                                            
   хлъ дхярпхасрхбмнцн тюикю: IOV.MAC                                    EXTERN FILE *STDOUT    /* ярюмдюпрмши бшундмни                     
                                                                                                         тюик */                            
   хяонкэгнбюмхе:                                                        EXTERN FILE *STDERR    /* ярюмдюпрмши тюик                         
                                                                                                         дхюцмнярхйх */                     
  тнплюр RSX:                                                                                                                               
     TYPEDEF STRUCT IOV [                                              бмсрпеммее:                                                          
          INT IO_FLAG;    /* сопюбкъчыхе ткюцх */                                                                                           
          INT IO_UGET;    /* леярн дкъ гмюйю хг UNGET */                 EXTERN FILE *$$LUNS[]; /* рюакхжю сйюгюрекеи                       
          INT IO_BCNT;    /* явервхй ябнандмнцн астепю */                                IOV */                                             
          CHAR *IO_BPTR;  /* сйюгюрекэ ябнандмнцн астепю */              EXTERN FILE *$$LUNE;   /* йнмеж рюакхжш                            
          CHAR *IO_RBUF;  /* мювюкн астепю гюохях */                                     сйюгюрекеи */                                      
          INT IO_RBSZ;    /* на'ел астепю гюохях */                      EXTERN (INT)(HCAR *$$LMAX); /* пюглепмнярэ RSX                     
          CHAR *IO_BBUF;  /* мювюкн астепю акнйю */                                                           $$LUNS */                     
          CHAR *IO_WILD;  /* астеп дкъ цпсоонбшу ноепюжхи */             EXTERN CHAR **$$IFIL;  /* -> хлъ тюикю STDIN */                    
          INT IO_UIC;     /* дбнхвмши UIC (PPN) */                       EXTERN CHAR **$$OFIL;  /* -> хлъ тюикю STDOUT */                   
          INT IO_IOSB[2]; /* акнй янярнъмхъ ббндю/бшбндю */              EXTERN INT  *$$EIOV;   /* RSX: вхякн LUN'нб */                     
          INT IO_FDB[0];  /* акнй дюммшу тюикю */                               FILE *$$EIOV;   /* RSX: IOV дкъ STERR */                    
      ] FILE;                                                                                                                               
                                                                        нохяюмхе:                                                           
  тнплюр RT-11:                                                                                                                             
      TYPEDEF STRUCT IOV [                                                   нопедекемхе ярпсйрспш бейрнпю ббндю/бшбндю хяонкэгсер-         
          INT IO_FLAG;    /* сопюбкъчыхе ткюцх */                       яъ бяелх опнжедспюлх ахакхнрейх "C" дкъ йнллсмхйюжхх. гюле-         
          INT IO_UGET;    /* леярн дкъ гмюйю хг UNGET */                рхл, врн нопедекемхе якецйю  пюгкхвмн  дкъ  пефхлнб  RSX  х         
          CHAR *IO_NAME;  /* сйюгюрекэ хлемх тюикю */                   RT-11. гюлерхл рюйфе, врн мейнрнпше пюгпъдш б IO_FLAG  гмю-         
          CHAR *IO_WILD;  /* астеп дкъ цпсоонбшу ноепюжхи*/             вхлш рнкэйн дкъ нопедекеммшу бхднб ббндю/бшбндю.                    
          INT IO_LUN;     /* мнлеп йюмюкю RT-11 */                                                                                          
          INT IO_BCNT;    /* явервхй ябнандмнцн астепю */                                                                                   
          CHAR *IO_BPTR;  /* сйюгюрекэ ябнандмнцн астепю */                  IOV пефхлю RSX яндепфхр бунд дкъ  акнйю  дюммшу  тюикю         
          INT IO_BNBR;    /* мнлеп акнйю мю дхяйе */                    (FDB). "IO_UIC" яндепфхр,  рюйфе,  дбнхвмши  UIC  йюрюкнцю,         
          CHAR *IO_BBUF[512]; /* астеп дюммшу */                        вепег йнрнпши ашк онксвем днярсо й тюикс, ю  ме  UIC  "бкю-         
      ] FILE;                                                           декэжю". щрн рнр UIC, йнрнпши  дюеряъ  опх  бшгнбе  тсмйжхх         
                                                                        IOVTOA().                                                           
  пюгпъдш б IOV.IO_FLAG:                                                                                                                    
   #DEFINE IO_OPN 0010000 /* нрйпшрши тюик */                                IOV пефхлю RT-11 яндепфхр рнкэйн хмтнплюжхч, днярюрнв-         
   #DEFINE IO_REC 0004000 /* сярпниярбн я гюохяълх */                   мсч дкъ времхъ х гюохях тюикю,  окчя  сйюгюрекэ  мю  ярпнйс         
   #DEFINE IO_TTY 0020000 /* реплхмюк ноепюрнпю */                      ASCII я хлемел тюикю, окчя сйюгюрекэ мю ярпнйс ASCII я хле-         
   #DEFINE IO_EOF 0010000 /* намюпсфем йнмеж тюикю */                   мел тюикю (юпцслемрнл FOPEN()). хлъ  тюикю  менаундхлн  дкъ         
   #DEFINE IO_ERR 0004000 /* намюпсфемю ньхайю */                       тсмйжхх IOVTOA() х дкъ сдюкемхъ тюикю гюдюммнцн сйюгюрекел.         
   #DEFINE IO_FIL 0002000 /* тюик мю дхяйе */                                                                                               
   #DEFINE IO_$$$ 0001000 /* мехяонкэгселши пюгпъд */                        гдеяэ нопедекемш якедсчыхе тюикш:                              
   #DEFINE IO_NOS 0000400 /* гмюйх мнбни ярпнйх ме мсфмш */                                                                                 
   #DEFINE IO_UBF 0000200 /* астепхгюжхъ онкэгнбюрекъ */                       STDIN   ярюмдюпрмши бундмни тюик;                            
   #DEFINE IO_BZY 0000100 /* рпеасеряъ бшбнд  астепю */                        STDOUT  ярюмдюпрмши бшундмни тюик;                           
   #DEFINE IO_WF1 0000040 /* "оепбши пюгпъд" FWILD */                          STDERR  тюик дхюцмнярхйх. гюлевюмхе: б RSX тюик              
   #DEFINE IO_VER 0000020 /* цпсоонбюъ ноепюжхъ он бепяхх */                           STDERR нрйпшбюеряъ мю кнцхвеяйнл мнлепе 1.           
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 79 -                                                               - 80 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
        гдеяэ рюйфе  нопедекемн  $$FERR  (якнбн  ньхайх).  нмн          IO_BPTR                                                             
   сярюмюбкхбюеряъ б мемскебне гмювемхе, еякх  опх  бшонкмемхх                 - яндепфхр юдпея оепбни ябнандмни ъвеийх б астепе;           
   ббндю/бшбндю опнхяундхр ньхайю. б ноепюжхнммни яхяреле  RSX                                                                              
   бнгбпюыючряъ ярюмдюпрмше йндш ньханй ббндю/бшбндю. б  RT-11          IO_BNBR                                                             
   бнгбпюыюелше йндш ньханй янблеярхлш я хяонкэгселшлх б  ное-                 - опх бшбнде яндепфхр мнлеп гюохяшбюелнцн опх гюонк-         
   пюжхнммни яхяреле RSTS/E:                                                     мемхх астепю акнйю. опх времхх яндепфхр мнлеп яке-         
                                                                                 дсчыецн акнйю, йнрнпши асдер опнвхрюм опх хявепою-         
  цкнаюкэмне  гмювемхе  ялшяк                                                    мхх астепю.                                                
                                                                                                                                            
    E$$ILE     02. 002    мебепмне хлъ тюикю;                           ньхайх: мер.                                                        
    E$$NOR     04. 004    мер леярю дкъ онкэгнбюрекъ мю                                                                                     
                         сярпниярбе;                                                                                                        
    E$$FNF     05. 005    мекэгъ мюирх тюик хкх йюрюкнц;                                                                                    
    E$$NOD     06. 006    медносярхлне сярпниярбн;                               5.63. опенапюгнбюмхе хлемх тюикю б ASCII                   
    E$$ILU     07. 007    йюмюк ббндю/бшбндю сфе гюмър;                                                                                     
    E$$NOO     09. 011    йюмюк ббндю/бшбндю ме нрйпшр;                                                                                     
    E$$EOF     11. 013    йнмеж тюикю мю сярпниярбе;                                                                   -----------          
    E$$FAT     12. 014    тюрюкэмши яани яхярелмнцн                                                                    !  IOVTOA !          
                          ббндю/бшбндю;                                                                                -----------          
    E$$ERR     13. 015    ньхайю дюммшу онкэгнбюрекъ мю                                                                                     
                          сярпниярбе;                                   хлъ дхярпхасрхбмнцн тюикю: IOVTOA.MAC                               
    E$$FND     16. 020    тюик сфе мюидем (гюыхыем);                                                                                        
    E$$NOC     17. 021    якхьйнл лмнцн нрйпшршу тюикнб мю              хяонкэгнбюмхе:                                                      
                          сярпниярбе;                                                                                                       
    E$$NSP     32. 040    мер оюлърх дкъ астепю налемю;                        CHAR *                                                       
                                                                               IOVTOA (IOP, BUFFER);                                        
        ньхайю мнлеп 12. сярюмюбкхбюеряъ рнкэйн б яксвюе  цпс-                 FILE *IOP;                                                   
   анцн яанъ яхярелш. оняйнкэйс щрн лнфер сйюгшбюрэ мю  ньхайс                 CHAR *BUFFER;                                                
   б ахакхнрейе RT-11, рн щрн анкее онунфе мю онкэгнбюрекэяйсч                                                                              
   ньхайс опнцпюллхпнбюмхъ (бпнде оепедювх мебепмшу оюпюлерпнб          нохяюмхе:                                                           
   б опнжедспс ббндю/бшбндю).                                                                                                               
                                                                             опенапюгсер хлъ тюикю б ASCII х онлеыюер ецн б астеп.          
        ньхайю мнлеп 7 сярюмюбкхбюеряъ, еякх  тсмйжхъ  FOPEN()                                                                              
   ошрюеряъ нрйпшрэ йюмюк, йнрнпши сфе хяонкэгсеряъ.                         б RSX-11M (х опх щлскъжхх б RSTS/E) б  ASCII  опенапю-         
                                                                        гсеряъ хлъ сярпниярбю, хлъ тюикю х рхо тюикю. UIC  опенапю-         
   бмсрпеммее:                                                          гсеряъ, еякх нм гюдюм х нркхвем нр UIC гюдювх он слнквюмхч.         
                                                                        (гюлерхл, врн б VMS б пефхле янблеярхлнярх  UIC  ме  днярс-         
        б RSX астепхгюжхъ опнхгбндхряъ  яепбхямшлх  япедярбюлх          оем.)                                                               
   яхярелш сопюбкемхъ тюикюлх RSX (FSC). сйюгюрекэ астепю акн-                                                                              
   йю ме хяонкэгсеряъ (унръ х пегепбхпсеряъ дкъ йнцн-кхан, йрн               б пефхлюу RT-11  хлъ  тюикю,  оепедюбюелне  б  тсмйжхч         
   гюунвер бйкчвхрэ опълни днярсо).                                     FOPEN() йнохпсеряъ б астеп аег йюйни-кхан  напюанрйх.  еякх         
                                                                        тюик ашк нрйпшр опх онлных тсмйжхи FWILD/FNEXT, бнгбпюыюер-         
        б RT-11 астепхгюжхъ сопюбкъеряъ ахакхнрейни  онддепфйх          яъ опюбхкэмне хлъ тюикю. (б RSTS/E рнвмн рюйфе бнгбпюыюеряъ         
   "C", тсмйжхълх $$PUTS, $$FLSH, $$GETC х $$GET. б щрнл оюйе-          PPN.)                                                               
   ре сопюбкъчыхе якнбю астепю хяонкэгсчряъ якедсчыхл напюгнл:                                                                              
                                                                             тсмйжхъ IOVTOA() бнгбпюыюер сйюгюрекэ мю мнкэ,  гюбеп-         
          - еякх IO_BPTR пюбем мскч,  астеп  ме  хяонкэгсеряъ.          ьючыхи астеп.                                                       
            IO_BCNT рнфе асдер пюбмн мскч, х опнжедспю онксве-                                                                              
            мхъ акнйю ($$GET)  асдер  бшгбюмю  дкъ  гюонкмемхъ          ньхайх:                                                             
            оепбнцн   астепю,    сярюмюбкхбюъ    бяе    дпсцхе                                                                              
            сйюгюрекх/явервхйх. б дпсцху яксвюъу хлееряъ  яке-                 - онбедемхе б пюгкхвмшу ноепюжхнммшу  яхярелюу  пюг-         
            дсчыее:                                                              кхвмн.                                                     
                                                                                                                                            
   IO_BCNT                                                                                                                                  
          - яндепфхр вхякн аюирнб, йнрнпше лнцср ашрэ гюохяюмш                                                                              
            б астеп оепед рел йюй нм асдер гюохяюм б  тюик  мю                                                                              
            дхяйе;                                                                                                                          
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 81 -                                                               - 82 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
            5.64. хярхмю, еякх юпцслемр - асйбю                                ISLOWER (C);                                                 
                                                                               INT C;                                                       
                                                                                                                                            
                                                  -----------           нохяюмхе:                                                           
                                                  ! ISALPHA !                                                                               
                                                  -----------           бнгбпюыюеряъ 1, еякх "C" ъбкъеряъ люкни кюрхмяйни асйбни, 0         
                                                                        б опнрхбмнл яксвюе.                                                 
   хлъ дхярпхасрхбмнцн тюикю: ISALPH.MAC                                                                                                    
                                                                        ньхайх: мер.                                                        
   хяонкэгнбюмхе:                                                                                                                           
                                                                                                                                            
          ISALPHA (C);                                                                                                                      
          INT C;                                                                 5.67. хярхмю, еякх юпцслмр - анкэьюъ асйбю                 
                                                                                                                                            
   нохяюмхе:                                                                                                                                
                                                                                                                       -----------          
        бнгбпюыюеряъ 1, еякх "C" ъбкъеряъ асйбни, 0 б  опнрхб-                                                         ! ISUPPER !          
   мнл яксвюе.                                                                                                         -----------          
                                                                                                                                            
   ньхайх: мер.                                                         хлъ дхярпхасрхбмнцн тюикю: ISUPPE.MAC                               
                                                                                                                                            
                                                                        хяонкэгнбюмхе:                                                      
                                                                                                                                            
            5.65. хярхмю, еякх юпцслемр - жхтпю                                ISUPPER (C);                                                 
                                                                               INT C;                                                       
                                                                                                                                            
                                                  -----------           нохяюмхе:                                                           
                                                  ! ISDIGIT !                                                                               
                                                  -----------                бнгбпюыюеряъ 1, еякх "C"  ъбкъеряъ  анкэьни  кюрхмяйни         
                                                                        асйбни, 0 б опнрхбмнл яксвюе.                                       
   хлъ дхярпхасрхбмнцн тюикю: ISDIGI.MAC                                                                                                    
                                                                        ньхайх: мер.                                                        
   хяонкэгнбюмхе:                                                                                                                           
                                                                                                                                            
          ISDIGIT (C);                                                                                                                      
          INT C;                                                                 5.68. опенапюгнбюмхе жекнцн б ASCII                        
                                                                                                                                            
   нохяюмхе:                                                                                                                                
                                                                                                                       -----------          
        бнгбпюыюеряъ 1, еякх "C" ъбкъеряъ жхтпни б йнде ASCII,                                                         !  ITOA   !          
   0 б опнрхбмнл яксвюе.                                                                                               -----------          
                                                                                                                                            
   ньхайх: мер.                                                         хлъ дхярпхасрхбмнцн тюикю: ITOA.MAC                                 
                                                                                                                                            
                                                                        хяонкэгнбюмхе:                                                      
                                                                                                                                            
            5.66. хярхмю, еякх юпцслемр - люкюъ асйбю                          CHAR *                                                       
                                                                               ITOA (VALUE, STRING);                                        
                                                                               INT VALUE;                                                   
                                                  -----------                  CHAR *STRING;                                                
                                                  ! ISLOWER !                                                                               
                                                  -----------           нохяюмхе:                                                           
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: ISLOWE.MAC                                     тсмйжхъ ITOA() опенапюгсер гмювемхе "VALUE" б деяърхв-         
                                                                        мсч ярпнйс (ян гмюйнл). ярпнйю гюбепьюеряъ  мскел.  тсмйжхъ         
   хяонкэгнбюмхе:                                                       ITOA() бнгбпюыюер сйюгюрекэ мю гюбепьючыхи мнкэ.                    
                                                                                                                                            
                                                                             гюлерхл, врн пегскэрюр лнфер ашрэ бшвхякем (анкее цха-         
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 83 -                                                               - 84 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
   йн) опх онлных бшонкмемхъ бшгнбю тсмйжхх  SPRINTF  (BUFFER,          нохяюмхе:                                                           
   "%D", VALUE);                                                                                                                            
                                                                             опенапюгсер жекне б  ьеярмюджюрхпхвмне  ASCII.  ярпнйю         
   ньхайх: мер.                                                         гюбепьюеряъ мскел. гмювемхъ нр 10 дн 15 (деяърхвмне) опедя-         
                                                                        рюбкъчряъ асйбюлх нр "A" дн "F". тсмйжхъ ITOAX() бнгбпюыюер         
                                                                        сйюгюрекэ мю гюбепьючыхи мнкэ.                                      
                                                                                                                                            
            5.69. опенапюгнбюмхе  жекнцн  б  бняэлепхвмне                    гюлерхл, врн пегскэрюр лнфер ашрэ анкее цхайн  онксвем         
                  ASCII                                                 опх онлных бшонкмемхъ бшгнбю тсмйжхх SPRINF (BUFFER,  "%X",         
                                                                        VALUE);                                                             
                                                                                                                                            
                                                  -----------           ньхайх: мер.                                                        
                                                  !  ITOA8  !                                                                               
                                                  -----------                                                                               
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: ITOA8.MAC                                          5.71. бшдекемхе х нябнанфдемхе оюлърх                      
                                                                                                                                            
   хяонкэгнбюмхе:                                                                                                                           
                                                                                                                       -----------          
          CHAR *                                                                                                       !  MALLOC !          
          ITOA8 (VALUE, STRING);                                                                                       -----------          
          INT VALUE;                                                                                                                        
          CHAR *BUFFER;                                                 хлъ дхярпхасрхбмнцн тюикю: MALLOC.MAC                               
                                                                                                                                            
   нохяюмхе:                                                            хяонкгнбюмхе:                                                       
                                                                                                                                            
        гмювемхе опенапюгсеряъ б бняэлепхвмши бхд х пюглеыюер-                 CHAR *                                                       
   яъ б астепе. бнгбпюыюеряъ  сйюгюрекэ  мю  гюбепьючыхи  мнкэ                 MALLOC (SIZE);      /* NULL, еякх мер леярю */               
   ярпнйх.                                                                     UNSIGNED SIZE;      /* вхякн аюир */                         
                                                                                                                                            
        гюлерхл, врн пегскэрюр лнфер ашрэ онксвем  опх  онлных                 MFREE (P);                                                   
   бшгнбю  (анкее  цхайнцн)  тсмйжхх  SPRINTF  (BUFFER,  "%0",                 FREE (P);                                                    
   VALUE);                                                                     CHAR *P;            /* ашкн бшдекемн */                      
                                                                                                                                            
   ньхайх:                                                              бмсрпеммее:                                                         
                                                                                                                                            
          - щрю опнжедспю ме онпнфдюер бедсыху мскеи. еякх нмх                 MOV  SIZE, R0       ;бмсрпеммхи бшгнб                        
            менаундхлш, хяонкэгсире:                                           CALL $$ALOC         ;тсмйжхх MALLOC()                        
                SPRINTF (BUFFER, "%060", VALUE);                                                                                            
                                                                               бнгбпюр: R0 --> опнярпюмярбн (хкх 0), дпсцхе                 
                                                                                        пецхярпш янупюмемш.                                 
                                                                                                                                            
            5.70. опенапюгнбюмхе жекнцн б ьеярмюджюрхпхв-                      MOV  POINTER, R0    ;бмсрпеммхи бшгнб                        
                  мне ASCII                                                    CALL $$FREE         ;тсмйжхх FREE()                          
                                                                                                                                            
                                                                               бнгбпюр: R0 яксвюимн, дпсцхе пецхярпш янупюмемш.             
                                                  -----------                  $$LINK()            /* пюяоевюрйю яохяйю оюлърх */           
                                                  !  ITOAX  !                                                                               
                                                  -----------                  бнгбпюр: бяе пецхярпш янупюмемш                              
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: ITOAX.MAC                                 нохяюмхе:                                                           
                                                                                                                                            
   хяонкэгнбюмхе:                                                            тсмйжхъ MALLOC() бшдекъер сйюгюммне вхякн аюир,  бнгб-         
                                                                        пюыюъ сйюгюрекэ мю оепбши хг мху. еякх гюопня мю  бшдекемхе         
          CHAR *                                                        ме лнфер ашрэ сднбкербнпем, рн тсмйжхъ MALLOC()  бнгбпюыюер         
          ITOAX (VALUE, BUFFER);                                        NULL. опх менаундхлнярх напюг опнцпюллш пюяьхпъеряъ.                
          INT VALUE;                                                                                                                        
          CHAR *BUFFER;                                                      тсмйжхъ FREE() х MFREE() бнгбпюыючр астеп б  ябнандмсч         
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 85 -                                                               - 86 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
   накюярэ. мхйюйху гмювемхи ме бнгбпюыюеряъ.                             MOV  #START,-(SP)      ;оепбши юдпея (хкх онякедмхи)              
                                                                          CALL MEMDMP            ;пюяоевюрйю оюлърх                         
        ялнрпх рюйфе нохяюмхе тсмйжхи REALLOC() х SBREAK().                                                                                 
                                                                          MOV  #START,R0         ;оепбши юдпея                              
   бмсрпеммее:                                                            MOV  #END,R1           ;онякедмхи юдпея                           
                                                                          CALL $$DUMP            ;пюяоевюрйю оюлърх                         
        бяъ ябнандмюъ оюлърэ пюяопедекемю б  ябъгмшу  яохяйюу,            MOV  VALUE,R0          ;врн опенапюгнбшбюрэ                       
   йнрнпше  пюглеыючряъ  б  лнмнрнммнябъгюммшу,  мемеопепшбмшу            MOV  #BUFFER,R1        ;йсдю гюохяшбюрэ                           
   накюяръу. йюфднлс акнйс опедьеярбсер ндмн якнбн гюцнкнбйю:             CALL $$TOCT            ;опенапюгнбюмхе                            
           сйюгюрекэ_мю_якедсчыхи_акнй + ахр_гюмърнярх                                                                                      
                                                                          бнгбпюр:                                                          
        сйюгюрекэ  онйюгшбюер  мю  меоняпедярбеммн   якедсчыхи                  R0        аег хглемемхъ                                     
   акнй. онякедмхи акнй сйюгшбюер мю  оепбши.  "ахр_гюмърнярх"                  R1        -> оепбши ябнандмши аюир б астепе                 
   сярюмюбкхбюеряъ, еякх дюммше б щрнл акнйе хяонкэгсчряъ.                      R2-R5     аег хглемемхъ                                     
                                                                                                                                            
        гюлерхл, врн акнй ме наъгюм яндепфюрэ йюйхе-кхан  дюм-          нохяюмхе:                                                           
   мше. ябнандмше гнмш на'едхмъчряъ  опх  опнялнрпе  б  оепхнд                                                                              
   бшдекемхъ оюлърх.                                                         пюяоевюрйю яндепфхлнцн  пецхярпнб  х/хкх  оюлърх.  бяе         
                                                                        пецхярпш янпюмъчряъ.                                                
        ондопнцпюллю $$LINK() гюохяшбюер дюммше н  пюяопедеке-                                                                              
   мхх оюлърх б тюик STDERR. нмю ашкю мюохяюмю  дкъ  нркюдвхйю               еякх тсмйжхъ MEMDMP() бшгшбюеряъ я юпцслемрюлх пюбмшлх         
   тсмйжхх MALLOC() х йнлохкхпсеряъ он сякнбхч.  гюлерхл,  врн          мскч, пюяоевюршбюеряъ яндепфхлне ярейю.                             
   бяе пецхярпш янупюмъчряъ.                                                 гюлерхл, врн щрю опнжедспю  ме  хяонкэгсер  ахакхнрейс         
                                                                        ббндю/бшбндю "C".                                                   
   дхюцмнярхйю:                                                                                                                             
                                                                        ньхайх:                                                             
        опнцпюллю лнфер ашрэ ямърю я бшонкмемхъ, еякх б  тсмй-                                                                              
   жхч FREE() оепедюеряъ яксвюимши сйюгюрекэ, хкх  еякх  опнц-                 - йндш сякнбхи ме янупюмъчряъ;                               
   пюллю гюохяшбюер гю  цпюмхжюлх  накюярх,  гюпегепбхпнбюммни                                                                              
   тсмйжхеи MALLOC(). гюлерхл, врн рнкэйн нопедекеммше  яхрсю-                 - б RSX, щрю опнжедспю рпеасер, врнаш  реплхмюк  ашк         
   жхх опхбндър й опепшбюмхч он щрнлс йнмрпнкч.                                  мюгмювем мю кнцхвеяйхи мнлеп 1.                            
                                                                                                                                            
   ньхайх: мер.                                                                                                                             
                                                                                                                                            
                                                                                 5.73. бшбнд яннаыемхъ мю реплхмюк ноепюрнпю                
                                                                                                                                            
            5.72. пюяоевюрйю   яндепфхлнцн   оюлърх   хкх                                                                                   
                  пецхярпнб                                                                                            -----------          
                                                                                                                       !  MSG    !          
                                                                                                                       -----------          
                                                  -----------                                                                               
                                                  !  MEMDMP !           хлъ дхярпхасрхбмнцн тюикю: MSG.MAC                                  
                                                  -----------                                                                               
                                                                        хяонкэгнбюмхе:                                                      
   хлъ дхярпхасрхбмнцн тюикю: MEMDMP.MAC                                                                                                    
                                                                               MSG  (TEXT)                                                  
   хяонкэгнбюмхе:                                                              CHAR *TEXT;                                                  
                                                                                                                                            
     MEMDMP (START, END);  /* опнжедспю пюяоевюрйх оюлърх */           бмсрпеммее:                                                          
     CHAR   *START;        /* оепбне пюяоевюршбюелне */                                                                                     
     CHAR   *END;          /* онякедмее пюяоевюршбюелне */                     MOV  #TEXT, R0                                               
     REGDMP()              /* пюяоевюрйю пецхярпнб */                          CALL $$MSG                                                   
                                                                                                                                            
  бмсрпеммее:                                                           нохяюмхе:                                                           
                                                                                                                                            
     CALL REGDMP            ;пюяоевюрйю пецхярпнб                            пюяоевюршбюер яннаыемхе мю  реплхмюке  ноепюрнпю.  щрю         
                                                                        опнжедспю ме хяонкэгсер ярюмдюпрмсч ахакхнрейс. он  бнгбпю-         
     MOV  #END,-(SP)        ;онякедмхи юдпея (хкх оепбши)               ыемхх: бяе пецхярпш янупюмемш.                                      
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 87 -                                                               - 88 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
   ньхайх:                                                              ньхайх: мер.                                                        
                                                                                                                                            
          - б RSX щрю опнжедспю рпеасер,  врнаш  реплхмюк  ашк                                                                              
            мюгмювем мю кнцхвеяйхи мнлеп 1.                                                                                                 
                                                                                 5.76. опнжедспю тнплюрхпнбюммни оевюрх                     
                                                                                                                                            
                                                                                                                                            
            5.74. слмнфемхе LONG * LONG                                                                                -----------          
                                                                                                                       !  PRINTF !          
                                                                                                                       -----------          
                                                  -----------                                                                               
                                                  !  MUL$L  !           хлъ дхярпхасрхбмнцн тюикю: PRINTF.MAC                               
                                                  -----------                                                                               
                                                                        хяонкэгнбюмхе:                                                      
   хлъ дхярпхасрхбмнцн тюикю: MULL.MAC                                                                                                      
                                                                               PRINT   (FORMAT, ARG1, ... );                                
   хяонкэгнбюмхе:                                                              CHAR    *FORMAT;                                             
                                                                                                                                            
          LONG                                                                 FPRINTF (IOV, FORMAT, ARG1, ... );                           
          MUL$L (A, B);  /* LONG = LONG * LONG */                              FILE    *IOV;                                                
          LONG  A;                                                             CHAR    *FORMAT;                                             
          LONG  B;                                                                                                                          
                                                                               SPRINTF (BUFFER, FORMAT, ARG1, ... );                        
          MUL$LI (A, B); /* LONG = LONG * INT */                               CHAR    *BUFFER;                                             
          LONG  A;                                                             CHAR    *BUFFER;                                             
          INT   B;                                                                                                                          
                                                                        нохяюмхе:                                                           
   нохямхе:                                                                                                                                 
                                                                             тсмйжхъ PRINTF() опенапюгсер, тнплюрхпсер  х  оевюрюер         
        оепелмнфемхе юпцслемрнб рхою дкхммнцн жекнцн. щрю опн-          ябнх юпцслемрш онд сопюбкемхел оепбнцн  хг  мху,  опнхгбндъ         
   жедспю бшгшбюеряъ йнлохкърнпнл "C" дкъ бшвхякемхъ  опнхгбе-          бшбнд я онлныэч тсмйжхх PUTCHAR(). тсмйжхъ FPRINTF()  гюох-         
   демхъ дкхммшу жекшу.                                                 яшбюер ябнх пегскэрюрш б сйюгюммши тюик. тсмйжхъ  SPRINTF()         
                                                                        гюохяшбюер ябнх пегскэрюрш б сйюгюммши ярпнйнбши астеп.             
   ньхайх: мер.                                                                                                                             
                                                                             оепбши юпцслемр  ъбкъеряъ  гмюйнбни  ярпнйни,  йнрнпюъ         
                                                                        яндепфхр дбю рхою на'ейрнб: опнярше гмюйх,  йнрнпше  опнярн         
                                                                        йнохпсчряъ б бшундмни онрнй, х яоежхтхйюжхх опенапюгнбюмхъ,         
            5.75. времхе хг ъвеийх б RSTS/E                             йюфдюъ хг йнрнпшу нопедекъер опенапюгнбюмхе х  оевюрэ  яке-         
                                                                        дсчыецн он нвепедх юпцслемрю тсмйжхх PRINTF().                      
                                                                                                                                            
                                                  -----------                йюфдюъ яоежхтхйюжхъ опенапюгнбюмхъ ббндхряъ гмюйнл "%"         
                                                  !  PEEK   !           х якедсер гю мхл. рюл лнфер ярнърэ:                                 
                                                  -----------                                                                               
                                                                               - менаъгюрекэмши гмюй лхмся "-",  йнрнпши  сйюгшбюер         
   хлъ дхярпхасрхбмнцн тюикю: PEEK.MAC                                           кебне бшпюбмхбюмхе  опенапюгнбюммнцн  юпцслемрю  б         
                                                                                 сйюгюммнл онке;                                            
   хяонкэгнбюмхе:                                                                                                                           
                                                                               - менаъгюрекэмсч жхтпнбсч ярпнйс, нопедекъчысч ьхпх-         
          PEEK (LOCATION)                                                        мс онкъ; еякх опенапюгнбюммши юпцслемр хлеер лемэ-         
          INT  *LOCATION;                                                        ье гмюйнб, вел ьхпхмю онкъ, нм асдер днонкмем опн-         
                                                                                 аекюлх  якебю  (хкх  яопюбю,  еякх  дюм  хмдхйюрнп         
   нохяюмхе:                                                                     бшпюбмхбюмхъ он кебни цпюмхже) дн  мсфмни  ьхпхмш;         
                                                                                 еякх ьхпхмю онкъ яоежхтхжхпсеряъ йюй "*" хкх  "?",         
        времхе хг ъвеийх б лнмхрнпе RSTS/E.                                      хяонкэгсеряъ якедсчыхи юпцслемр. (гюлевюмхе:  гмюй         
                                                                                 "?" ъбкъеряъ сярюпебьхл.);                                 
        гюдювю ямхлюеряъ я бшонкмемхъ он хмярпсйжхх опепшбюмхъ                                                                              
   BPT, еякх пюанрю бедеряъ ме б RSTS/E.                                       - менаъгюрекэмши гмюй рнвйх  ".",  йнрнпши  нрдекъер         
                                                                                 ьхпхмс онкъ нр якедсчыеи жхтпнбни ярпнйх;                  
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 89 -                                                               - 90 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
          - менаъгюрекэмюъ жхтпнбюъ ярпнйю (рнвмнярэ), йнрнпюъ                   опнднкфемю ме асдер. мюопхлеп:                             
            нопедекъер вхякн гмюйнб, онъбкъчыхуяъ оняке  деяъ-                                                                              
            рхвмни рнвйх, дкъ опенапюгнбюмхи "F"  х  "E",  хкх                 BUG (ARGS)                                                   
            люйяхлюкэмне вхякн гмюйнб оевюрюелни ярпнйх.  еякх                 [                                                            
            рнвмнярэ гюдюмю йюй "*" хкх "?", хяонкэгсеряъ яке-                     ERROR ("ERROR AT %R", &ARGS);                            
            дсчыхи юпцслемр;                                                   ]                                                            
                                                                                                                                            
          - гмюй, нопедекъчыхи рхо  опхлемъелнцн  опенапюгнбю-          щрю опнжедспю лнфер ашрэ бшгбюмю якедсчыхл напюгнл:                 
            мхъ.                                                                                                                            
                                                                               BUG ("ERROR %D AT %S\N", VAL, NAME);                         
   гмюйюлх опенапюгнбюмхи х ху гмювемхел ъбкъчряъ:                                                                                          
                                                                        S                                                                   
   D                                                                           - опхмхлюелши юпцслемр ъбкъеряъ ярпнйни  (сйюгюрекел         
          - деяърхвмне ян гмюйнл;                                                мю гмюй) х гмюйх хг ярпнйх оевюрючряъ дн реу  онп,         
                                                                                 онйю ме бярперхряъ гмюй мнкэ хкх онйю  вхякн  гмю-         
   U                                                                             йнб, сйюгюммне рнвмнярэч  ме  хявепоюеряъ;  ндмюйн         
          - аеггмюйнбне деяърхвмне;                                              еякх сйюгюмю рнвмнярэ 0 хкх рнвмнярэ  ме  сйюгюмю,         
                                                                                 оевюрючряъ бяе гмюйх ярпнйх дн мскъ.                       
   O                                                                                                                                        
          - бняэлепхвмне;                                                    еякх оняке гмюйю "%" онъбкъеряъ мепюяонгмюбюелши  яхл-         
                                                                        бнк, рн щрнр гмюй оевюрюеряъ.  р.е.  гмюй  "%"  лнфер  ашрэ         
   X                                                                    мюоевюрюм опх онлных ярпнйх "%%". б  яксвюе  меясыеярбсчыеи         
          - ьеярмюджюрхпхвмне, 10-15 опедярюбкъчряъ йюй A-F.            хкх люкни ьхпхмш онкъ опнхгбндхряъ сяевемхе онкъ;  ононкме-         
                                                                        мхе хлеер леярн, рнкэйн еякх сйюгюммюъ ьхпхмю онкъ  опебня-         
   жекши юпцслемр, опенапюгселши  б  деяърхвмне,  бняэлхпхвмне          ундхр тюйрхвеяйсч. гмюйх, цемепхпселни  тсмйжхеи  PRINTF(),         
   хкх ьеярмюджюрхпхвмне опедярюбкемхе яннрберярбеммн.  кчанлс          оевюрючряъ опх онлных тсмйжхх PUTCHAR().                            
   хг гмюйнб опенапюгнбюмхъ лнфер  опедьеярбнбюрэ  асйбю  "L",                                                                              
   йюй "яхцмюк" дкхммнцн  жекнцн.  гюлерхл,  врн  хяонкэгселюъ          ньхайх:                                                             
   UNIX дкъ опедярюбкемхъ дкхммнцн юпцслемрю анкэьюъ асйбю  ме                                                                              
   онддепфхбюеряъ;                                                             - опенапюгнбюмхъ "E", "F" х "G" еые ме мюохяюмш;             
                                                                                                                                            
   F                                                                           - %R лнфер ашрэ ме оепемняхлшл.                              
          - юпцслемр опенапюгсеряъ б деяърхвмне  опедярюбкемхе                                                                              
            бхдю "[-]DDD.DD", цде вхякн гмюйнб "D" оняке деяъ-                                                                              
            рхвмни рнвйх пюбмн рнвмнярх, сйюгюммни  дкъ  юпцс-                                                                              
            лемрю. еякх рнвмнярэ ме сйюгюмю,  дюеряъ  6  жхтп.                   5.77. оевюрэ дюммшу опнтхкхпнбюмхъ                         
            еякх сйюгюмю рнвмнярэ 0, рн мхйюйху жхтп  х  деяъ-                                                                              
            рхвмни рнвйх ме оевюрюеряъ;                                                                                                     
                                                                                                                       -----------          
   E                                                                                                                   !  PROFIL !          
          - юпцслемр я окюбючыеи гюоърни хкх дбнимни  рнвмнярх                                                         -----------          
            опенапюгсеряъ б бхд "[-]D.DDDE+-DD", цде опхясряр-                                                                              
            бсер ндмю жхтпю дн деяърхвмни рнвйх, ю вхякн  гмю-          хлъ дхярпхасрхбмнцн тюикю: PROFIL.MAC                               
            йнб оняке  рнвйх  пюбмн  рнвмнярх,  сйюгюммни  дкъ                                                                              
            юпцслемрю; еякх рнвмнярэ ме сйюгюмю,  бшбндхряъ  6          хяонкэгнбюмхе:                                                      
            жхтп;                                                                                                                           
                                                                               $$PROF ();                                                   
   G                                                                                                                                        
          - вхякн я окюбючыеи гюоърни б ндмнл хг бхднб;                        EXTERN INT $$PRNL;                                           
                                                                                                                                            
   C                                                                           EXTERN CHAR *$$PFIL;                                         
          - оевюрюеряъ гмюй-юпцслемр. (гюлерхл, врн "LC"  опх-                                                                              
            мхлюер юпцслемр рхою дкхммне жекне.)                        нохяюмхе:                                                           
                                                                                                                                            
   R                                                                         тсмйжхъ $$PROF() бшгшбюеряъ б йнмже пюанрш  опнцпюллш,         
          - "сдюкеммши  тнплюр".  якедсчыхи  юпцслемр  тсмйжхх          еякх лндскх опнцпюллш йнлохкхпнбюкхяэ ян япедярбюлх  опнтх-         
            PRINTF() ъбкъеряъ тнплюрнл.  гюлерхл,  врн  нм  ме          кхпнбюмхъ.                                                          
            ъбкъеряъ ондопнцпюллни. напюанрйю рейсыецн тнплюрю                                                                              
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 91 -                                                               - 92 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
        опнтхкэ бшонкмемхъ гюохяшбюеряъ б  тюик  "PROFIL.OUT".          ньхайх: мер.                                                        
   щрн нопедекъеряъ цкнаюкэмшл яхлбнкнл $$PFIL.                                                                                             
                                                                                                                                            
        хглемемхел гмювемхъ $$PRNL опнцпюллю  лнфер  сопюбкърэ                                                                              
   вхякнл рнвей опнтхкхпнбюмхъ, нохяшбюелшу б  йюфдни  ярпнйе.                   5.79. бшбеярх ярпнйс б тюик                                
   он слнквюмхч охьеряъ он 4 рнвйх мю ярпнйс.  хглемъъ  $$PRNL                                                                              
   мю N,лнфмн бшбндхрэ он N рнвей мю ярпнйе, сопныюъ онякедсч-                                                                              
   ысч напюанрйс (янпрхпнбйс) дюммшу. мюопхлеп:                                                                        -----------          
                                                                                                                       !  PUTS   !          
          $$PRNL=0;                                                                                                    -----------          
                                                                                                                                            
   гюохяшбюер йюфдсч рнвйс мю нрдекэмни ярпнйе.                         хлъ дхярпхасрхбмнцн тюикю: PUTS.MAC                                 
                                                                                                                                            
        якедсчыхи опхлеп онйюгшбюер, йюй хглемхрэ хлъ бшундмн-          хяонкэгнбюмхе:                                                      
   цн тюикю:                                                                                                                                
                                                                               PUTS (S);                                                    
          EXTERN CHAR *$$PFIL;                                                 CHAR  *S;                                                    
          . . .                                                                                                                             
          $$PFIL:="TI:";                                                       FPUTS (S, IOP);                                              
                                                                               CHAR  *S;                                                    
   дюммше гюохяшбючряъ я хяонкэгнбюмхел тнплюрмни ярпнйх  "%8S                 FILE  *IOP;                                                  
   %6U". еякх анкее вел ндмю  рнвйю  гюохяшбюеряъ  мю  ярпнйе,                                                                              
   якедсчыхе рнвйх асдср нрдекърэяъ ндмхл опнаекнл.                            FPUTSS (S, IOP);                                             
                                                                               CHAR  *S;                                                    
        гюлерхл, врн опх гюохях дюммшу он ндмни рнвйе мю ярпн-                 FILE  *IOP;                                                  
   йс пегскэрюр опнтхкхпнбюмхъ лнфер ашрэ  кецве  нрянпрхпнбюм                                                                              
   он хлемюл тсмйжхи хкх он явервхйюл вюярнрш.                          нохяюмхе:                                                           
                                                                                                                                            
   ньхайх: мер.                                                              тсмйжхъ PUTS() гюохяшбюер ярпнйс б ярюмдюпрмши  бшунд-         
                                                                        мни тюик. й щрни ярпнйе, оняке ее йнмжю,  днаюбкъеряъ  гмюй         
                                                                        мнбни ярпнйх.                                                       
                                                                                                                                            
                                                                             тсмйжхъ FPUTS() гюохяшбюер ярпнйс  б  сйюгюммши  тюик.         
            5.78. бшбеярх ндхм гмюй б тюик                              гмюй мнбни ярпнйх ме днаюбкъеряъ.                                   
                                                                                                                                            
                                                                             тсмйжхъ FPUTSS() гюохяшбюер ярпнйс б  сйюгюммши  тюик.         
                                                  -----------           гмюй мнбни ярпнйх днаюбкъеряъ.                                      
                                                  !  PUTC   !                                                                               
                                                  -----------           ньхайх: мер.                                                        
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: PUTCHA.MAC                                                                                                    
                                                                                                                                            
   хяонкэгнбюмхе:                                                                5.80. бшбеярх дбнхвмне жекне б тюик                        
                                                                                                                                            
          PUTCHAR (C);                                                                                                                      
          CHAR    C;                                                                                                   -----------          
                                                                                                                       !  PUTW   !          
          PUTC    (C, IOP);                                                                                            -----------          
          CHAR    C;                                                                                                                        
          FILE    *IOP;                                                 хлъ дхярпхасрхбмнцн тюикю: PUTW.MAC                                 
                                                                                                                                            
   нохяюмхе:                                                            хяонкэгнбюмхе:                                                      
                                                                                                                                            
        тсмйжхъ PUTCHAR() гюохяшбюер ндхм гмюй  б  ярюмдюпрмши                 PUTW (WORD, IOP);                                            
   бшундмни тюик. тсмйжхъ PUTC() гюохяшбюер ндхм гмюй  б  сйю-                 INT  WORD;                                                   
   гюммши бшундмни тюик.                                                       FILE *IOP;                                                   
                                                                                                                                            
        нашвмн бнгбпюыюеряъ гмюй, EOF бнгбпюыюеряъ опх ньхайе.          нохяюмхе:                                                           
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 93 -                                                               - 94 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
        тсмйжхъ PUTW() гюохяшбюер ндмн якнбн б сйюгюммши тюик.                 SEED = (69069 * SEED + 1);                                   
   нмю бнгбпюыюер EOF опх ньхайе х 0 опх  сяоеьмнл  гюбепьемхх                 TEMP = (SEED >> 8) & 32767;                                  
   ноепюжхх.                                                                   RETURN ((MAX == 0)? TEMP : TEMP % MAX);                      
                                                                                                                                            
   ньхайх: мер.                                                              юкцнпхрл аюгхпсеряъ мю  тсмйжхх  MTH$RANDOM  хг  наыеи         
                                                                        ахакхнрейх  хяонкмъчыеи  яхярелш  VMS.  оняйнкэйс   тсмйжхъ         
                                                                        RAND() бнгбпюыюер жекше вхякю, хяонкэгсеряъ япедмее цемепх-         
                                                                        пнбюммне вхякн.                                                     
            5.81. опенапюгнбюмхе RADIX-50 б ASCII                                                                                           
                                                                             гюлерхл, врн юкцнпхрл яйкнмем й меяксвюимшл онякеднбю-         
                                                                        рекэмняръл вхяек, йнцдю опхмхлючряъ бн  бмхлюмхе  якедсчыхе         
                                                  -----------           ояебдняксвюимше вхякю.                                              
                                                  !  R50TOA !                                                                               
                                                  -----------           ньхайх: мер.                                                        
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: R50TOA.MAC                                                                                                    
                                                                                                                                            
   хяонкэгнбюмхе:                                                                                                                           
                                                                                 5.83. оепепюяопедекхрэ оюлърэ                              
          R50TOA (BUFF, R5VEC, R5CNT);                                                                                                      
          CHAR *BUFF;  /* бшундмни рейярнбни астеп */                                                                                       
          INT  *R5VEC; /* бундмни астеп RADIX-50 */                                                                    ***********          
          INT  R5CNT;  /* вхякн якнб RADIX-50 */                                                                       * REALLOC *          
                                                                                                                       ***********          
   нохяюмхе:                                                                                                                                
                                                                        хлъ дхярпхасрхбмнцн тюикю: REALLO.MAC                               
        опенапюгсеряъ R5CNT якнб дюммшу б йнд RADIX-50 б  йнде                                                                              
   ASCII. бяе асйбш асдср анкэьхлх кюрхмяйхлх. бшундмни  астеп          хяонкэгнбюмхе:                                                      
   ме асдер днонкмем гюбепьючыхл мскел:  онкъ,  ме  яндепфюыхе                                                                              
   опнаекш, ме ондюбкъчряъ.                                             CHAR *                                                              
                                                                        REALLOC(BUFF, SIZE);                                                
   ньхайх: мер.                                                         CHAR            *BUFF;  /* астеп оняке MALLOC() */                  
                                                                        UNSIGNED        SIZE;   /* мнбши пюглеп дкъ BUFF*/                  
                                                                                                                                            
                                                                        нохяюмхе:                                                           
            5.82. цемепюрнп яксвюимшу вхяек                                                                                                 
                                                                             REALLOC() хглемъер пюглеп акнйю, мю йнрнпши  сйюгшбюер         
                                                                        BUFF, бнгбпюыюъ сйюгюрекэ акнйю  (бнглнфмн  оепелеыеммнцн).         
                                                  -----------           яндепфхлне акнйю оюлърх асдер аег хглемемхъ дкъ лхмхлюкэмн-         
                                                  !  RAND   !           цн хг мнбнцн х ярюпнцн пюглепнб.                                    
                                                  -----------                                                                               
                                                                             REALLOC() рюйфе пюанрюер, еякх BUFF сйюгшбюер мю акнй,         
   хлъ дхярпхасрхбмнцн тюикю: RAND.MAC                                  пюмее нябнанфдеммши оняке напюыемхъ й  MALLOC(),  REALLOC()         
                                                                        хкх  CALLOC().  рюйхл  напюгнл  онякеднбюрекэмнярэ  бшгнбнб         
   хяонкэгнбюмхе:                                                       FREE(), MALLOC() х REALLOC() онгбнкъер хяякеднбюрэ  ярпюре-         
                                                                        цхч бшдекемхъ оюлърх он MALLOC() дкъ жекеи ее щйнмнлхх.             
          RAND (MAX)                                                                                                                        
          INT  MAX;                                                          ялнрпхре рюйфе нохяюмхе MALLOC(), CALLOC() х SBREAK().         
          EXTERN LONG SEED; /* гюрпюбйю яксвюимнцн вхякю */                                                                                 
                                                                        дхюцмнярхйю:                                                        
   нохяюмхе:                                                                                                                                
                                                                             опнцпюллю асдер гюбепьемю, еякх BUFF ме ъбкъеряъ юдпе-         
        цемепхпсчряъ ояебдняксвюимше  вхякю.  еякх  MAX  пюбмн          янл астепю, бшдекеммнцн я онлныэч MALLOC() хкх CALLOC().            
   мскч, бнгбпюыюеряъ вхякн б опедекюу 0..32767. еякх  MAX  ме                                                                              
   пюбмн мскч, бнгбпюыюеряъ гмювемхе MOD(NUMBER,MAX).                   ньханй: мер.                                                        
                                                                                                                                            
   юкцнпхрл:                                                                                                                                
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 95 -                                                               - 96 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
            5.84. бепмсрэяъ б мювюкн тюикю дкъ онбрнпмнцн                    гюонлхмюер рейсыее бпелъ дмъ б астепе. тнплюр  янблея-         
                  времхъ                                                рхл я гюопнянл GTIM$ б яхяреле RSX11-M.                             
                                                                                                                                            
                                                                        ньханй: мер.                                                        
                                                   **********                                                                               
                                                   * REWIND *                                                                               
                                                   **********                                                                               
                                                                                 5.86. бшдекемхе кнйюкэмни оюлърх                           
   хлъ дхярпхасрхбмнцн тюикю: REWIND.MAC                                                                                                    
                                                                                                                                            
   хяонкэгнбюмхе:                                                                                                       **********          
                                                                                                                        * SALLOC *          
   REWIND(IOP);                                                                                                         **********          
   FILE            *IOP;                                                                                                                    
                                                                        хлъ дхярпхасрхбмнцн тюикю: SALLOC.MAC                               
   нохяюмхе:                                                                                                                                
                                                                        хяонкэгнбюмхе:                                                      
        бшонкмъер оепеунд мю мювюкн тюикю. бнгбпюыюер -1, еякх                                                                              
   ньхайю, б опнрхбмнл яксвюе - 0.                                      CHAR *                                                              
                                                                        SALLOC(N);              /*   NULL еякх мер леярю*/                  
        мю RT11, еякх тюик ашк нрйпшр дкъ бшбндю, рн нм гюйпш-                                                                              
   бюеряъ х онбрнпмн нрйпшбюеряъ дкъ времхъ.                            нохяюмхе:                                                           
                                                                                                                                            
   дхюцмнярхйю:                                                              бшдекъер рпеаселне вхякн аюирнб мю  ярейе  хяонкмъчыеи         
                                                                        яхярелш, бнгбпюыюъ сйюгюрекэ  мю  оепбши  бшдекеммши  аюир.         
        б яхяреле  RT11  опнхяундхр  гюбепьемхе  опнцпюллш  он          оюлърэ  асдер  юбрнлюрхвеяйх  бнгбпюыемю  оняке  гюбепьемхъ         
   ньхайе, еякх хлъ тюикю ме лнфер ашрэ напюанрюмн.  еякх  хлъ          тсмйжхх, бшгбюбьеи SALLOC().                                        
   тюикю ашкн гюонлмемн тсмйжхеи FOPEN(), рн щрн нгмювюер, врн                                                                              
   бнглнфмн опнцпюллю хяонпрхкю дюммше б оюлърх.                             гюлерэре, врн оюлърэ, бшдекеммюъ онднамшл  напюгнл  ме         
                                                                        лнфер ашрэ ъбмн бнгбпюыемю.                                         
   ньханй: мер.                                                                                                                             
                                                                             тсмйжхъ SALLOC() бнгбпюыюер NULL, еякх бшдекемхе  рпе-         
                                                                        аселни оюлърх опхбедер й рнлс, врн ярей хяонкмъчыеи яхярелш         
                                                                        асдер мхфе 1000 бняэлепхвмнцн.                                      
            5.85. опенапюгнбюмхе дюрш х бпелемх                                                                                             
                                                                        дхюцмнярхйю:                                                        
                                                                                                                                            
                                                    *********                ньханй: мер.                                                   
                                                    * RTIME *                                                                               
                                                    *********                                                                               
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: RTIME.MAC                                          5.87. бшдекхрэ оюлърэ ноепюжхнммни яхярелш                 
                                                                                                                                            
   хяонкэгнбюмхе:                                                                                                                           
                                                                                                                        **********          
   RTIME(BUFFER);                                                                                                       * SBREAK *          
   STRUCT TIME [                                                                                                        **********          
           INT     YEAR;   /* G.TIYR  цнд - 1900   */                                                                                       
           INT     MONTH;  /* G.TIMO  ъмб. = 1     */                   хлъ дхярпхасрхбмнцн тюикю: SBREAK.MAC                               
           INT     DAY;    /* G.TIDA               */                                                                                       
           INT     HOUR;   /* G.TIHR  00 .. 23     */                   хяонкэгнбюмхе:                                                      
           INT     MINUTE; /* G.TIMI  00 .. 59     */                                                                                       
           INT     SECOND; /* G.TISC  00 .. 59     */                   CHAR *                                                              
           INT     TICK;   /* G.TICT  00 .. TSEC-1 */                   SBREAK(AMOUNT);                                                     
           INT     TSEC;   /* G.TICP  рхйх/яейсмдш */                   INT             AMOUNT;                                             
   ] BUFFER;                                                                                                                                
                                                                        нохяюмхе:                                                           
   нохяюмхе:                                                                                                                                
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 97 -                                                               - 98 -                                    
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
        SBREAK() бшдекъер сйюгюммне йнкхвеярбн оюлърх б ноепю-          бшу дюммшу:                                                         
   жхнммни  яхяреле.  пюяопедекемхе  оюлърх  мняхр  онярнъммши                                                                              
   уюпюйреп.                                                            ' '                                                                 
                                                                               - гмюйх опнаекнб, рюаскъжхи хкх  оепебндш  мю  мнбсч         
   дхюцмнярхйю:                                                                  ярпнйс хцмнпхпсчряъ б ярпнйюу тнплюрю; дкъ бшдеке-         
                                                                                 мхъ опносяйю якедсер хяонкэгнбюрэ "%[ \T\N]";              
        бнгбпюыюеряъ NULL, еякх рпеаселюъ оюлърэ  нрясрярбсер.                                                                              
   ме ясыеярбсер бнгбпюрю он "лемэьелс" пюглепс оюлърх.                 X                                                                   
                                                                               - нашвмши гмюй (ме %) днкфем янбоюярэ  ян  якедсчыхл         
   ньханй: мер.                                                                  бундмшл гмюйнл;                                            
                                                                                                                                            
   бмсрпеммее:                                                          %                                                                   
                                                                               - яоежхтхйюжхх опенапюгнбюмхъ янярнър хг "%", менаъ-         
        тсмйжхъ SBREAK() ме лндхтхжхпсер ябни юпцслемр.                          гюрекэмнцн гмюйю "*"  (дкъ  ондюбкемхъ  опхябюхбю-         
                                                                                 мхъ), менаъгюрекэмнцн сйюгюмхъ люйяхлюкэмни ьхпхмш         
                                                                                 онкъ х яоежхтхйюрнпю опенапюгнбюмхъ.                       
                                                                                                                                            
            5.88. тнплюрхпнбюммне опенапюгнбюмхе опх ббн-                    еякх ме нрлемемн опхябюхбюмхе тнплюрмшл  лндхтхйюрнпнл         
                  де                                                    "*", рн якедсчыее онке опенапюгсеряъ х гюонлхмюеряъ б оепе-         
                                                                        леммни,  мю  йнрнпсч  сйюгшбюер  яннрберярбсчыхи  юпцслемр.         
                                                                        бундмне онке нопедекъеряъ йюй ярпнйю гмюйнб, ме  яндепфюыху         
                                                    *********           опнаекш, дн леярю намюпсфемхъ оепбнцн  меопхелкелнцн  гмюйю         
                                                    * SCANF *           хкх он хявепоюмхч ьхпхмш онкъ (еякх нмн сйюгюмн).                   
                                                    *********                                                                               
                                                                             дносярхлн хяонкэгнбюрэ якедсчыхе гмюйх опенапюгнбюмхъ:         
   хлъ дхярпхасрхбмнцн тюикю: SCANF.MAC                                                                                                     
                                                                        %                                                                   
   хяонкэгнбюмхе:                                                              - едхмхвмши гмюй "%" нфхдюеряъ мю ббнде,  опхябюхбю-         
                                                                                 мхе ме бшонкмъеряъ;                                        
   SCANF(FMT, POINTER(S));                                                                                                                  
   CHAR            *FMT;   /* ярпнйю тнплюрю       */                   D, O, X                                                             
                                                                               - жекне сйюгюммнцн йкюяяю (деяърхвмне, бняэлепхвмне,         
   FSCANF(FD, FMT, POINTER(S));                                                  ьеярмюджюрхпхвмне) нфхдюеряъ дкъ ббндю; яннрберяр-         
   FILE            *FD;    /* сйюгюрекэ бундм.тюикю*/                            бсчыхи юпцслемр днкфем ашрэ сйюгюрекел  мю  жекне;         
   CHAR            *FMT;   /* ярпнйю тнплюрю       */                            еякх яоежхтхйюрнп тнплюрю сйюгюм анкэьхлх  асйбюлх         
                                                                                 хкх елс опедьеярбсер "L", рн асдер гюонлмемн дкхм-         
   SSCANF(BUF, FMT, POINTER(S));                                                 мне жекне вхякн; мюопхлеп, "%LD"  хдемрхвмн  "%D";         
   CHAR            *BUF;   /* рейярнбши астеп ббндю*/                            бедсыхе опнаекш асдср хцмнпхпнбюрэяъ; осярне  онке         
   CHAR            *FMT;   /* ярпнйю тнплюрю       */                            ме  опенапюгсеряъ;  SCANF()   бнгбпюыюер   явервхй         
                                                                                 опенапюгнбюммшу  онкеи,  мн  ме  онйюгшбюер  вхякн         
   нохяюмхе:                                                                     онкеи, йнрнпше ашкх хцмнпхпнбюмш;                          
                                                                                                                                            
        хяонкэгсъ ярпнйс тнплюрю, дюммше тсмйжхх  напюаюршбючр          S                                                                   
   бундмни тюик (хкх дюммши рейярнбши тюик), гюонлхмюъ пегскэ-                 - нфхдюеряъ  гмюйнбюъ  ярпнйю;  бундмне  онке  асдер         
   рюр б юпцслемрюу-сйюгюрекъу. рпх опнцпюллш нркхвючряъ  яке-                   гюйнмвемн он опнаекс, рюаскъжхх  хкх  оепеундс  мю         
   дсчыхл напюгнл:                                                               мнбсч ярпнйс; яннрберярбсчыхи юпцслемр днкфем сйю-         
                                                                                 гшбюрэ мю астеп днярюрнвмнцн пюглепю дкъ  пюглеые-         
   SCANF                                                                         мхъ рейярю х гюбепьючыецн  мскъ;  бедсыхе  опнаекш         
          - явхршбюер хг ярюмдюпрмнцн бундмнцн тюикю;                            асдср хцмнпхпнбюрэяъ;                                      
                                                                                                                                            
   FSCANF                                                               C                                                                   
          - явхршбюер хг сйюгюммнцн тюикю;                                     - явхршбюеряъ ндхм гмюй; опедьеярбсчыхе  опнаекш  ме         
                                                                                 ондюбкъчряъ -- дкъ рнцн, врнаш  явхрюрэ  якедсчыхи         
   SSCANF                                                                        гмюй, ме ъбкъчыхияъ опнаекнл, менаундхлн хяонкэгн-         
          - явхршбюер хг рейярнбнцн астепю.                                      бюрэ "%1S"; еякх сйюгюмю  ьхпхмю  онкъ,  рн  яннр-         
                                                                                 берярбсчыхи юпцслемр ъбкъеряъ сйюгюрекел мю бейрнп         
        ярпнйю тнплюрхпнбюмхъ лнфер яндепфюрэ сопюбкъчыхе гмю-                   гмюйнб х сйюгюммне вхякн гмюйнб явхршбюеряъ;               
   йх дкъ сопюбкемхъ опнжеяянл опенапюгнбюмхъ бундмшу  рейярн-                                                                              
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 99 -                                                               - 100 -                                   
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
   E, F                                                                          5.89. опхлхрхбш щйпюммнцн ббндю/бшбндю                     
          - вхякн я окюбючыеи рнвйни опенапюгсеряъ  х  гюонлх-                                                                              
            мюеряъ; еякх яоежхтхйюрнп тнплюрю сйюгюм  анкэьхлх                                                                              
            асйбюлх хкх елс опедьеярбсер "L", рн асдер  гюонл-                                                          **********          
            мемн вхякн я окюбючыеи  рнвйни  дбнимни  рнвмнярх;                                                          * SCREEN *          
            тнплюр вхякю я окюбючыеи гюоърни рюйни фе, йюй х б                                                          **********          
            ъгшйе "я": онякеднбюрекэмнярэ жхтп, оепед  йнрнпни                                                                              
            лнфер  мюундхрэяъ  менаъгюрекэмши  гмюй,  бнглнфмн          хлъ дхярпхасрхбмнцн тюикю: SCREEN.MAC                               
            яндепфюыюъ деяърхвмсч рнвйс, гю йнрнпни лнфер яке-                                                                              
            днбюрэ менаъгюрекэмне  онке  щйяонмемрш;  менаъгю-          хяонкэгнбюмхе:                                                      
            рекэмне онке щйяонмемрш янярнхр хг "E", гю йнрнпни                                                                              
            якедсер жекне вхякн, бнглнфмн ян гмюйнл;                    SCDOWN()                /* ядбхмсрэ щйпюм бмхг  */                  
                                                                                                                                            
   [ ]                                                                  SCERLN(LINE, COLUMN)    /* нвхярхрэ дн йнмжю ярпнйх*/               
          - ярпнйю, ме  нцпюмхвеммюъ  опнаекюлх;  онйю  оепбши          INT             LINE;   /* мнлеп ярпнйх         */                  
            гмюй ме "^",  тнплюр  ярпнхр  яохянй  онярсокемхъ:          INT             COLUMN; /* мнлеп йнкнмйх        */                  
            бундмшл онкел ъбкъчряъ бяе гмюйх, онйю  ме  бярпе-                                                                              
            рхряъ оепбши гмюй, ме бундъыхи бн лмнфеярбн,  гюй-          SCERPG(LINE, COLUMN)    /* нвхярхрэ дн йнмжю щйпюмю*/               
            кчвеммне б йбюдпюрмше яйнайх; гюлерэре, врн  бедс-          INT             LINE;   /* мнлеп ярпнйх         */                  
            ыхе опнаекш ме хцмнпхпсчряъ; еякх оепбши гмюй оня-          INT             COLUMN; /* мнлеп йнкнмйх        */                  
            ке кебни яйнайх ъбкъеряъ "^", рн тнплюр нопедекъер                                                                              
            яохянй нярюмнбйх: бундмшл онкел ъбкъчряъ бяе  гмю-                                                                              
            йх, онйю ме бярперхряъ оепбши  гмюй,  сйюгюммши  б          CHAR *                                                              
            ярпнйе, гюйкчвеммни  б  йбюдпюрмше  яйнайх;  яннр-          SCGET(BUFF, SIZE, TEXT) /* вхрюрэ я ондяйюгйни  */                  
            берярбсчыхи юпцслемр сйюгшбюер мю гмюйнбши бейрнп;          CHAR            *BUFF;  /* бнгбпюыюелши рейяр   */                  
            пегскэрюр асдер гюбепьюрэяъ мскебшл аюирнл.                 INT             SIZE;   /* пюглеп астепю        */                  
                                                                        CHAR            *TEXT;  /* менаъгюр. ондяйюгйю  */                  
        SCANF() бнгбпюыюер вхякн сяоеьмн напюанрюммшу х  опхя-                                                                              
   бнеммшу бундмшу щкелемрнб. еякх ашк днярхцмср йнмеж  ббндю,                                                                              
   рн бнгбпюыюеряъ EOF (-1). мюопхлеп:                                  INT                                                                 
                                                                        SCLMARGIN(LMARG)        /* сярюмюбхрэ кебсч цп. */                  
   MAIN()                                                               INT             LMARG;  /* мнбюъ кебюъ цпюмхжю  */                  
   [                                                                                                                                        
           REGISTER INT    C;                                                                                                               
           INT             I;                                           SCOUT(LINE, COLUMN, TEXT)                                           
           CHAR            TEXT[10];                                                            /* бшбеярх рейяр мю щйпюм*/                 
                                                                        INT             LINE;   /* мнлеп ярпнйх         */                  
           C = SCANF("%D%9S", &I, &TEXT);                               INT             COLUMN; /* мнлеп йнкнмйх        */                  
           PRINTF("I = %D, TEXT = %S\N",                                CHAR            *TEXT;  /* рейяр дкъ бшбндю     */                  
                   I, TEXT);                                                                                                                
   ]                                                                                                                                        
                                                                        SCPUT(OLDBF)            /* яапняхрэ астепмши пефхл*/                
        еякх бундмюъ ярпнйю яндепфхр "150 FOOBAR", рн опнцпюл-          CHAR            *OLDBF; /* опефмхи астеп        */                  
   лю мюоевюрюер:                                                                                                                           
                                                                                                                                            
           I = 150, TEXT = FOOBAR                                       INT                                                                 
                                                                        SCSET(NEWBF, SIZE, OLD) /* сярюмнбхрэ аст.пефхл */                  
   дхюцмнярхйю:                                                         CHAR            *NEWBF; /* мнбши астеп          */                  
                                                                        CHAR            SIZE;   /* пюглеп мнбнцн астепю */                  
        SCANF() бнгбпюыюер  -1,  еякх  намюпсфем  йнмеж  тюикю          CHAR            **OLD;  /* янупюмеммши опефм.аст.*/                 
   (йнмеж ярпнйх) х мхйюйхе дюммше ме ашкх гюонлмемш.  тсмйжхъ                                                                              
   бнгбпюыюер -2, еякх  намюпсфем  бнглнфмн  мебепмши  тнплюр,                                                                              
   рюйни йюй "%".                                                       INT                                                                 
                                                                        SCSETTYPE(TYPE)         /* сярюмнбхрэ рхо реплхмюкю*/               
   ньхайх:                                                              INT             TYPE;   /* рхо реплхмюкю        */                  
                                                                                                                                            
          - мер окюбючыеи рнвйх  --  оношрйю  ее  хяонкэгнбюрэ                                                                              
            опхбедер й гюбепьемхч опнцпюллш.                            INT                                                                 
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 101 -                                                              - 102 -                                   
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
   SCTYPE()                /* онксвхрэ рхо реплхмюкю*/                       оепбши бшгнб кчани опнцпюллш нопедекъер рхо реплхмюкю.         
                                                                        гюлерэре, врн мю нпхцхмюкэмни яхяреле RT11, еякх  опнцпюллю         
                                                                        пеьюер, врн реплхмюк лнфер ашрэ щйпюммнцн рхою, рн нмю онь-         
   нохяюмхе:                                                            кер гюопня "хдемрхтхйюжхх" реплхмюкю "Z" дкъ нопедеке-         
                                                                        мхъ, ъбкъеряъ кх реплхмюк VT52 хкх  VT100.  еякх  опнцпюллю         
        гю нямнбс опхлхрхбнб бгърш "мегюбхяхлше  нр  реплхмюкю          пюанрш я щйпюмнл пеьюер, врн реплхмюк ме ъбкъеряъ щйпюммшл,         
   щйпюммше опнжедспш" хг хяонкмъчыеи ахакхнрейх VAX/VMS.  щрх          рн бяе ноепюжхх  он  оепелеыемхч  йспянпю  хцмнпхпсчряъ,  ю         
   опнжедспш наеяоевхбючр щттейрхбмши, ноепюжхнммн-мегюбхяхлши          рейяр бшбндхряъ мю "STDERR".                                        
   хмрептеия дкъ бхденреплхмюкнб (тхплш DIGITAL). нмх опюбхкэ-                                                                              
   мн пюанрючр я реплхмюкюлх VT52 х VT100 (пефхл ANSI) х мхве-               щйпюммши бшбнд бшонкмъеряъ мю сярпниярбн "STDERR"  (он         
   цн ме декючр ярпюьмнцн, еякх реплхмюк ме ъбкъеряъ бхденреп-          слнквюмхч йнмянкэмши реплхмюк). ббнд асдер нясыеярбкърэяъ я         
   лхмюкнл.                                                             сярпниярбю "STDIN". дкъ бшбндю мю  реплхмюк  щрх  опнцпюллш         
                                                                        бшгшбючр  япедярбю  ноепюжхнммни  яхярелш  меоняпедярбеммн,         
        гюлерэре, врн опнжедспш йнппейрмн  пюанрючр  рнкэйн  я          наундъ "ярюмдюпрмсч" ахакхнрейс б/б. щрн нгмювюер, врн тнп-         
   реплхмюкнл, ъбкъчыхляъ онкэгнбюрекэяйни йнмянкэч (STDERR).           люрхпнбюмхе бшбндю днкфмн хяонкэгнбюрэ SPRINTF() дкъ тнплю-         
                                                                        рхпнбюмхъ онкэгнбюрекэяйнцн  астепю,  йнрнпши  оняке  щрнцн         
        опх нохяюмхх хяонкэгсчряъ якедсчыхе нопедекемхъ:                бшбндхряъ я хяонкэгнбюмхел SCOUT().                                 
                                                                                                                                            
   LINE                                                                      нопедекемш якедсчыхе опнцпюллш:                                
          - мнлеп ярпнйх мю щйпюме,  мю  йнрнпсч  днкфем  ашрэ                                                                              
            оепелеыем йспянп; яюлюъ бепумъъ ярпнйю  мю  щйпюме                  SCDOWN()                                                    
            хлеер мнлеп 1; еякх мнлеп ярпнйх лемэье хкх  пюбем                                                                              
            мскч, рн йспянп ме оепелеыюеряъ;                            йспянп оепелеыюеряъ мю ндмс ярпнйс ббепу  он  щйпюмс.  еякх         
                                                                        йспянп сфе мюундхряъ б бепумеи ярпнйе щйпюмю, рн бяе ярпнйх         
   COLUMN                                                               ядбхцючряъ мю ндмс ярпнйс бмхг, бепумъъ  ярпнйю  ярюмнбхряъ         
          - мнлеп йнкнмйх, мю йнрнпсч  днкфем  ашрэ  оепелеыем          осярни, ю дюммше,  йнрнпше  мюундхкхяэ  мю  мхфмеи  ярпнйе,         
            йспянп; дюммне гмювемхе асдер  ъбкърэяъ  ялеыемхел          репъчряъ (VMS LIB$DOWN_SCROLL).                                     
            нр гмювемхъ кебни цпюмхжш (еякх нмю  сярюмнбкемю);                                                                              
            он слнквюмхч кебюъ цпюмхжю сярюмнбкемю  б  йнкнмйе                  SCERLN(LINE, COLUMN)                                        
            мнлеп ндхм; еякх мнлеп йнкнмйх (оняке сверю ялеые-                                                                              
            мхъ) асдер лемэье хкх пюбем  мскч,  рн  йспянп  ме          нвхыюер щйпюм нр сйюгюммни (хкх рейсыеи) онгхжхх йспянпю дн         
            оепелеыюеряъ;                                               йнмжю рейсыеи ярпнйх (VMS LIB$ERASE_LINE).                          
                                                                                                                                            
   TEXT                                                                         SCERPG(LINE, COLUMN)                                        
          - ярпнйю, гюйюмвхбючыюъяъ мскебшл аюирнл х  опедмюг-                                                                              
            мювеммюъ дкъ бшбндю; еякх TEXT мхвецн ме яндепфхр,          нвхыюер щйпюм нр сйюгюммни (хкх рейсыеи) онгхжхх йспянпю дн         
            рн мхвецн ме бшбндхряъ х бмсрпеммхи астеп  яапюяш-          йнмжю щйпюмю (VMS LIB$ERASE_PAGE).                                  
            бюеряъ.                                                                                                                         
                                                                                SCGET(BUFF, SIZE, TEXT)                                     
        опнцпюллш опедмюгмювемш дкъ  пюанрш  б  астепхгнбюммнл                                                                              
   пефхле. опх щрнл опнцпюллю тнплюрхпсер жекши щйпюм хмтнплю-          бшбндхр рейяр ондяйюгйх, еякх сйюгюм, гюрел  бшбндхр  кчани         
   жхх, ю гюрел оепеяшкюер ондцнрнбкеммше дюммше гю ндмн напю-          рейяр, мюундъыхияъ б астепе.  явхршбюер  рейярнбни  ббнд  я         
   ыемхе мю спнбемэ  лнмхрнпю.  щрн  нянаеммн  щттейрхбмн  опх          реплхмюкю (я сярпниярбю STDIN) б астеп. SCGET()  бнгбпюыюер         
   пюанре лмнцнонкэгнбюрекэяйху хкх яеребшу яхярел.  опнцпюллш          мскэ опх намюпсфемхх йнмжю тюикю хкх ньхайх (SCGET бшгшбюер         
   SCPUT() х SCSET() сярюмюбкхбючр х  нрлемъчр  астепхгнбюммши          FGETSS() дкъ бшонкмемхъ времхъ) (VMS LIB$GET_SCREEN).               
   пефхл. астепю лнцср ябъгшбюрэяъ блеяре б жеонвйс. щрн  онг-                                                                              
   бнкъер  ндмни  ондопнцпюлле  сярюмнбхрэ  янаярбеммши  астеп                  SCLMARGIN(LMARG)                                            
   мегюбхяхлн нр бшгбюбьху опнцпюлл. йюфдши астеп днкфем  ашрэ                                                                              
   пюглепнл ме лемее 12 аюир. анкее  дкхммше  астепю  ъбкъчряъ          нопедекъер мнбсч кебсч цпюмхжс (еякх  LMARG  анкэье  мскъ).         
   анкее щттейрхбмшлх.                                                  SCLMARGIN() бнгбпюыюер ярюпне гмювемхе LMARG. оняке  бшгнбю         
                                                                        SCLMARGIN() бшбнд рейярю б йнкнмйс  1  асдер  мювхмюрэяъ  я         
        унръ лнфмн сярюмнбхрэ  меяйнкэйн  астепнб,  мн  рнкэйн          йнкнмйх LMARG.                                                      
   ндхм ъбкъеряъ юйрхбмшл б йюфдши йнмйпермши лнлемр  бпелемх.                                                                              
   еякх бшгнб SCSET() сярюмюбкхбюер мнбши астеп, рн яндепфхлне                  SCOUT(LINE, COLUMN, TEXT)                                   
   опедшдсыецн астепю йнохпсеряъ б мнбши астеп, ю мнбши  астеп                                                                              
   ярюмнбхряъ осяршл. еякх SCPUT() нябнанфдюер астеп,  рн  ецн          оепелеыюер йспянп б сйюгюммсч ярпнйс  х  йнкнмйс,  ю  гюрел         
   яндепфхлне йнохпсеряъ  б  мейнрнпши  астеп  анкее  бшянйнцн          бшбндхр рейяр. еякх ярпнйю хкх  йнкнмйю  лемэье  хкх  пюбмю         
   спнбмъ.                                                              мскч, рн йспянп ме хглемъер ябнецн  онкнфемхъ.  еякх  рейяр         
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 103 -                                                              - 104 -                                   
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
   мхвецн ме яндепфхр, бшбндъряъ бмсрпеммхе  астепю  (бнглнфмн            SUBR()                                                            
   оняке оепелеыемхъ йспянпю) (VMS LIB$PUT_SCREEN).                       [                                                                 
                                                                              CHAR        **OLDBUF;                                         
           SCPUT(OLDBF)                                                       CHAR        MYBUF[100];                                       
                                                                                                                                            
   SCPUT() гюбепьюер рейсыхи пефхл  астепхгнбюммнцн  бшбндю  х                SCSET(MYBUF, SIZEOF MYBUF, &OLDBUF);                          
   оепеундхр б опедшдсыхи пефхл, йюй сйюгюмн б оюпюлерпе. еякх                SCOUT(1, 1, "STUFF");                                         
   OLDBUF осярни, рн астепхгюжхъ гюбепьюеряъ х  рейсыхи  астеп                SCPUT(OLDBUF);                                                
   бшбндхряъ мю щйпюм. еякх OLDBUF ме мскэ,  рн  нм  бняопхмх-            ]                                                                 
   люеряъ б йювеярбе леярнонкнфемхъ опедшдсыецн астепю  (сярю-                                                                              
   мнбкеммнцн осрел бшгнбю SCSET()) х рейсыхи астеп йнохпсеряъ          ньхайх:                                                             
   б опедшдсыхи астеп. оняке щрнцн опедшдсыхи астеп ярюмнбхряъ                                                                              
   рейсыхл (VMS LIB$PUT_BUFFER).                                               - дюммше опнцпюллш ъбкъчряъ якхьйнл  мещттейрхбмшлх,         
                                                                                 еякх ме хяонкэгсчряъ астепю;                               
           SCSET(NEWBF, SIZE, OLD)                                                                                                          
                                                                               - нйюгшбюеряъ,  врн   нопедекемхе   рхою   реплхмюкю         
   SCSET() сярюмюбкхбюер мнбши астеп  дкъ  щйпюммшу  опнцпюлл.                   ъбкъеряъ анкегмеммшл опнжеяянл, пюгкхвмшл дкъ пюг-         
   NEWBF ъбкъеряъ гмюйнбшл люяяхбнл,  веи  пюглеп  гюдюеряъ  б                   мшу ноепюжхнммшу яхярел:                                   
   оюпюлерпе SIZE (SIZE днкфем ашрэ он йпюимеи  лепе  12  аюи-                                                                              
   рнб). OLD ъбкъеряъ юдпеянл якнбю, йнрнпне асдер сярюмнбкемн                        - мю нпхцхмюкэмни яхяреле  RSX-11M  х  пефхле         
   мю опедшдсыхи астеп (еякх нм ашк). щрн  якнбн  хяонкэгсеряъ                          янблеярхлнярх б VMS бшонкмъеряъ гюопня  QIO         
   дкъ онякедсчыху бшгнбнб  SCPUT().  SCSET  бнгбпюыюер  мскэ,                          я тсмйжхеи "онксвхрэ пюгкхвмше  уюпюйрепхя-         
   еякх бяе опюбхкэмн, х бнгбпюыюер -1, еякх SIZE  ашк  лемэье                          рхйх".  еякх  реплхмюк  ъбкъеряъ  щйпюммнцн         
   12 аюир (VMS LIB$SET_BUFFER).                                                        рхою х лнфер цемепхпнбюрэ сопюбкъчыхе  оня-         
                                                                                        кеднбюрекэмнярх,  рн  онкюцюеряъ,  врн   нм         
           SCSETTYPE(TYPE)                                                              ъбкъеряъ VT100. б опнрхбмнл яксвюе, еякх нм         
                                                                                        щйпюммнцн рхою, рн онкюцюеряъ, врн нм VT52;         
   дюммюъ опнцпюллю сярюмюбкхбюер рхо реплхмюкю, нрлемъъ нопе-                                                                              
   декемхе,  яннаыюелне  ноепюжхнммни  яхярелни.   SCSETTYPE()                        - опх бяеу пефхлюу RSTS/E бшонкмъеряъ  гюопня         
   бнгбпюыюер рн, врн нмю "дслюкю" н рхое реплхмюкю (еякх ашкю                          "онксвхрэ уюпюйрепхярхйх реплхмюкю" х  опн-         
   бшгбюмю SCTYPE). рхо лнфер опхмхлюрэ ндмн хг якедсчыху гмю-                          жеяя нопедекемхъ бшонкмъеряъ,  йюй  сйюгюмн         
   вемхи:                                                                               бшье;                                               
                                                                                                                                            
           0       ме бхдхнреплхмюк                                                   - мю нпхцхмюкэмшу яхярелюу  RT11  бшонкмъеряъ         
           65      VT52 хкх VT100 б пефхле VT52                                         онякеднбюрекэмнярэ ноепюжхи PEEK, йюй  нох-         
           97      VT100 б пефхле ANSI                                                  яюмн б опнцпюллмни днйслемрюжхх  RT11,  дкъ         
                                                                                        нопедекемхъ, ъбкъеряъ кх реплхмюк щйпюммнцн         
        еякх  TYPE  хлеер  йюйне-кхан  дпсцне   гмювемхе,   рн                          рхою (щрн лнфер ме пюанрюрэ б лнмхрнпе XM).         
   SCSETTYPE() ме хглемъер рхо реплхмюкю.                                               б щрнл яксвюе  оняшкюеряъ  гюопня  "Z"         
                                                                                        дкъ онксвемхъ  хдемрхтхйюрнпю,  х  декюеряъ         
           SCTYPE()                                                                     меяйнкэйн опнбепнб он онксвеммнлс рейярс;           
                                                                                                                                            
   щрю опнцпюллю бнгбпюыюер рхо реплхмюкю. нопедекемш  якедсч-                 - гюлерэре, врн еякх реплхмюк ме нрбевюер мю гюопня,         
   ыхе рхош реплхмюкнб:                                                          рн опнцпюллю гюбхямер;                                     
                                                                                                                                            
           0       ме бхдхнреплхмюк                                            - меялнрпъ мю рн, врн щйпюммше опхлхрхбш б/б нямнбю-         
           1       мехгбеярмши бхдхн реплхмюк                                    мш мю хяонкмъчыеи ахакхнрейе VMS, ясыеярбсер  мея-         
           1+64    VT52                                                          йнкэйн нркхвхи, йнрнпше лнцср  опедярюбкърэ  хмре-         
           1+96    VT100                                                         пея:                                                       
                                                                                                                                            
        гюлевюмхе: опх хмхжхюкхгюжхх VT100 асдер  оепебедем  б                        - ярюмдюпр ахакхнрейх VMS  опедонкюцюер,  врн         
   пефхл VT52 хкх пефхл VT100  б  гюбхяхлнярх  нр  онксвеммнцн                          опнцпюллш б  наыел  яксвюе  бнгбпюыючр  йнд         
   рхою.                                                                                янярнъмхъ х йндш ньханй опх сйюгюмхх мебеп-         
                                                                                        мшу юпцслемрнб; опнцпюллш, нохяюммше б дюм-         
        напюрхре бмхлюмхе мю мнплюкэмне хяонкэгнбюмхе  тсмйжхи                          мнл днйслемре, ме бшонкмъчр мхйюйху  деияр-         
   SCSET() х SCPUT()                                                                    бхи опх хяонкэгнбюмхх меопюбхкэмшу юпцслем-         
                                                                                        рнб; дпсцне нркхвхе гюйкчвюеряъ б рнл,  врн         
                                                                                        нрясрярбсчр менаъгюрекэмше юпцслемрш  (мен-         
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 105 -                                                              - 106 -                                   
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                   аъгюрекэмнярэ наеяоевхбюеряъ осрел сйюгюмхъ          SLEEP(DELAY);                                                       
                   мскебнцн хкх осярнцн  гмювемхъ  юпцслемрю);          INT             DELAY;                                              
                   цде щрн менаундхлн,  юпцслемрш  сонпъднвемш                                                                              
                   якедсчыхл напюгнл: "LINE_NO,  COL_NO,  дпс-          нохяюмхе:                                                           
                   цхе";                                                                                                                    
                                                                             бшонкмемхе опнцпюллш опейпюыюеряъ мю  сйюгюммне  вхякн         
                 - анкее ясыеярбеммне  нркхвхе  гюйкчвюеряъ  б          яейсмд.                                                             
                   рнл, врн ахакхнрейю VMS  бшбндхр  мю  ярюм-                                                                              
                   дюпрмне сярпниярбн бшбндю (SYS$OUTPUT:  хкх          ньхайх:                                                             
                   TT:), б рн бпелъ йюй дюммше опнцпюллш бшбн-                                                                              
                   дър мю онкэгнбюрекэяйхи реплхмюк (SYS$ERROR                 - мю яхяреле RSTS/E  вхрюрекэ  днкфем  напюрхрэяъ  й         
                   хкх CO:).                                                     нохяюмхч SLEEP() б  днйслемрюжхх  мю  ноепюжхнммсч         
                                                                                 яхярелс;                                                   
                                                                                                                                            
                                                                               - мю нпхцхмюкэмни яхяреле RSX-11M хкх б пефхле  щлс-         
            5.90. опепшбюмхе он CTRL/C (рнкэйн дкъ RSTS/E                        къжхх RSX мю VMS тсмйжхъ SLEEP() бшонкмъер  оняке-         
                  б пефхле RT11)                                                 днбюрекэмнярэ нрлерйх бпелемх (MRKT$) х  нфхдюмхъ,         
                                                                                 хяонкэгсъ ткюц янашрхи 1;                                  
                                                                                                                                            
                                                    *********                  - мю  нпхцхмюкэмни  яхяреле  RT11  тсмйжхъ   SLEEP()         
                                                    * SETCC *                    бшонкмъер яхярелмши гюопня .TWAIT.                         
                                                    *********                                                                               
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: SETCC.MAC                                                                                                     
                                                                                 5.92. япюбмемхе ярпнй                                      
   хяонкэгнбюмхе:                                                                                                                           
                                                                                                                                            
   SETCC(FUNCTION);                                                                                                     **********          
   EXTERN INT FUNCTION();                                                                                               * STRCMP *          
                                                                                                                        **********          
   нохяюмхе:                                                                                                                                
                                                                        хлъ дхярпхасрхбмнцн тюикю: STRCMP.MAC                               
        нопедекъеряъ  тсмйжхъ,  йнрнпни   асдер   оепедюбюрэяъ                                                                              
   сопюбкемхе он опепшбюмхч нр CTRL/C. бшгнб  SETCC(0)  гюопе-          хяонкэгнбюмхе:                                                      
   ыюер опепшбюмхе он CTRL/C.                                                                                                               
                                                                        STRCMP(A, B);                                                       
        гюлевюмхе: еякх ондопнцпюллю ъбкъеряъ онбрнпмнбундхлни          CHAR            *A;                                                 
   (онрнлс,   врн   CTRL/C   ашкн   ббедемн   опх   бшонкмемхх          CHAR            *B;                                                 
   FUNCTION()), рн опнцпюллю опейпюыюер ябне бшонкмемхе.                                                                                    
                                                                        нохяюмхе:                                                           
   ньхайх:                                                                                                                                  
                                                                             япюбмхбюер дбе ярпнйх, бнгбпюыюъ:                              
          - пюанрюер рнкэйн мю RSTS/E б пефхле RT11.                                                                                        
                                                                                -1      A  < B                                              
                                                                                 0      A == B                                              
                                                                                +1      A  > B                                              
            5.91. опхнярюмнбхрэ гюдюмхе мю сйюгюммне вхя-                                                                                   
                  кн яейсмд                                             ньханй: мер.                                                        
                                                                                                                                            
                                                                                                                                            
                                                    *********                                                                               
                                                    * SLEEP *                                                                               
                                                    *********                                                                               
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: SLEEP.MAC                                                                                                     
                                                                                                                                            
   хяонкэгнбюмхе:                                                                                                                           
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 107 -                                                              - 108 -                                   
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
            5.93. йнохпнбюмхе ярпнй                                              5.95. дкхмю ярпнйх                                         
                                                                                                                                            
                                                                                                                                            
                                                   **********                                                           **********          
                                                   * STRCPY *                                                           * STRLEN *          
                                                   **********                                                           **********          
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: STRCPY.MAC                                хлъ дхярпхасрхбмнцн тюикю: STRLEN.MAC                               
                                                                                                                                            
   хяонкэгнбюмхе:                                                       хяонкэгнбюмхе:                                                      
                                                                                                                                            
   CHAR *                                                               STRLEN(S);                                                          
   STRCPY(OUT, IN);                                                     CHAR            *S;                                                 
   CHAR            *OUT;                                                                                                                    
   CHAR            *IN;                                                 нохяюмхе:                                                           
                                                                                                                                            
   нохяюмхе:                                                                 бнгбпюыюер дкхмс ярпнйх, сйюгюммсч б йювеярбе юпцслем-         
                                                                        рю.                                                                 
        йнохпсер ярпнйс "IN" б ярпнйс "OUT". бнгбпюыюер "OUT".                                                                              
                                                                        ньханй: мер.                                                        
   ньхайх:                                                                                                                                  
                                                                                                                                            
          - ашкн аш анкее  онкегмн,  еякх  тсмйжхъ  бнгбпюыюкю                                                                              
            OUT+STRLEN(IN) (ял. тсмйжхч CPYSPR()).                               5.96. налем аюирнб (юпцслемрнл ъбкъеяъ сйюгю-              
                                                                                       рекэ мю астеп)                                       
                                                                                                                                            
                                                                                                                                            
            5.94. япюбмемхе ярпнй                                                                                        *********          
                                                                                                                         * SWABB *          
                                                                                                                         *********          
                                                    *********                                                                               
                                                    * STREQ *           хлъ дхярпхасрхбмнцн тюикю: SWABB.MAC                                
                                                    *********                                                                               
                                                                        хяонкэгнбюмхе:                                                      
   хлъ дхярпхасрхбмнцн тюикю: STREQ.MAC                                                                                                     
                                                                        SWABB(BUFFER);                                                      
   хяонкэгнбюмхе:                                                       CHAR            *BUFFER;                                            
                                                                                                                                            
   STREQ(A, B);                                                         нохяюмхе:                                                           
   CHAR            *A;                                                                                                                      
   CHAR            *B;                                                       бнгбпюыюер BUFFER[0] х BUFFER[1], йюй жекне  вхякн,  б         
                                                                        йнрнпнл аюирш онлемемш леярюлх. астеп лнфер ме ашрэ  бшпнб-         
   нохяюмхе:                                                            мем мю цпюмхжс якнбю.                                               
                                                                                                                                            
        бнгбпюыюер хярхмс, еякх ярпнйх пюбмш.                           ньханй: мер.                                                        
                                                                                                                                            
   ньханй: мер.                                                                                                                             
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 109 -                                                              - 110 -                                   
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
            5.97. налем аюирнб (юпцслемр ъбкъеряъ жекшл)                         5.99. опенапюгнбюрэ анкэьхе асйбш б люкше                  
                                                                                                                                            
                                                                                                                                            
                                                    *********                                                          ***********          
                                                    * SWABI *                                                          * TOLOWER *          
                                                    *********                                                          ***********          
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: SWABI.MAC                                 хлъ дхярпхасрхбмнцн тюикю: TOLOWE.MAC                               
                                                                                                                                            
   хяонкэгнбюмхе:                                                       хяонкэгнбюмхе:                                                      
                                                                                                                                            
   SWABI(VALUE);                                                        TOLOWER(C);                                                         
   INT             VALUE;                                               INT             C;                                                  
                                                                                                                                            
   нохяюмхе:                                                            нохяюмхе:                                                           
                                                                                                                                            
        бнгбпюыюер гмювемхе, б йнрнпнл аюирш онлемемш леярюлх.               еякх "я" ъбкъеряъ анкэьни асйбни, рн бнгбпюыюер  яннр-         
                                                                        берярбсчысч люксч асйбс.  б  опнрхбмнл  яксвюе,  бнгбпюыюер         
   ньханй: мер.                                                         "я".                                                                
                                                                                                                                            
                                                                        ньханй: мер.                                                        
                                                                                                                                            
            5.98. бшвхякхрэ бпелъ дмъ                                                                                                       
                                                                                                                                            
                                                                                 5.100. опенапюгнбюрэ люксч асйбс б анкэьсч                 
                                                     ********                                                                               
                                                     * TIME *                                                                               
                                                     ********                                                          ***********          
                                                                                                                       * TOUPPER *          
   хлъ дхярпхасрхбмнцн тюикю: TIME.MAC                                                                                 ***********          
                                                                                                                                            
   хяонкэгнбюмхе:                                                       хлъ дхярпхасрхбмнцн тюикю: TOUPPE.MAC                               
                                                                                                                                            
   LONG                                                                 хяонкэгнбюмхе:                                                      
   TIME(0);                                                                                                                                 
                                                                        TOUPPER(C);                                                         
   LONG                                                                 INT             C;                                                  
   TIME(TLOC);                                                                                                                              
   LONG            *TLOC;                                               нохяюмхе:                                                           
                                                                                                                                            
   нохяюмхе:                                                                 еякх "я" ъбкъеряъ люкни асйбни,  рн  бнгбпюыюер  яннр-         
                                                                        бсрярбсчысч анкэьсч асйбс. б опнрхбмнл  яксвюе,  бнгбпюыюер         
        тсмйжхъ TIME бнгбпюыюер бпелъ  дмъ  б  яейсмдюу.  еякх          "я".                                                                
   TLOC ъбкъеряъ мемскебшл,  рн  бнгбпюыюелне  гмювемхе  рюйфе                                                                              
   гюонлхмюеряъ б рнл леяре, йсдю сйюгшбюер TLOC.                       ньханй: мер.                                                        
                                                                                                                                            
        ялнрпхре RTIME() б йювеярбе анкее цхайни опнцпюллш.                                                                                 
                                                                                                                                            
   ньхайх:                                                                                                                                  
                                                                                                                                            
          - тсмйжхъ  TIME  б  UNIX  бнгбпюыюер   бпелъ   оняке                                                                              
            00:00:00 GMT, 1 ъмбюпъ  1970  цндю,  хглепеммне  б                                                                              
            яейсмдюу; дюммюъ тсмйжхъ бнгбпюыюер  бпелъ  дмъ  б                                                                              
            яейсмдюу.                                                                                                                       
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 111 -                                                              - 112 -                                   
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
            5.101. бундмни лндскэ онддепфйх опнтхкхпнбюмхъ                       гюохяшбюрэяъ б $$FLOW, оепед х оняке  асдер  бшбн-         
                  (я рпюяяхпнбйни)                                               дхрэяъ вхярюъ ярпнйю.                                      
                                                                                                                                            
                                                                             еякх опнтхкхпнбюмхе пюгпеьемн х опнцпюллю  гюбепьюеряъ         
                                                    *********           он ERROR() хкх опепшбюмхч ноепюжхнммни яхярелш (рюйнлс, йюй         
                                                    * TRACE *           меопюбхкэмнлс напюыемхч й оюлърх), рн асдер пюяоевюрюмн  мю         
                                                    *********           STDERR яндепфхлне пецхярпнб х рпюяяю бшгнбнб ондопнцпюлл.           
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: PCSV.MAC                                       дкъ    анкэьху    ондпнамняреи    ялнрпхре    нохяюмхе         
                                                                        CALLTRACE().                                                        
   хяонкэгнбюмхе:                                                                                                                           
                                                                        бмсрпеммее:                                                         
   #INCLUDE                                                                                                                        
   EXTERN  FILE    *$$FLOW;                                                    - ялнрпхре CSV$ дкъ днонкмхрекэмшу  ондпнамняреи  на         
                                                                                 нйпсфемхх;                                                 
   $$FLOW = FOPEN("TRACE.OUT", "W");                                                                                                        
                                                                               - йнцдю щрю опнцпюллю бшгшбюеряъ оепбши пюг, рн  нмю         
   /* хкх $$FLOW = STDERR; дкъ рпюяяхпнбйх мю йнмянкэ */                         сярюмюбкхбюер оепеубюр яхмупнммшу опепшбюмхи  яхя-         
   ...                                                                           релш х гюцпсфюер юдпея бшундю он ньхайе  х  сйюгю-         
   $$FLOW = NULL;          /* бшйкчвхрэ рпюяяхпнбйс   */                         рекэ опнтхкхпнбюмхъ; опнцпюллш напюанрйх  опепшбю-         
                                                                                 мхи мюундъряъ б лндске "TRAPS"; дкъ днонкмхрекэмни         
            INTERNAL                                                             хмтнплюжхх ялнрпхре нохяюмхе щрнцн лндскъ.                 
                                                                                                                                            
   JSR     R5,PCSV$                                                     ньханй: мер.                                                        
   .WORD   NAME            ; сйюгюрекэ мю хлъ                                                                                               
                                                                                                                                            
   цде хлъ хлеер якедсчысч ярпсйрспс:                                                                                                       
                                                                                 5.102. напюанрвхй опепшбюмхи ноепюжхнммни яхя-             
   NAME:   .WORD   0       ; явервхй                                                   релш                                                 
           .ASCIZ  /NAME/  ; хлъ тсмйжхх                                                                                                    
                                                                                                                                            
   нохяюмхе:                                                                                                             *********          
                                                                                                                         * TRAPS *          
        дюммши лндскэ бшгшбюеряъ, йнцдю оепедюеряъ  сопюбкемхе                                                           *********          
   тсмйжхх, йнрнпюъ ашкю яйнлохкхпнбюмю я оюпюлерпнл  опнтхкх-                                                                              
   пнбюмхъ. нм опнбепъер, врн ярей асдер бшье 600 бняэлепхвмн-          хлъ дхярпхасрхбмнцн тюикю: TRAPS.MAC                                
   цн опх бшонкмемхх тсмйжхх, х менаъгюрекэмн  бшбндхр  рпюяяс                                                                              
   бшонкмемхъ.                                                          хяонкэгнбюмхе:                                                      
                                                                                                                                            
        еякх $$FLOW сярюмнбкемю мю  нохяюрекэ  тюикю,  рн  хлъ                     бмсрпеммее                                               
   тсмйжхх, юдпея бшгнбю тсмйжхх х бшгшбючыее нйпсфемхе  оевю-                                                                              
   рючряъ опх йюфднл бшгнбе тсмйжхх, яйнлохкхпнбюммни я  оюпю-          $$SSTT::                ; бейрнп яхмупнммшу                         
   лерпнл опнтхкхпнбюмхъ.                                                                       ; опепшбюмхи RSX                            
                                                                                                                                            
        бшундмни тнплюр хлеер якедсчыхи бхд:                            $$T410::                ; рнвйю бундю дкъ RT11 он                   
                                                                                                ; бейрнпюл 4, 10                            
    хлъ_тсмйжххбшгбюбьхинйпсфемхе                                                                                                 
                                                                        нохяюмхе:                                                           
   цде                                                                                                                                      
                                                                             дюммши лндскэ яндепфхр йнд, йнрнпши бшонкмъеряъ  оняке         
   хлъ_тсмйжхх                                                          бнгмхймнбемхъ яхмупнммнцн опепшбюмхъ, намюпсфеммнцн  ноепю-         
          - хлъ бшгбюмни тсмйжхх;                                       жхнммни яхярелни. бяе онднамше опепшбюмхъ пюяялюрпхбючряъ б         
                                                                        йювеярбе тюрюкэмшу ньханй х опнцпюллю асдер гюбепьемю.              
   бшгбюбьхи                                                                                                                                
          - ъбкъеряъ юдпеянл, он  йнрнпнлс  бшгбюмю  опнцпюллю               дюммши йнд ондйкчвюеряъ опх бшонкмемхх кчани  тсмйжхх,         
            (деиярбхрекэмши юдпея бнгбпюрю), х нйпсфемхе, сйю-          рюйни йюй MAIN(), дкъ йнрнпни ашкн пюгпеьемн опнтхкхпнбюмхе         
            гшбюелне пецхярпнл R5 (дкъ кнйюкэмни  юдпеяюжхх  б          опх йнлохкхпнбюмхх.                                                 
            пюлйюу  бшгбюммни  опнцпюллш).  хмтнплюжхъ   асдер                                                                              
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 113 -                                                              - 114 -                                   
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
        напюаюршбючряъ якедсчыхе кнбсьйх (опепшбюмхъ):                           5.103. бепмсрэ гмюй мюгюд бн бундмни тюик                  
                                                                                                                                            
          - меопюбхкэмне напюыемхе  й  оюлърх  (опепшбюмхе  он                                                                              
            бейрнпс 4);                                                                                                 **********          
                                                                                                                        * UNGETC *          
          - меопюбхкэмюъ  хмярпсйжхъ  (опепшбюмхе  он  бейрнпс                                                          **********          
            10);                                                                                                                            
                                                                        хлъ дхярпхасрхбмнцн тюикю: UNGETC.MAC                               
          - BPT (опедонкюцюъ, врн нрясрярбсчр япедярбю  нркюд-                                                                              
            йх);                                                        хяонкэгнбюмхе:                                                      
                                                                                                                                            
          - IOT;                                                        UNGETC(C, IOP);                                                     
                                                                        CHAR            C;                                                  
          - медносярхлюъ хмярпсйжхъ TRAP (щрн лнфер ашрэ тнпр-          FILE            *IOP;                                               
            пюмнбяйни ньхайни);                                                                                                             
                                                                        нохяюмхе:                                                           
          - медносярхлюъ хмярпсйжхъ EMT (рнкэйн дкъ RSX);                                                                                   
                                                                             бнгбпюыюер ндхм гмюй мюгюд б сйюгюммши онрнй. опнхяун-         
          - опепшбюмхе дхяоервепю оюлърх (мюпсьемхе гюыхрш).            дхр опепшбюмхе он хмярпсйжхх BPT, еякх анкее  ндмнцн  гмюйю         
                                                                        бнгбпюыюеряъ мюгюд.                                                 
        оепед  бшунднл  б  ноепюжхнммсч   яхярелс   яндепфхлне                                                                              
   пецхярпнб б лнлемр опепшбюмхъ гюохяшбюеряъ  б  бняэлепхвмнл          ньханй: мер.                                                        
   бхде мю сярпниярбн STDOUT. гюлерэре рюйфе, врн  рпюяяхпнбйю                                                                              
   онякеднбюрекэмнярх  бшгнбнб  асдер  гюохяюмю  мю  STDOUT  я                                                                              
   онлныэч ERROR().                                                                                                                         
                                                                                 5.104. бшонкмемхе мекнйюкэмнцн оепеундю                    
        еякх  опнхгнидер  опепшбюмхе,  рн  опнцпюллю  оепедюяр                                                                              
   сопюбкемхе ноепюжхнммни яхяреле ян ярюрсянл  "цпсаюъ  ньха-                                                                              
   йю".                                                                                                                 **********          
                                                                                                                        * UNWIND *          
        гюлерэре, врн мейнрнпше ньхайх, рюйхе йюй оепеонкмемхе                                                          **********          
   ярейю хкх яксвюимше оепеундш б ноепюжхнммсч яхярелс,  лнцср                                                                              
   опхбеярх й гюбепьемхч опнцпюллш мю ъгшйе "я" аег  напюыемхъ          хлъ дхярпхасрхбмнцн тюикю: UNWIND.MAC                               
   й ахакхнревмни тсмйжхх, нясыеярбкъчыеи йнмрпнкэ.                                                                                         
                                                                        хяонкэгнбюмхе:                                                      
   бмсрпеммее:                                                                                                                              
                                                                        SETEXIT();                                                          
          - оепбши бшгнб PCSV$ опхбедер й хмхжхюкхгюжхх  напю-                                                                              
            анрйх опепшбюмхи.  б  яхяреле  RSX11-M  опнхгнидер          UNWIND();                                                           
            бшгнб яхярелмни дхпейрхбш SVTK$.  б  яхяреле  RT11                                                                              
            асдер бшонкмем лнмхрнпмши гюопня .TRPSET. оняйнкэ-          нохяюмхе:                                                           
            йс гюопня  .TRPSET  опхбндхр  й  напюанрйе  рнкэйн                                                                              
            кнбсьей меопюбхкэмнцн напюыемхъ й  оюлърх  (бейрнп               щрх опнцпюллш онкегмш опх пюанре я ньхайюлх х опепшбю-         
            4)  х  меопюбхкэмшу  хмярпсйжхи  (бейрнп  10),  рн          мхълх, намюпсфеммшлх б ондопнцпюлле мхфмецн спнбмъ  анкэьни         
            нярюкэмше хмрепеямше  бейрнпю  хмхжхюкхгхпсчряъ  я          опнцпюллш.                                                          
            онлныэч юаянкчрмшу яяшкнй (.ASECT).                                                                                             
                                                                             SETEXIT() янупюмъер ярей б ярюрхвеяйнл леяре дкъ  оня-         
   дхюцмнярхйю: мер.                                                    кедсчыецн хяонкэгнбюмхъ тсмйжхеи UNWIND().  нмю  бнгбпюыюер         
                                                                        0.                                                                  
   ньхайх:                                                                                                                                  
                                                                             UNWIND() бняярюмюбкхбюер "япедс", янупюмеммсч опх оня-         
          - лнфер опнхгнирх гюжхйкхбюмхе, еякх асдер  опепшбю-          кедмел бшгнбе SETEXIT(). оняке щрнцн нмю оепедюер  сопюбке-         
            мхе бмсрпх напюанрвхйю опепшбюмхи (кнбсьей).                мхе рюйхл напюгнл, врн бшонкмемхе опнднкфюеряъ я леярю оня-         
                                                                        ке бшгнбю SETEXIT(). бяе днярсомше дюммше хлечр гмювемхъ мю         
   бмсрпеммее:                                                          лнлемр бшгнбю UNWIND(). опх  гюбепьемхх  SETEXIT()  бнгбпю-         
                                                                        ыюеряъ гмювемхе 1. мюопхлеп:                                        
          - ме гюашбюире напюаюршбюрэ окюбючысч  рнвйс,  йнцдю                                                                              
            нмю асдер пеюкхгнбюмю.                                                                                                          
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 115 -                                                              - 116 -                                   
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
     IF (SETEXIT()) [                                                        WRAPUP асдер бшгбюмю рнкэйн ндхм пюг.                          
                     /* UNWIND бшгбюмю       */                                                                                             
     ]                                                                  ньханй: мер.                                                        
     ELSE [                                                                                                                                 
                     /* сярюмнбйю SETEXIT бшгбюмю*/                                                                                         
     ]                                                                                                                                      
                                                                                 5.107. нвхярхрэ акнй оюлърх                                
   опнцпюллю, йнрнпюъ бшгшбюер SETEXIT(), днкфмю ашрэ юйрхбмни                                                                              
   опх бшгнбе UNWIND().                                                                                                                     
                                                                                                                          ********          
   ньханй: мер.                                                                                                           * ZERO *          
                                                                                                                          ********          
                                                                                                                                            
                                                                        хлъ дхярпхасрхбмнцн тюикю: ZERO.MAC                                 
            5.105. днпнцни яоняна онксвемхъ SIZEOF(INT)                                                                                     
                                                                        хяонкэгнбюмхе:                                                      
                                                                                                                                            
                                                   **********           ZERO(ADDR, NBYTES);                                                 
                                                   * WDLENG *           CHAR            *ADDR;                                              
                                                   **********           INT             NBYTES;                                             
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: WDLENG.MAC                                нохяюмхе:                                                           
                                                                                                                                            
   хяонкэгнбюмхе:                                                            нвхыюер акнй оюлърх. мхйюйне гмювемхе ме бнгбпюыюеряъ.         
                                                                                                                                            
   WDLENG()                                                             ньханй: мер.                                                        
                                                                                                                                            
   нохяюмхе:                                                                                                                                
                                                                                                                                            
        бнгбпюыюер дкхмс якнбю.                                                                                                             
                                                                                                                                            
   ньханй: мер.                                                                                                                             
                                                                                                                                            
        щрю тсмйжхъ лнфер ашрэ гюлемемю мю:                                                                                                 
                                                                                                                                            
       #DEFINE WDLENG() (SIZEOF (INT))                                                                                                      
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
            5.106. тхйрхбмюъ  опнцпюллю,  бшгшбюелюъ   опх                                                                                  
                  бшунде                                                                                                                    
                                                                                                                                            
                                                                                                                                            
                                                   **********                                                                               
                                                   * WRAPUP *                                                                               
                                                   **********                                                                               
                                                                                                                                            
   хлъ дхярпхасрхбмнцн тюикю: WRAPUP.MAC                                                                                                    
                                                                                                                                            
   хяонкэгнбюмхе:                                                                                                                           
                                                                                                                                            
   WRAPUP()                                                                                                                                 
                                                                                                                                            
   нохяюмхе:                                                                                                                                
                                                                                                                                            
        дюммюъ опнцпюллю (йнрнпюъ мхвецн ме декюер) бшгшбюеряъ                                                                              
   опх гюбепьемхх опнцпюллш, еякх  онкэгнбюрекэяйюъ  опнцпюллю                                                                              
   ме наеяоевхр ябнч янаярбеммсч тсмйжхч WRAPUP().                                                                                          
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 117 -                                                              - 118 -                                   
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                               1. онярюбйю                                  
                                                                                                                                            
                          опхкнфемхе A                                                                                                      
                                                                                                                                            
                                                                                                                                            
                           пеюкхгюжхъ                                        яхярелю "я" онярюбкъеряъ мю ндмни люцмхрмни кемре 2400         
                           ----------                                   тсрнб, яндепфюыеи йнлохкърнп, ахакхнрейс х опнцпюллмше пюг-         
                                                                        декш. б йювеярбе юкэрепмюрхбш нмю лнфер онярюбкърэяъ мю 3-у         
                                                                        люцмхрмшу кемрюу он 600  тсрнб  йюфдюъ,  яндепфюыху  рс  фе         
                                                                        яюлсч   хмтнплюжхч.   бяе    люцмхрмше    кемрш    ъбкъчряъ         
                                                                        9-днпнфевмшлх х гюохяюмш б тюикнбнл тнплюре DOS.  щрюкнммюъ         
                                                                        кемрю ашкю яцемепхпнбюмю  онд  сопюбкемхел  яхярелш  RSTS/E         
                                                                        V7.0. гю хяйкчвемхел пюгдекю [5,2] бяе тюикш яндепфюр рейя-         
                                                                        рш ASCII. бяе тюикш б пюгдеке [5,2]  ашкх  яцемепхпнбюмш  я         
                                                                        онлныэч онярюбкъелшу йнлюмдмшу тюикнб.                              
                                                                                                                                            
                                                                             йнлохкърнп х ахакхнрейю хяонкмъчыеи  яхярелш  гюмхлючр         
                                                                        пюгдекш я [5,1] он [5,7]  х  опедмюгмювемш  дкъ  пеюкхгюжхх         
                                                                        ъгшйю "я". йнлохкърнп ашк мюохяюм дщбхднл йнмпни  х  якецйю         
                                                                        хглемем люпрхмнл лхмнс. ахакхнрейх хяонкмъчыеи яхярелш  дкъ         
                                                                        RSX-11M х RT-11 ашкх мюохяюмш люпрхмнл лхмнс я онлныэч лмн-         
                                                                        цнвхякеммшу дпсгеи. хлееряъ рюйфе ахакхнрейю  дкъ  ябъгх  я         
                                                                        лнмхрнпнл RSX-11M, мюохяюммюъ пнаепрнл деммх.                       
                                                                                                                                            
                                                                             ахакхнрейю опнцпюлл, гюмхлючыюъ  пюгдекш  я  [6,1]  он         
                                                                        [6,7], опедкюцюер  йнккейжхч  хмярпслемрнб,  хцп  х  дпсцху         
                                                                        опнцпюлл, б нямнбмнл мюохяюммшу мю  "я".  нмх  ме  ъбкъчряъ         
                                                                        менаундхлшлх дкъ мнплюкэмни пюанрш я ъгшйнл "я", унръ опнц-         
                                                                        пюллю [6,1]KWIK хяонкэгсеряъ дкъ опхцнрнбкемхъ днйслемрюжхх         
                                                                        мю ахакхнрейс. ндмюйн щрх опнцпюллш лнцср нйюгюрэяъ  онкег-         
                                                                        мшлх дкъ онкэгнбюрекеи "я", йюй х дкъ дпсцху онкэгнбюрекеи.         
                                                                        мю бпелъ мюохяюмхъ дюммнцн  днйслемрю  пюгдек  [6,6]  осяр.         
                                                                        пюгдек [6,7] яндепфхр срхкхрс янпрхпнбйх йюрюкнцю  SRD.TSK,         
                                                                        йнрнпюъ опедярюбкъер хмрепея рнкэйн дкъ яхярел,  пюанрючыху         
                                                                        онд сопюбкемхел RSX-11M.                                            
                                                                                                                                            
                                                                             мнлепю пюгдекнб онярюбкъелнцн опнцпюллмнцн наеяоевемхъ         
                                                                        ашкх бшапюмш рюйхл напюгнл, врнаш нмх ашкх хдемрхвмшлх  йюй         
                                                                        онд сопюбкемхел RSX-11M (бняэлепхвмше), рюй х онд  сопюбке-         
                                                                        мхел RSTS/E (деяърхвмше). еякх аш яхярелю  опнцпюллхпнбюмхъ         
                                                                        дкъ ъгшйю "я" ме ашкю пюглеыемю б рюйху пюгдекюу, рн  опнц-         
                                                                        пюллхярс опхькняэ аш педюйрхпнбюрэ йнлюмдмше тюикш дкъ сйю-         
                                                                        гюмхъ опюбхкэмшу мнлепнб пюгдекнб.                                  
                                                                                                                                            
                                                                          [5,1]   йнлюмдмше тюикш, днйслемрюжхъ х р.д.                      
                                                                          [5,2]   цнрнбюъ яхярелю дкъ RSTS/E.                               
                                                                          [5,3]   рейярш йнлохкърнпю х юяяелакепю.                          
                                                                          [5,4]   наыхе рейярш ахакхнрейх (аег б/б).                        
                                                                          [5,5]   рейярш ахакхнрейх б/б х йнлюмдмше тюикш.                  
                                                                          [5,6]   ахакхнрейю хмрептеияю дкъ RSTS/E.                         
                                                                          [5,7]   ахакхнрейю хмрептеияю дкъ RSX-11M.                        
                                                                                                                                            
                                                                          [6,1]   "опнцпюллмше хмярпслемрш".                                
                                                                          [6,2]   яксфеамше опнцпюллш -- хцпш х опнвхе.                     
                                                                          [6,3]   йпняя-юяяелакепш дкъ пъдю лхйпн-щбл.                      
                                                                          [6,4]   цемепюрнп кейяхвеяйху юмюкхгюрнпнб.                       
                                                                          [6,5]   люьхммн-мегюбхяхлши йпняя-юяяелакеп.                      
                                                                          [6,6]   б мюярнъыее бпелъ ме хяонкэгсеряъ.                        
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 119 -                                                              - 120 -                                   
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
     [6,7]   онярюбйю DECUS опнцпюллш SRD дкъ RSX-11M.                               3. дерюкэмне яндепфхлне онярюбйх                       
                                                                                                                                            
        дкъ рнцн, врнаш бяе слеярхкняэ мю рпеу люцмхрмшу  кем-                                                                              
   рюу, 600 тсрнбше  люцмхрмше  кемрш  нпцюмхгнбюмш  якедсчыхл                                                                              
   напюгнл:                                                                                                                                 
                                                                        [5,1]   [.COMMAND]                                                  
     кемрю1:  пюгдекш [5,1], [5,2], х [5,4]                                    - дюммши пюгдек яндепфхр хяундмше рейярш  днйслемрю-         
     кемрю2:  пюгдекш [5,3], [5,5], [5,6], х [5,7]                               жхх (.RNO), тюикш онярпнемхъ яхярелш  х  мейнрнпше         
     кемрю3:  бяе пюгдекш [6,*]                                                  беых, йнрнпше ме  яннрберярбсчр  дпсцхл  пюгдекюл;         
                                                                                 нмх бйкчвючр меяйнкэйн яоежхюкэмшу йнлюмдмшу  тюи-         
        йюфдши пюгдек яндепфхр тюик, хлечыхи хлъ README.NNN  х                   кнб, хяонкэгнбюммшу опх пюгпюанрйе  яхярелш  опнц-         
   нохяшбючыхи яндепфхлне пюгдекю. мюопхлеп,  рюйни  тюик  дкъ                   пюллхпнбюмхъ  "я"  (мюопхлеп,  TS1.CMD),   йнрнпше         
   пюгдекю [5,1] хлеер хлъ README.501.                                           лнцср яксфхрэ лндекълх дкъ пеьемхъ бюьху янаярбем-         
                                                                                 мшу гюдюв.                                                 
                                                                                                                                            
                                                                             дюммши пюгдек рюйфе яндепфхр хяундмше рейярш мейнрнпшу         
                                                                        опнцпюлл  мю  ъгшйе  "я",  хяонкэгнбюммшу  дкъ   онярпнемхъ         
               2. янцкюьемхъ дкъ йнлюмдмшу тюикнб                       йнлюмдмшу  тюикнб  (GETCMD.C)  х  днйслемрюжхх   (GETRNO.C,         
                                                                        GETKWK.C, FIXDOC.C). нм рюйфе яндепфхр хяундмше рейярш  дкъ         
                                                                        опнцпюллш MCR.BAS, хяонкэгселни б яхярелюу RSTS/E дкъ оепе-         
                                                                        дювх юпцслемрнб опнцпюллюл мю ъгшйе "я".                            
                                                                                                                                            
        йнлюмдмше тюикш, хяонкэгселше дкъ  онярпнемхъ  яхярелш               йнлюмдмше  тюикш  RGTDOC.CMD  хкх  VGTDOC.COM  янгдючр         
   опнцпюллхпнбюмхъ я ъгшйю "я", якедсчр якедсчыхл ярюмдюпрюл:          мнбши йнлокейр днйслемрюжхх. дкъ янгдюмхъ днйслемрюжхх мсф-         
                                                                        мн ядекюрэ якедсчыее:                                               
   .CMD                                                                                                                                     
          - йнябеммше йнлюмдмше тюикш  дкъ  RSTS/E,  йнябеммше               1. онярпнхрэ йнлохкърнп х ахакхнрейх.                          
            йнлюмдмше тюикш дкъ RSX-11M х йнябеммше  йнлюмдмше                                                                              
            тюикш дкъ MAC.TSK х MACRO.SAV;                                   2. яйнлохкхпнбюрэ GETRNO.C,  GETKWK.C  мю  RSTS/E  хкх         
                                                                        VMS,  ю  рюйфе  FIXDOC.C  --  ялнрпх  тюик  VGTRNO.COM  хкх         
   V?????                                                               RGTRNO.CMD.                                                         
          - йнябеммше йнлюмдмше тюикш VAX/VMS;                                                                                              
                                                                             3. саедхрэяъ, врн онярпнемю опнцпюллю [6,1]KWIK.C.             
   X?????                                                                                                                                   
          - тюикш дкъ RSTS/E б пефхле щлскъжхх RSX;                          4. хяонкэгнбюрэ GETRNO дкъ янгдюмхъ ахакхнрейх  тюикнб         
                                                                        RUNOFF -- ялнрпхре тюикш VGTDOC.COM хкх RGTDOC.CMD.                 
   R?????                                                                                                                                   
          - тюикш дкъ RSTS/E б пефхле щлскъжхх RT-11;                        5. хяонкэгнбюрэ RNO.TSK дкъ онярпнемхъ  ахакхнрейх  мю         
                                                                        RSX-11M хкх RSTS/E, хкх хяонкэгнбюрэ RUNOFF дкъ  онярпнемхъ         
   M?????                                                               ахакхнрейх мю VMS V2.0.                                             
          - йнябеммше йнлюмдмше тюикш RSX-11M;                                                                                              
                                                                             6. мю яхярелюу RSTS/E хкх VMS мсфмн  бшонкмхрэ  FIXDOC         
   T?????                                                               дкъ рнцн, врнаш "онвхмхрэ" тюикш .DOC оняке рнцн, йюй опнц-         
          - йнябеммше йнлюмдмше тюикш RT-11;                            пюллю RNO.TSK гюбепьхр ху йнлонмнбйс (онялнрперэ ондпнамня-         
                                                                        рх лнфмн б тюикюу RGTDOC.CMD хкх VGTDOC.CMD).                       
   .COM                                                                                                                                     
          - йнябеммше йнлюмдмше тюикш RT-11 хкх VMS;                         опнцпюллю  GETCMD.C  хяонкэгнбюкюяэ   дкъ   онярпнемхъ         
                                                                        йнлюмдмшу тюикнб дкъ йнлохкъжхх х оепедювх тюикнб  б  яерэ.         
   .TKB                                                                 онялнрпхре ее хяундмши рейяр хкх хяякедсире йнлюмдмши  тюик         
          - йнябеммше йнлюмдмше тюикш онярпнхрекъ гюдюв;                RVNET.CMD дкъ онксвемхъ днонкмхрекэмни хмтнплюжхх.  йнлюмд-         
                                                                        мше тюикш дкъ ахакхнрей  ашкх  онярпнемш  я  хяонкэгнбюмхел         
   .ODL                                                                 йнлюмдмнцн тюикю RLBCMD.CMD. дкъ дпсцху ноепюжхнммшу яхярел         
          - йнлюмдш нохяюмхъ нбепкееб онярпнхрекъ гюдюв.                юмюкнцхвмше япедярбю нрясрярбсчр.                                   
                                                                                                                                            
                                                                        [5,2]   рнкэйн дкъ RSTS/E                                           
                                                                               - дюммши пюгдек яндепфхр сфе цнрнбсч дкъ пюанрш яхя-         
                                                                                 релс дкъ RSTS/E х яннрберярбсчыхе тюикш дкъ RT-11.         
                                                                                 нм мхйнцдю ме рпеасеряъ дкъ VMS. йюфдши хг  тюикнб         
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 121 -                                                              - 122 -                                   
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
            дюммнцн пюгдекю ашк яцемепхпнбюм хг тюикнб, пюгле-                   хяонкмъчыеи      ахакхнрейх,      ябъгюммни      я         
            ыеммшу б ндмнл хг дпсцху пюгдекюу.                                   ббнднл/бшбнднл.  щрх  тюикш   яндепфюр   дхпейрхбш         
                                                                                 сякнбмни рпюмякъжхх дкъ  пюанрш  кхан  я  RSX-11M,         
        б онярюбйе  дкъ  VMS  опнжедспш  йнлюмд  времхъ/гюохях                   кхан я RT-11. якеднбюкн аш опедсопедхрэ  бюя,  врн         
   хяонкэгсчр щрнр пюгдек рнкэйн дкъ жекеи  йнохпнбюмхъ  днйс-                   мейнрнпше лндскх яндепфюр тюйрхвеяйх дбе пюгкхвмше         
   лемрюжхх мю  х  я  люцмхрмни  кемрш.  гюлерэре,  врн  тюикш                   ондопнцпюллш.                                              
   CC.DOC, AS.DOC, CBUGS.DOC, CLIB.DOC х WIZARD.DOC  мюундъряъ                                                                              
   б щрнл пюгдеке.                                                           дкъ онярпнемхъ ахакхнрейх якедсер  бшгбюрэ  яннрберяр-         
                                                                        бсчысч йнлюмдмсч опнжедспс, хяонкэгсъ нохяюммши  мхфе  тнп-         
        рнкэйн б  дюммнл  пюгдеке  мюундъряъ  дбнхвмше  тюикш.          люр:                                                                
   яннрберярбеммн, х хмрептеиямюъ ахакхнрейю RSX-11M  (CX.OLB)                                                                              
   мюундхряъ гдеяэ  фе.  нмю  менаундхлю  рнкэйн  мю  яхярелюу           @    VMAKLB.COM     мю яхяреле VMS                                 
   RSX-11M. онкэгнбюрекх RSX-11M днкфмш гмюрэ, врн CX.OLB ашкю           ATPK XMAKLB.CMD     мю RSTS/E б пефхле RSX                         
   яцемепхпнбюмю мю яхяреле RSX-11M, яйнохпнбюмю  я  люцмхрмни           ATPK RMAKLB.CMD     мю RSTS/E б пефхле RT-11                       
   кемрш б яхярелс RSTS/E, ю гюрел ноърэ мю  люцмхрмсч  кемрс.           @    MMAKLB.CMD     мю яхяреле RSX                                 
   нмю онярпнемю я онлныэч йнлюмдмнцн тюикю хг [5,7].                    @    TMAKLB.COM     мю яхяреле RT-11                               
                                                                                                                                            
   [5,3]   [.COMP]                                                      [5,6]   рнкэйн дкъ RSTS/E                                           
          - дюммши пюгдек яндепфхр  хяундмше  рейярш  х  тюикш                 - ноепюжхнммн  гюбхяхлше  ондопнцпюллш  дкъ  RSTS/E,         
            онярпнемхъ дкъ йнлохкърнпю (CC????.MAC), юяяелаке-                   наеяоевхбючыхе днярсо й япедярбюл лнмхрнпю  RSTS/E         
            пю (AS????.MAC) х ахакхнрейх онддепфйх йнлохкърнпю                   б опнцпюллюу мю ъгшйе "я".                                 
            (A?????.MAC).                                                                                                                   
                                                                        [5,7]   рнкэйн дкъ RSX-11/M                                         
        ахакхнрейю онддепфйх  ъбкъеряъ  янйпюыеммшл  бюпхюмрнл                 - хмрептеиямюъ  ахакхнрейю  дкъ  лнмхрнпю   RSX-11M.         
   анкее пюммеи бепяхх ярюмдюпрмни ахакхнрейх, йнрнпюъ  рпюмя-                   мехгбеярмн, йюйхе ее вюярх пюанрючр б пефхле  щлс-         
   кхпсеряъ он сякнбхъл дкъ яхярел RSX хкх RT-11  х  наеяоевх-                   къжхх онд сопюбкемхел VMS хкх RSTS/E.                      
   бюер ббнд/бшбнд. щрн ме нянаеммн щттейрхбмн.                                                                                             
                                                                        [6,1]   [.TOOLS]                                                    
        дкъ онярпнемхъ йнлохкърнпю менаундхлн б оепбсч нвепедэ                 - хмярпслемрш мю ъгшйе "я". дкъ ондпнамни хмтнплюжхх         
   бшонкмхрэ йнлюмдмши тюик онярпнемхъ CC:                                       ялнрпхре тюик [.TOOLS]README.601. мю RSTS/E  хмяр-         
                                                                                 пслемрш ярпнъряъ я хяонкэгнбюмхел йнлюмдмнцн тюикю         
    @    VMAKCC.COM     мю яхяреле VMS                                           [6,1]RTOOLS.CMD. мю VMS нмх лнцср ашрэ онярпнемш я         
    ATPK XMAKCC.CMD     мю RSTS/E б пефхле RSX                                   онлныэч [.TOOLS]VTOOLS.COM. щрх тюикш  лнцср  якс-         
    ATPK RMAKCC.CMD     мю RSTS/E б пефхле RT-11                                 фхрэ лндекълх  дкъ  дпсцху  онярюбнй  опнцпюллмнцн         
    @    MMAKCC.CMD     мю яхяреле RSX                                           наеяоевемхъ. гюлерэре, врн нмх пюанрючр я кнцхвея-         
    @    TMAKCC.COM     мю яхяреле RT-11                                         йхлх сярпниярбюлх, йнрнпше нопедекъчряъ  бме  опн-         
                                                                                 жеяяю онярпнемхъ (PUB: мю RSTS/E, BIN: мю VMS).            
        гюрел якедсер онярпнхрэ юяяелакеп:                                                                                                  
                                                                        [6,2]   [.MISC]                                                     
    @    VMAKAS.COM     мю яхяреле VMS                                         - хцпсьйх   х   опнвхе   ьрсвйх.    ялнрпхре    тюик         
    ATPK XMAKAS.CMD     мю RSTS/E б пефхле RSX                                   [6,2]README.602  дкъ  онксвемхъ  анкее   ондпнамни         
    ATPK RMAKAS.CMD     мю RSTS/E б пефхле RT-11                                 хмтнплюжхх. дкъ онярпнемхъ щрни йсумх мю RSTS/E  х         
    @    MMAKAS.CMD     мю яхяреле RSX                                           VMS дючряъ йнлюмдмше тюикш.                                
    @    TMAKAS.COM     мю яхяреле RT-11                                                                                                    
                                                                        [6,3]   [.CROSS]                                                    
   [5,4]   [.OTSCOM]                                                           - мюанп йпняя-юяяелакепнб. дкъ ондпнамни  хмтнплюжхх         
          - дюммши пюгдек  яндепфхр  хяундмше  рейярш  "наыеи"                   ялнрпхре тюик [.6,3]README.603. дюммши пюгдек рюй-         
            хяонкмъчыеи ахакхнрейх.  щрх  тюикш  ме  бшонкмъчр                   фе яндепфхр йнохч йнлохкърнпю "я" дкъ 8080,  носа-         
            ббндю/бшбндю х ъбкъчряъ  ноепюжхнммн  мегюбхяхлшлх                   кхйнбюммнцн б DR. DOBBS JOURNAL, люпр 1980.                
            (гюлерэре, врн мейнрнпше лндскх напюыючряъ й  аха-                                                                              
            кхнревмшл тюикюл дкъ бшбндю яннаыемхи на ньхайюу).          [6,4]   [.LEX]                                                      
            мейнрнпше лндскх бшгшбючряъ опълшл йнднл  яцемепх-                 - цемепюрнп кейяхвеяйху юмюкхгюрнпнб.                        
            пнбюммшу онякеднбюрекэмняреи (р.е.  щрн  опнцпюллш                                                                              
            напюанрйх хмярпсйжхи EIS). йнлюмдмше тюикш упюмър-          [6,5]   [.MICROSS]                                                  
            яъ б [-.OTSIO] хкх [5,5]).                                         - люьхммнмегюбхяхлши йпняя-юяяелакеп  дкъ  лхйпнопн-         
                                                                                 жеяянпю. бйкчвемш  рюакхжш  дкъ  цемепюжхх  йпняя-         
   [5,5]   [.OTSIO]                                                              юяяелакепнб мю меяйнкэйн лхйпнопнжеяянпнб.                 
          - дюммши  пюгдек  яндепфхр  хяундмше  рейярш   вюярх                                                                              
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 123 -                                                              - 124 -                                   
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
   [6,6]                                                                        PIP DISK:[*,*]=TAPE:[*,*]                                   
          - дюммши пюгдек б мюярнъыее бпелъ гюпегепбхпнбюм дкъ                                                                              
            вецн-мхасдэ хмрепеямемэйнцн, рхою оноскъпмнцн YACC               пюгдек [5,2] яндепфхр опедбюпхрекэмн онярпнеммсч  яхя-         
            хкх рюйнцн фе гюаюбмнцн.                                    релс  дкъ  RSTS/E.  нмю  ашкю  онярпнемю  осрел  бшонкмемхъ         
                                                                        йнлюмдмнцн тюикю [5,1]RBUILD.CMD я онлныэч ATPK.  гюлерэре,         
   [6,7]                                                                врн дюммши пюгдек яндепфхр  яйнлохкхпнбюммсч  опнцпюллс  мю         
          - хяундмюъ онярюбйю хг  DECUS  бепяхх  SRD.TSK.  щрн          ъгшйе BASIC-PLUS - MCR.BAC. еякх бюью  хяонкмъчыюъ  яхярелю         
            яксфеамюъ  опнцпюллю,  хяонкэгселюъ  мю   яхярелюу          дкъ  BASIC-PLUS  хяонкэгсер  дпсцни  оюйер  юпхтлерхйх,  рн         
            RSX-11 дкъ пюанрш я йюрюкнцюлх  б  нрянпрхпнбюммнл          гюосяй MCR.BAC опхбедер й яннаыемхч на ньхайе "?WRONG  MATH         
            бхде. еякх йюрюкнцх нрянпрхпнбюмш,  рн  опнцпюллш,          PACKAGE" (мебепмши оюйер юпхтлерхйх). еякх щрн яксвхряъ, рн         
            хяонкэгсчыхе цпсоонбше  ноепюжхх  нрйпшрхъ  тюикнб          бюл  якедсер  бмнбэ  онярпнхрэ  опнцпюллс   MCR.BAS.   тюик         
            (FWILD/FNEXT), асдср пюанрюрэ опюбхкэмн. дкъ анкее          [5,1]TS1.CMD онйюгшбюер опхлеп рюйни опнжедспш онярпнемхъ.          
            ондпнамни хмтнплюжхх ялнрпхре днйслемрюжхч мю аха-                                                                              
            кхнревмсч тсмйжхч FWILD().                                       тюик CX.OLB ме мсфем дкъ яхярел RSTS/E  х  лнфер  ашрэ         
                                                                        сдюкем. нм опхясрярбсер б дюммнл пюгдеке рнкэйн  дкъ  рнцн,         
                                                                        врнаш бяе дбнхвмше тюикш  ашкх  янапюмш  блеяре  б  пюгдеке         
                                                                        [5,1].                                                              
                                                                                                                                            
                                                                             якедсчыхе йнлюмдш днкфмш ашрэ днаюбкемш  й  ярюпрнбнлс         
               4. нагнп опнжедспш гюосяйю яхярелш                       яхярелмнлс йнлюмдмнлс тюикс (оепед бшонкмемхел RBUILD):             
                                                                                                                                            
                                                                         RUN $UTILTY                                                        
                                                                         ADD LOGICAL [5,2] C     ! нопедекхрэ кнцхвеяйне хлъ "C"            
                                                                         CCL XCC-=C:CC.TSK;0     ! CC йнлохкърнп дкъ RSX                    
        еякх бш бшонкмъере гюосяй яхярелш "я" боепбше, рн яке-           CCL XAS-=C:AS.TSK;0     ! AS юяяелакеп дкъ RSX                     
   дсер пюяоевюрюрэ бяе тюикш "README.???", тюикш я днйслемрю-           CCL CC-=C:CC.SAV;8220   ! CC йнлохкърнп дкъ RT-11                  
   жхеи мю йнлохкърнп х ахакхнрейс CC.DOC х WIZARD.DOC (б пюг-           CCL AS-=C:CC.SAV;8220   ! AS юяяелакеп дкъ RT-11                   
   деке [5,2]), ю рюйфе йнлюмдмше тюикш дкъ бюьеи ноепюжхнммни           CCL MCR-=C:MCR.*;30000  ! оепейкчвхрэ CCL мю                       
   яхярелш.                                                                                      !  бшгнб он жеонвйе                        
                                                                                                                                            
                                                                             йнлюмдмше тюикш дкъ онярпнемхъ "хмярпслемрнб"  хяонкэ-         
                         опедсопефдемхе                                 гсчр яхярелмн-хгбеярмне кнцхвеяйне хлъ PUB:. нмн лнфер ашрэ         
                                                                        мюгмювемн мю [1,2] хкх йюйни-кхан дпсцни "наыеахакхнревмши"         
   йнлюмдмше тюикш RT11.MAC х RSX.MAC, бундъыхе б янярюб  оня-          пюгдек. еякх бш ме унрхре педюйрхпнбюрэ щрх тюикш, рн мена-         
   рюбйх, опедонкюцючр мюкхвхе хмярпсйжхх SXT. щрю  хмярпсйжхъ          ундхлн днаюбхрэ PUB: б йювеярбе "наыеяхярелмнцн  кнцхвеяйн-         
   нрясрярбсер мю мейнрнпшу лндекъу PDP-11. еякх опнцпюллш  мю          цн" хлемх.                                                          
   "я" хкх ахакхнрейх днкфмш пюанрюрэ  мю  лндекъу  PDP-11/20,                                                                              
   PDP-11/05 хкх PDP-11/40 аег EIS, рн тюикш  люйпн-гюцнкнбйнб               саедхреяэ, врн опюбхкэмн сярюмнбкемш йндш  гюыхрш  дкъ         
   днкфмш ашрэ нрпедюйрхпнбюмш рюй, врнаш "C$$SXT =  0"  оепед          тюикнб, пюяонкнфеммшу б C:. б онярюбкъелшу тюикюу бяе  йндш         
   онярпнемхел йнлохкърнпю хкх ахакхнрейх.                              гюыхрш пюбмш <40> (днярсомш  бяел  дкъ  времхъ).  бш  рюйфе         
                                                                        лнфере днаюбхрэ CC.HLP й япедярбюл HELP.  тнплюр  янблеярхл         
                                                                        ян япедярбюлх HELP дкъ RSTS/E V7.0.                                 
                                                                                                                                            
             4.1. гюосяй б яхяреле RSTS/E                                    гюосяй бяеи яхярелш я хяонкэгнбюмхел сопюбкъчыецн тюи-         
                                                                        кю [5,1]RBUILD.CMD гюмхлюер нйнкн 90 лхмср мю якецйю гюцпс-         
                                                                        феммни яхяреле 11/70.                                               
                                                                                                                                            
        дюммюъ опнжедспю гюосяйю опедонкюцюер пюанрс б  RSTS/E               гюлерэре, дкъ бшонкмемхъ опнжедспш гюосяйю  мю  RSTS/E         
   V7.0. еякх бш пюанрюере мю анкее пюммеи бепяхх, рн опхдеряъ          менаундхлн накюдюрэ опхбхкецхълх яхярелмнцн  юдлхмхярпюрнпю         
   нрпедюйрхпнбюрэ йнлюмдмше тюикш, опенапюгсъ ху б  сопюбкъч-          дкъ бйкчвемхъ йнлюмд CCL, наыеяхярелмшу кнцхвеяйху  хлем  х         
   ыхе тюикш оюйермни напюанрйх. бнглнфмн бюл  опхдеряъ  нрпе-          дкъ янгдюмхъ тюикнб б дпсцху пюгдекюу. мх ндмю опнцпюллю мю         
   дюйрхпнбюрэ SUPORT.MAC, INIT.MAC, FWILD.MAC х SBREAK.MAC  б          "я" ме рпеасер опхбхкецхи <232> дкъ ябнеи пюанрш.                   
   хяонкмъчыеи ахакхнрейе, оняйнкэйс щрх  опнцпюллш  опедонкю-                                                                              
   цючр мюкхвхе бнглнфмняреи, йнрнпше ашкх днаюбкемш б V7.0.                                                                                
                                                                                                                                            
        янгдюире пюгкхвмше пюгдекш я [5,1] он [5,7] х я  [6,1]                                                                              
   он [6,7]. пюгдекш лнцср  ашрэ  янгдюмш  мю  вюярмнл  дхяйе.                                                                              
   гюрел яйнохпсире онярюбкъелсч кемрс б щрх пюгдекш:                                                                                       
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 125 -                                                              - 126 -                                   
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
             4.2. гюосяй б яхяреле VMS                                  мше тюикш мю дхяй. хг-гю рнцн, врн опнхяундхр лмнцн оепелн-         
                                                                        рнй люцмхрмни кемрш, дкъ бшонкмемхъ щрни опнжедспш рпеасер-         
                                                                        яъ меяйнкэйн вюянб.                                                 
                                                                                                                                            
        дюммше опнжедспш гюосяйю опедонкюцючр VMS  V2.0.  еякх               дюкее бшонкмхре сярюмнбйс яхярелш я онлныэч  йнлюмдмни         
   бш хяонкэгсере анкее пюммчч бепяхч, рн опхдеряъ  нрпедюйрх-          опнжедспш VBUILD.COM. яцемепхпнбюммше опнцпюллш гюохяшбючр-         
   пнбюрэ йнлюмдмше тюикш, гюлемъъ он лепе менаундхлнярх  мюг-          яъ б пндхрекэяйхи йюрюкнц он нрмньемхч й [.COMMAND] (нашвмн         
   мювемхъ пюгдекнб.                                                    б [...DECUSC]). хмярпслемрш гюохяшбючря мю кнцхвеяйне  сяр-         
                                                                        пниярбн BIN:, йнрнпне днкфмн ашрэ нопедекемн оепед гюосяйнл         
        янгдюире пюгкхвмше пюгдекш х яйнохпсире пюгдек [5,1] я          опнжеяяю онярпнемхъ.                                                
   люцмхрмни кемрш б пюгдек [.COMMAND]:                                                                                                     
                                                                             тюик [.COMMAND]CCHLP.COM ъбкъеряъ йнлюмдмшл дкъ днаюб-         
           $ CREATE/DIR DISK:[DECUSC]                                   кемхъ CC.HLP дкъ яхярелмни ахакхнрейх яопюбнвмни хмтнплюжхх         
                                                                        (VMS V2.0). дкъ щрнцн менаундхлш опюбю днярсою он гюохях  й         
        тюикнбюъ яхярелю VMS V2.0  онддепфхбюер  нрмняхрекэмши          ахакхнрейе HELP.                                                    
   днярсо й йюрюкнцюл якедсчыхл напюгнл:                                                                                                    
                                                                                                                                            
           [-.SUBDIRECTORY]                                                                                                                 
                                                                                  4.3. гюосяй б яхяреле RSX-11M                             
   врн нгмювюер "оепеирх й пндхрекэяйнлс йюрюкнцс он нрмньемхч                                                                              
   й рейсыелс, ю гюрел бмхг  й  сйюгюммнлс  ондйюрюкнцс".  щрн                                                                              
   юмюкнцхвмн яхмрюйяхяс б яхяреле UNIX:                                                                                                    
                                                                             дючряъ йнлюмдмше тюикш бхдю M?????.CMD. ху  ме  онрпе-         
           ../SUBDIRECTORY                                              асеряъ  педюйрхпнбюрэ  дкъ  RSX-11M  V3.2.  бшонкмхре   ху,         
                                                                        хяонкэгсъ яхярелмсч йнлюмдс "@", нрбевюъ мю яннрберярбсчыхе         
        щрю бнглнфмнярэ ме онддепфхбюеряъ б опедшдсыху бепяхъу          бнопняш он лепе менаундхлнярх. гюлерэре, врн дбнхвмюъ йнохъ         
   VMS. еякх бш пюанрюере ме онд сопюбкемхел VMS V2.0, рн  бюл          CX.OLB (хмрептеиямюъ ахакхнрейю RSX)  мюундхряъ  б  пюгдеке         
   опхдеряъ нрпедюйрхпнбюрэ йнлюмдмше тюикш .COM яннрберярбсч-          [5,2]. мейнрнпше опнцпюллш хмрептеиямни ахакхнрейх RSX яое-         
   ыхл напюгнл. б кчанл яксвюе  менаундхлн  янгдюрэ  якедсчыхе          жхтхвмш дкъ бепяхх V3.2 х ме асдср юяяелакхпнбюрэяъ мю опе-         
   ондйюрюкнцх:                                                         дшдсыху бепяхъу (хкх мю RSTS/E б щлскърнпе RSX-11M).                
                                                                                                                                            
   [5,1]   [.COMMAND]      йнлюмдмше тюикш х днйслемрюжхъ                                                                                   
   [5,2]   [.RSTS]         дкъ RSTS (лнфер ашрэ носыем)                                                                                     
   [5,3]   [.COMP]         рейярш йнлохкърнпю                                     4.4. гюосяй б яхяреле RT-11                               
   [5,4]   [.OTSCOM]       наыюъ ахакхнрейю (аег б/б)                                                                                       
   [5,5]   [.OTSIO]        хяонкмъчыюъ ахакхнрейю б/б                                                                                       
   [5,6]   [.RSTSLB]       ахакхнрейю RSTS/E                                                                                                
   [5,7]   [.RSXLIB]       ахакхнрейю RSX-11M                                опняреиьхи яоняна онярпнхрэ яхярелс дкъ  RT-11  -  щрн         
                                                                        бмювюке онярпнхрэ яхярелс дкъ RSTS/E. дюкее, хяонкэгсъ ATPK         
   [6,1]   [.TOOLS]        онкегмше опнцпюллш мю "я"                    дкъ бшонкмемхъ RTKIT.CMD (оняке  педюйрхпнбюмхъ),  яйнохпн-         
   [6,2]   [.MISC]         бяъйюъ бяъвхмю                               бюрэ тюикш мю дхяй, хлечыхи тнплюр RT-11. дкъ гюосяйю  йнл-         
   [6,3]   [.CROSS]        йпняя-юяяелакепш                             охкърнпю менаундхлн нопедекхрэ кнцхвеяйне сярпниярбн  C:  х         
   [6,4]   [.LEX]          кейяхвеяйхи юмюкхгюрнп                       мюгмювхрэ ецн мю дхяй, яндепфюыхи тюикш дкъ "INCLUDE <>"  х         
   [6,5]   [.MICROSS]      дпсцни йпняя-юяяелакеп                       ахакхнрейх. бнр х бяе.                                              
                                                                                                                                            
        сярюмнбхре б йювеярбе рейсыецн йюрюкнцю  он  слнквюмхч               хлечряъ йнлюмдмше  опнжедспш  тнплюрю  T?????.COM  дкъ         
   [.COMMAND] х яйнохпсире [5,1]VRKIT.COM я люцмхрмни кемрш  б          "нпхцхмюкэмни" яхярелш RT-11.  нмх  ме  норхлхгхпнбюмш  дкъ         
   щрнр пюгдек:                                                         лхмхлхгюжхх хяонкэгнбюмхъ дхяйнбни оюлърх.                          
                                                                                                                                            
           $ SET DEFAULT [.COMMAND]                                          гю хяйкчвемхел "RT11.MAC" х "RSX.MAC"  (йнрнпше  бегде         
           $ MOUNT/FOREIGN MTA0:                                        хдемрхвмш), мер хгбеярмшу йнмткхйрнб япедх хлем тюикнб йнл-         
           $ MCR FLX SY:=MTA0:[5,1]VRKIT.COM/DO                         охкърнпю х ахакхнрей. ндмюйн б ябъгх  я  пюглепнл  онярюбйх         
                                                                        яхярелш "я" фекюрекэмн хлерэ пюгкхвмше дхяйх  дкъ  упюмемхъ         
        реоепэ нрпедюйрхпсире  VRKIT.COM  дкъ  бюьху  жекеи  х          пюгкхвмшу йнлонмемр яхярелш "я".                                    
   гюосярхре ецн мю бшонкмемхе (еякх бюью онярюбйю мю  люцмхр-                                                                              
   мшу  кемрюу  он  600  тсрнб,  рн   менаундхлн   яйнохпнбюрэ               яхярелю "я" лнфер пюанрюрэ мю йнлокейяюу рхою PDT-150,         
   VRKIT1.COM, VRKIT2.COM,  VRKIT3.COM  х  онякеднбюрекэмн  ху          хлечыху рнкэйн цхайхе дхяйх.  нрясрярбсчр  йнлюмдмше  тюикш         
   бшонкмхрэ). йнлюмдмюъ опнжедспю VRKIT йнохпсер бяе  нярюкэ-          дкъ онярпнемхъ яхярелш б  онднамшу  йнмтхцспюжхъу.  б  щрнл         
                                                                                                                                            
                                                                                                                                            

                                                                                                                                            
                             - 127 -                                                                                                        
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
                                                                                                                                            
   яксвюе менаундхлн яйнохпнбюрэ менаундхлше тюикш  мю  цхайхи                                                                              
   дхяй якедсчыхл напюгнл:                                                                                                                  
                                                                                                                                            
          - онярпнхрэ RT-11,  яндепфюысч  опнцпюллш  пюанрш  я                                                                              
            тюикюлх, педюйрнпш, LINK.SAV х LIBR.SAV;                                                                                        
                                                                                                                                            
          - яйнохпнбюрэ CC.SAV, AS.SAV х STDIO.H мю щрнр  дхяй                                                                              
            (мю дхяйе нярюмеряъ янбяел мелмнцн ябнандмшу  акн-                                                                              
            йнб). щрнр дхяй асдер хлерэ кнцхвеяйне хлъ C:.                                                                                  
                                                                                                                                            
          - бшонкмхрэ хмхжхюкхгюжхч брнпнцн дхяйю  х  яйнохпн-                                                                              
            бюрэ мю мецн CLIB.OBJ х SUPORT.OBJ.                                                                                             
                                                                                                                                            
        бюьх опнцпюллш мю "я"  днкфмш  янгдюбюрэяъ  мю  брнпнл                                                                              
   дхяйе. рюл асдер мелмнцхл анкее 300 ябнандмшу акнйнб  оняке                                                                              
   янгдюмхъ CLIB.OBJ х  SUPORT.OBJ.  бюл  якедсер  онярюпюрэяъ                                                                              
   пюглеыюрэ йюй лнфмн анкее йнпнрйхе тюикш я  опнцпюллюлх  мю                                                                              
   ъгшйе "я" х опх щрнл хяонкэгнбюрэ  ахакхнрейюпэ/йнлонмнбыхй                                                                              
   дкъ янгдюмхъ анкэьху опнцпюлл. мюопхлеп,  опнцпюллю  MAZE.C                                                                              
   (хг [6,2]) рпеасер  нйнкн  200  акнйнб  бпелеммни  дхяйнбни                                                                              
   оюлърх дкъ йнлохкъжхх. щрнцн меубюрюер б  анкэьхмярбе  якс-                                                                              
   вюеб.                                                                                                                                    
                                                                                                                                            
        яхярелю опнцпюллхпнбюмхъ дкъ ъгшйю "я"  ме  реярхпнбю-                                                                              
   кюяэ мю HT-11. мейнрнпше ахакхнревмше опнцпюллш  хяонкэгсчр                                                                              
   лнмхрнпмше гюопняш дкъ RT-11 бепяхъ 3, йнрнпше ме напюаюрш-                                                                              
   бючряъ мю HT-11. ндмюйн, ме янярюбхр анкэьнцн  рпсдю  яйнп-                                                                              
   пейрхпнбюрэ ахакхнрейс он лепе менаундхлнярх.