DataMuseum.dk

Presents historical artifacts from the history of:

DANOSI

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DANOSI

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦6284557d1⟧

    Length: 205952 (0x32480)
    Names: »RTP004.WP«

Derivation

└─⟦0634bcb0f⟧ Bits:30010529 ABA: RTP syndia RC macro DVBS1.SW2114.src.2.6-7 PN 99110141
    └─⟦this⟧ »RTP004.WP« 

Default Hex Dump

0x00000…00020 00 00 00 00 00 00 00 00 42 06 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0b 4e 00 00 00   ┆        B                   N   ┆
0x00020…00040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
0x00040…00060 00 00 00 00 00 00 00 04 00 2d 4c 00 00 06 00 00 00 00 02 01 41 31 40 00 00 00 00 00 00 00 00 00   ┆         -L         A1@         ┆
0x00060…00080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 04   ┆                                ┆
0x00080…000a0 16 6d 61 20 66 72 6f 6e 74 20 39 39 30 30 78 78 78 0d 0a 52 65 66 65 72 65 6e 63 65 20 4d 61 6e   ┆ ma front 9900xxx  Reference Man┆
0x000a0…000c0 75 61 6c 0d 0a 66 6f 72 20 52 43 33 35 30 32 0d 0a 52 65 61 6c 2d 54 69 6d 65 20 50 61 73 63 61   ┆ual  for RC3502  Real-Time Pasca┆
0x000c0…000e0 6c 0d 0a 16 6d 61 20 73 74 61 72 74 20 22 52 43 33 35 30 32 20 52 65 61 6c 2d 54 69 6d 65 20 50   ┆l   ma start "RC3502 Real-Time P┆
0x000e0…00100 61 73 63 61 6c 22 0d 0a 16 6d 6b 20 73 69 64 65 66 6f 72 6d 61 74 20 69 20 31 31 0d 0a 0d 0a 0d   ┆ascal"   mk sideformat i 11     ┆
0x00100…00120 0a a1 b0 46 4f 52 45 57 4f 52 44 2e 20 0d 0a 0d 0a e1 f0 54 68 69 73 20 65 64 69 74 69 6f 6e 20   ┆ А░FOREWORD.     р This edition ┆
0x00120…00140 6f 66 20 74 68 65 20 52 43 33 35 30 32 2f 32 20 52 65 61 6c 2d 54 69 6d 65 20 50 61 73 63 61 6c   ┆of the RC3502/2 Real-Time Pascal┆
0x00140…00160 20 52 65 66 65 72 65 6e 63 65 20 4d 61 6e 75 61 6c 20 69 73 20 0a 75 70 64 61 74 65 64 20 61 63   ┆ Reference Manual is  updated ac┆
0x00160…00180 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 73 65 70 61 72 61 74 65 6c 79 20 72 65 6c 65 61 73   ┆cording to the separately releas┆
0x00180…001a0 65 64 20 70 61 70 65 72 73 20 61 62 6f 75 74 20 63 68 61 6e 67 65 73 20 0a 61 6e 64 20 6d 61 6e   ┆ed papers about changes  and man┆
0x001a0…001c0 75 61 6c 20 75 70 64 61 74 65 73 20 61 6e 6e 6f 75 6e 63 65 64 20 69 6e 20 53 49 53 2e 20 43 68   ┆ual updates announced in SIS. Ch┆
0x001c0…001e0 61 6e 67 65 73 20 61 72 65 20 6d 61 72 6b 65 64 20 77 69 74 68 20 0a 63 6f 72 72 65 63 74 69 6f   ┆anges are marked with  correctio┆
0x001e0…00200 6e 20 6c 69 6e 65 73 20 69 6e 20 74 68 65 20 6c 65 66 74 20 6d 61 72 67 69 6e 2e 20 54 68 69 73   ┆n lines in the left margin. This┆
0x00200…00220 20 69 73 20 61 6e 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 0a   ┆ is an intermediate version of  ┆
0x00220…00240 74 68 65 20 6d 61 6e 75 61 6c 20 72 65 66 6c 65 63 74 69 6e 67 20 72 65 6c 65 61 73 65 20 33 20   ┆the manual reflecting release 3 ┆
0x00240…00260 6f 67 20 74 68 65 20 52 54 50 33 35 30 32 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 72 65 6c 65   ┆og the RTP3502 compiler and rele┆
0x00260…00280 61 73 65 20 0a 33 20 6f 66 20 74 68 65 20 72 75 6e 20 74 69 6d 65 20 73 79 73 74 65 6d 2e 20 57   ┆ase  3 of the run time system. W┆
0x00280…002a0 69 74 68 20 72 65 6c 65 61 73 65 20 34 20 6f 66 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 2c 20 74   ┆ith release 4 of the compiler, t┆
0x002a0…002c0 68 65 20 0a 6c 61 6e 67 75 61 67 65 20 69 73 20 63 68 61 6e 67 65 64 20 69 6e 20 64 69 72 65 63   ┆he  language is changed in direc┆
0x002c0…002e0 74 69 6f 6e 20 6f 66 20 52 65 61 6c 2d 54 69 6d 65 20 50 61 73 63 61 6c 20 61 73 20 64 65 66 69   ┆tion of Real-Time Pascal as defi┆
0x002e0…00300 6e 65 64 20 69 6e 20 0a 74 68 65 20 6c 61 6e 67 75 61 67 65 20 72 65 66 65 72 65 6e 63 65 20 6d   ┆ned in  the language reference m┆
0x00300…00320 61 6e 75 61 6c 20 28 72 65 66 20 38 2e 29 2e 20 41 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65   ┆anual (ref 8.). At the same time┆
0x00320…00340 20 52 54 50 38 36 20 69 73 20 0a 63 68 61 6e 67 65 64 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d   ┆ RTP86 is  changed in order to m┆
0x00340…00360 61 6b 65 20 74 68 65 20 74 77 6f 20 64 69 61 6c 65 63 74 73 20 6f 66 20 74 68 65 20 6c 61 6e 67   ┆ake the two dialects of the lang┆
0x00360…00380 75 61 67 65 20 6e 65 61 72 6c 79 20 0a 65 71 75 61 6c 2c 20 6d 61 6b 69 6e 67 20 69 74 20 70 6f   ┆uage nearly  equal, making it po┆
0x00380…003a0 73 73 69 62 6c 65 20 74 6f 20 70 6f 72 74 20 70 72 6f 67 72 61 6d 73 20 66 72 6f 6d 20 6f 6e 65   ┆ssible to port programs from one┆
0x003a0…003c0 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 74 6f 20 0a 74 68 65 20 6f 74 68 65 72 20 77 69   ┆ implementation to  the other wi┆
0x003c0…003e0 74 68 20 61 20 6d 69 6e 69 6d 75 6d 20 6f 66 20 65 66 66 6f 72 74 2e 20 4f 6c 64 20 70 72 6f 67   ┆th a minimum of effort. Old prog┆
0x003e0…00400 72 61 6d 73 20 6d 61 79 20 62 65 20 63 68 61 6e 67 65 64 20 0a 6e 65 61 72 6c 79 20 61 75 74 6f   ┆rams may be changed  nearly auto┆
0x00400…00420 6d 61 74 69 63 61 6c 6c 79 20 62 79 20 61 20 70 6f 72 74 69 6e 67 20 75 74 69 6c 69 74 79 20 70   ┆matically by a porting utility p┆
0x00420…00440 72 6f 67 72 61 6d 6d 65 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 0a 70 61 72 74 20 6f 66   ┆rogramme, which will be  part of┆
0x00440…00460 20 74 68 65 20 72 65 6c 65 61 73 65 20 70 61 63 6b 61 67 65 2e 20 0d 0a 16 53 41 0d 0a 49 4e 54   ┆ the release package.    SA  INT┆
0x00460…00480 52 4f 44 55 43 54 49 4f 4e e1 f0 20 20 20 20 20 20 20 0d 0a 54 68 69 73 20 6d 61 6e 75 61 6c 20   ┆RODUCTIONр          This manual ┆
0x00480…004a0 64 65 73 63 72 69 62 65 73 20 74 68 65 20 52 43 33 35 30 32 20 4d 6f 64 65 6c 20 32 20 69 6d 70   ┆describes the RC3502 Model 2 imp┆
0x004a0…004c0 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 0a 70 72 6f 67 72 61 6d 6d 69 6e 67 20   ┆lementation of the  programming ┆
0x004c0…004e0 6c 61 6e 67 75 61 67 65 20 52 65 61 6c 2d 54 69 6d 65 20 50 61 73 63 61 6c 2e 20 0d 0a 0d 0a 49   ┆language Real-Time Pascal.     I┆
0x004e0…00500 74 20 73 68 6f 75 6c 64 20 62 65 20 6e 6f 74 65 64 2c 20 74 68 61 74 20 74 68 65 20 6e 61 6d 65   ┆t should be noted, that the name┆
0x00500…00520 20 6f 66 20 74 68 65 20 6c 61 6e 67 75 61 67 65 20 77 61 73 20 63 68 61 6e 67 65 64 20 66 72 6f   ┆ of the language was changed fro┆
0x00520…00540 6d 20 0a 50 41 53 43 41 4c 38 30 20 74 6f 20 52 65 61 6c 2d 54 69 6d 65 20 50 61 73 63 61 6c 20   ┆m  PASCAL80 to Real-Time Pascal ┆
0x00540…00560 69 6e 20 31 39 38 31 2e 20 0d 0a 0d 0a 54 68 65 20 6d 61 6e 75 61 6c 20 69 73 20 73 74 72 75 63   ┆in 1981.     The manual is struc┆
0x00560…00580 74 75 72 65 64 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 77 61 79 3a 20 0d 0a 0d 0a   ┆tured in the following way:     ┆
0x00580…005a0 43 68 61 70 74 65 72 20 32 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 64 69 66 66 65 72 65 6e 63   ┆Chapter 2 contains the differenc┆
0x005a0…005c0 65 73 20 61 6e 64 20 6c 69 6d 69 74 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 52 43 33 35 30 32   ┆es and limitations of the RC3502┆
0x005c0…005e0 2f 32 20 0a 52 65 61 6c 2d 54 69 6d 65 20 50 61 73 63 61 6c 20 6c 61 6e 67 75 61 67 65 20 72 65   ┆/2  Real-Time Pascal language re┆
0x005e0…00600 6c 61 74 65 64 20 74 6f 20 74 68 65 20 50 41 53 43 41 4c 38 30 20 52 65 70 6f 72 74 20 28 72 65   ┆lated to the PASCAL80 Report (re┆
0x00600…00620 66 2e 20 31 29 2e 20 0d 0a 0d 0a 43 68 61 70 74 65 72 20 33 20 64 65 73 63 72 69 62 65 73 20 74   ┆f. 1).     Chapter 3 describes t┆
0x00620…00640 68 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 6f 62 6a 65 63 74 73 20 61 74 20   ┆he representation of objects at ┆
0x00640…00660 72 75 6e 20 74 69 6d 65 2e 20 0d 0a 0d 0a 43 68 61 70 74 65 72 20 34 20 64 65 73 63 72 69 62 65   ┆run time.     Chapter 4 describe┆
0x00660…00680 73 20 61 6c 6c 20 74 68 65 20 61 76 61 69 6c 61 62 6c 65 20 72 6f 75 74 69 6e 65 73 2e 20 0d 0a   ┆s all the available routines.   ┆
0x00680…006a0 0d 0a 43 68 61 70 74 65 72 20 35 20 64 65 73 63 72 69 62 65 73 20 74 68 65 20 73 74 61 6e 64 61   ┆  Chapter 5 describes the standa┆
0x006a0…006c0 72 64 20 70 72 6f 63 65 73 73 65 73 20 63 6f 6d 70 72 69 73 69 6e 67 20 74 68 65 20 72 75 6e 20   ┆rd processes comprising the run ┆
0x006c0…006e0 74 69 6d 65 20 0a 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 66 6f 72 20 52 43 33 35 30 32 2f 32 20 52   ┆time  environment for RC3502/2 R┆
0x006e0…00700 65 61 6c 2d 54 69 6d 65 20 50 61 73 63 61 6c 20 70 72 6f 67 72 61 6d 73 2e 20 0d 0a 0d 0a 54 68   ┆eal-Time Pascal programs.     Th┆
0x00700…00720 65 20 61 70 70 65 6e 64 69 63 65 73 20 42 2c 20 43 20 61 6e 64 20 44 20 64 65 73 63 72 69 62 65   ┆e appendices B, C and D describe┆
0x00720…00740 20 74 68 65 20 75 73 65 20 6f 66 20 74 68 65 20 52 43 33 35 30 32 2f 32 20 52 65 61 6c 2d 0a 54   ┆ the use of the RC3502/2 Real- T┆
0x00740…00760 69 6d 65 20 50 61 73 63 61 6c 20 63 6f 6d 70 69 6c 65 72 20 69 6e 63 6c 75 64 69 6e 67 20 65 72   ┆ime Pascal compiler including er┆
0x00760…00780 72 6f 72 20 6d 65 73 73 61 67 65 73 2e 20 0d 0a 0d 0a 55 74 69 6c 69 74 69 65 73 20 66 6f 72 20   ┆ror messages.     Utilities for ┆
0x00780…007a0 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 6f 66 20 73 6f 75 72 63 65 20 61 6e 64 20 6f 62 6a 65 63   ┆manipulation of source and objec┆
0x007a0…007c0 74 20 70 72 6f 67 72 61 6d 73 20 61 72 65 20 64 65 73 63 72 69 62 65 64 20 0a 69 6e 20 61 70 70   ┆t programs are described  in app┆
0x007c0…007e0 65 6e 64 69 63 65 73 20 45 20 61 6e 64 20 46 2e 20 0d 0a 0d 0a 41 70 70 65 6e 64 69 78 20 47 20   ┆endices E and F.     Appendix G ┆
0x007e0…00800 64 65 73 63 72 69 62 65 73 20 68 6f 77 20 61 20 6c 6f 61 64 20 66 69 6c 65 20 6f 72 20 61 75 74   ┆describes how a load file or aut┆
0x00800…00820 6f 6c 6f 61 64 20 66 69 6c 65 20 69 73 20 67 65 6e 65 72 61 74 65 64 20 6f 6e 20 0a 61 6e 20 52   ┆oload file is generated on  an R┆
0x00820…00840 43 38 30 30 30 2e 20 0d 0a 0d 0a 41 70 70 65 6e 64 69 78 20 48 20 63 6f 6e 74 61 69 6e 73 20 61   ┆C8000.     Appendix H contains a┆
0x00840…00860 20 63 6f 6d 70 6c 65 74 65 20 6c 69 73 74 20 6f 66 20 6c 61 6e 67 75 61 67 65 20 73 79 6d 62 6f   ┆ complete list of language symbo┆
0x00860…00880 6c 73 2e 20 0d 0a 0d 0a 41 70 70 65 6e 64 69 63 65 73 20 49 20 61 6e 64 20 4a 20 63 6f 6e 74 61   ┆ls.     Appendices I and J conta┆
0x00880…008a0 69 6e 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 70 72 65 64 65 66 69 6e 65 64 20 63 6f 6e 73   ┆in a list of all predefined cons┆
0x008a0…008c0 74 61 6e 74 73 2c 20 74 79 70 65 73 2c 20 0a 61 6e 64 20 72 6f 75 74 69 6e 65 73 2e 20 0d 0a 0d   ┆tants, types,  and routines.    ┆
0x008c0…008e0 0a 41 70 70 65 6e 64 69 78 20 4b 20 63 6f 6e 74 61 69 6e 20 61 20 6c 69 73 74 20 6f 66 20 6f 70   ┆ Appendix K contain a list of op┆
0x008e0…00900 65 72 61 74 6f 72 20 69 6e 70 75 74 2f 6f 75 74 70 75 74 20 74 79 70 65 20 64 65 66 69 6e 69 74   ┆erator input/output type definit┆
0x00900…00920 69 6f 6e 73 20 0a 61 6e 64 20 72 6f 75 74 69 6e 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2e 20   ┆ions  and routine declarations. ┆
0x00920…00940 0d 0a 0d 0a 41 70 70 65 6e 64 69 78 20 4c 20 69 73 20 61 20 6d 6f 72 65 20 63 6f 6d 70 72 65 68   ┆    Appendix L is a more compreh┆
0x00940…00960 65 6e 73 69 76 65 20 65 78 61 6d 70 6c 65 20 75 73 69 6e 67 20 74 68 65 20 4f 50 45 52 41 54 4f   ┆ensive example using the OPERATO┆
0x00960…00980 52 20 0a 69 6e 70 75 74 2f 6f 75 74 70 75 74 20 72 6f 75 74 69 6e 65 73 2e 20 0d 0a 0d 0a 41 70   ┆R  input/output routines.     Ap┆
0x00980…009a0 70 65 6e 64 69 78 20 4d 20 63 6f 6e 74 61 69 6e 73 20 61 20 63 6f 6d 70 6c 65 74 65 20 6c 69 73   ┆pendix M contains a complete lis┆
0x009a0…009c0 74 20 6f 66 20 65 78 63 65 70 74 69 6f 6e 20 63 6f 64 65 73 2e 20 0d 0a 0d 0a 0d 0a 16 53 41 0d   ┆t of exception codes.        SA ┆
0x009c0…009e0 0a 49 4d 50 4c 45 4d 45 4e 54 41 54 49 4f 4e 20 44 45 54 41 49 4c 53 20 41 4e 44 20 4c 41 4e 47   ┆ IMPLEMENTATION DETAILS AND LANG┆
0x009e0…00a00 55 41 47 45 20 4d 4f 44 49 46 49 43 41 54 49 4f 4e 53 20 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69   ┆UAGE MODIFICATIONS   The followi┆
0x00a00…00a20 6e 67 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 61 6e   ┆ng is a list of modifications an┆
0x00a20…00a40 64 20 64 65 74 61 69 6c 73 20 61 73 20 63 6f 6d 70 61 72 65 64 20 74 6f 20 0a 74 68 65 20 50 41   ┆d details as compared to  the PA┆
0x00a40…00a60 53 43 41 4c 38 30 20 72 65 70 6f 72 74 20 6f 66 20 74 68 69 73 20 76 65 72 73 69 6f 6e 20 6f 66   ┆SCAL80 report of this version of┆
0x00a60…00a80 20 74 68 65 20 52 43 33 35 30 32 20 52 65 61 6c 2d 54 69 6d 65 20 50 61 73 63 61 6c 20 0a 69 6d   ┆ the RC3502 Real-Time Pascal  im┆
0x00a80…00aa0 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 20 54 68 65 20 72 65 66 65 72 65 6e 63 65 20 69 73 20 64   ┆plementation. The reference is d┆
0x00aa0…00ac0 6f 6e 65 20 62 79 20 70 61 67 65 20 61 6e 64 20 6c 69 6e 65 20 6e 75 6d 62 65 72 20 69 6e 20 74   ┆one by page and line number in t┆
0x00ac0…00ae0 68 65 20 0a 50 41 53 43 41 4c 38 30 20 52 65 70 6f 72 74 20 28 72 65 66 2e 20 31 29 2e 20 0d 0a   ┆he  PASCAL80 Report (ref. 1).   ┆
0x00ae0…00b00 0d 0a a1 44 79 6e 61 6d 69 63 20 54 79 70 65 73 20 0d 0a 0d 0a e1 54 68 65 20 52 65 61 6c 2d 54   ┆  АDynamic Types     рThe Real-T┆
0x00b00…00b20 69 6d 65 20 50 61 73 63 61 6c 20 63 6f 6d 70 69 6c 65 72 20 66 6f 72 20 52 43 33 35 30 32 20 61   ┆ime Pascal compiler for RC3502 a┆
0x00b20…00b40 6c 6c 6f 77 73 20 76 61 72 69 61 62 6c 65 73 20 69 6e 20 74 68 65 20 0a 65 78 70 72 65 73 73 69   ┆llows variables in the  expressi┆
0x00b40…00b60 6f 6e 73 20 64 65 66 69 6e 69 6e 67 20 74 68 65 20 62 6f 75 6e 64 73 20 6f 66 20 73 75 62 72 61   ┆ons defining the bounds of subra┆
0x00b60…00b80 6e 67 65 20 74 79 70 65 73 2e 20 49 74 20 69 73 20 64 65 6d 61 6e 64 65 64 20 74 68 61 74 20 0a   ┆nge types. It is demanded that  ┆
0x00b80…00ba0 76 61 72 69 61 62 6c 65 73 20 28 69 6e 63 6c 75 64 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 63 61   ┆variables (including function ca┆
0x00ba0…00bc0 6c 6c 73 29 20 61 72 65 20 64 65 63 6c 61 72 65 64 20 69 6e 20 61 20 73 75 72 72 6f 75 6e 64 69   ┆lls) are declared in a surroundi┆
0x00bc0…00be0 6e 67 20 0a 73 63 6f 70 65 2e 20 43 68 61 6e 67 65 20 6f 66 20 73 63 6f 70 65 20 69 73 20 72 65   ┆ng  scope. Change of scope is re┆
0x00be0…00c00 6c 61 74 65 64 20 74 6f 20 74 68 65 20 62 6c 6f 63 6b 20 73 74 75 63 74 75 72 65 20 6f 66 20 74   ┆lated to the block stucture of t┆
0x00c00…00c20 68 65 20 0a 70 72 6f 67 72 61 6d 2c 20 73 6f 20 74 68 61 74 20 61 20 6e 65 77 20 73 63 6f 70 65   ┆he  program, so that a new scope┆
0x00c20…00c40 20 69 73 20 73 74 61 72 74 65 64 3a 20 0d 0a 0d 0a 20 20 20 2d 20 61 74 20 74 68 65 20 73 74 61   ┆ is started:        - at the sta┆
0x00c40…00c60 72 74 20 6f 66 20 61 20 70 61 72 61 6d 65 74 65 72 20 6c 69 73 74 2c 20 0d 0a 0d 0a 20 20 20 2d   ┆rt of a parameter list,        -┆
0x00c60…00c80 20 61 74 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 6c 6f 63 61 6c 20 64 65 63 6c 61 72 61 74 69   ┆ at the start of local declarati┆
0x00c80…00ca0 6f 6e 73 2c 20 61 6e 64 20 0d 0a 0d 0a 20 20 20 2d 20 62 79 20 74 68 65 20 6b 65 79 20 77 6f 72   ┆ons, and        - by the key wor┆
0x00ca0…00cc0 64 20 22 61 73 22 20 69 6e 20 74 68 65 20 22 6c 6f 63 6b 22 2f 22 77 69 74 68 22 2d 20 73 74 61   ┆d "as" in the "lock"/"with"- sta┆
0x00cc0…00ce0 74 65 6d 65 6e 74 2e 20 0d 0a 0d 0a 54 68 65 20 63 6f 6d 70 72 69 73 69 6e 67 20 65 78 70 72 65   ┆tement.     The comprising expre┆
0x00ce0…00d00 73 73 69 6f 6e 73 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 20 6f 6e 63 65 2c 20 6e 61 6d 65 6c   ┆ssions are evaluated once, namel┆
0x00d00…00d20 79 20 61 74 20 74 68 65 20 0a 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 74 79 70 65   ┆y at the  definition of the type┆
0x00d20…00d40 2e 20 0d 0a 0d 0a 41 20 22 64 79 6e 61 6d 69 63 20 74 79 70 65 22 20 69 73 3a 20 0d 0a 0d 0a 73   ┆.     A "dynamic type" is:     s┆
0x00d40…00d60 75 62 72 61 6e 67 65 2c 20 77 68 65 72 65 20 6f 6e 65 20 6f 72 20 62 6f 74 68 20 62 6f 75 6e 64   ┆ubrange, where one or both bound┆
0x00d60…00d80 73 20 63 6f 6e 74 61 69 6e 20 76 61 72 69 61 62 6c 65 73 2c 20 0d 0a 0d 0a 61 72 72 61 79 2c 20   ┆s contain variables,     array, ┆
0x00d80…00da0 20 20 20 77 68 65 72 65 20 69 6e 64 65 78 20 74 79 70 65 20 61 6e 64 2f 6f 72 20 63 6f 6d 70 6f   ┆   where index type and/or compo┆
0x00da0…00dc0 6e 65 6e 74 20 74 79 70 65 20 69 73 20 64 79 6e 61 6d 69 63 2c 20 0d 0a 0d 0a 72 65 63 6f 72 64   ┆nent type is dynamic,     record┆
0x00dc0…00de0 2c 20 20 20 77 68 65 72 65 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 69   ┆,   where at least one of the fi┆
0x00de0…00e00 65 6c 64 73 20 69 73 20 64 79 6e 61 6d 69 63 2e 20 0d 0a 0d 0a 54 68 65 72 65 20 61 72 65 20 63   ┆elds is dynamic.     There are c┆
0x00e00…00e20 65 72 74 61 69 6e 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 75 73 65 20 6f   ┆ertain restrictions on the use o┆
0x00e20…00e40 66 20 64 79 6e 61 6d 69 63 20 74 79 70 65 73 3a 20 0d 0a 0d 0a 49 74 20 69 73 20 a1 61 6c 6c 6f   ┆f dynamic types:     It is Аallo┆
0x00e40…00e60 77 65 64 e1 20 74 6f 20 75 73 65 20 64 79 6e 61 6d 69 63 20 74 79 70 65 73 20 61 73 3a 20 0d 0a   ┆wedр to use dynamic types as:   ┆
0x00e60…00e80 0d 0a 20 20 20 2d 20 84 63 6f 6d 70 6f 6e 65 6e 74 20 74 79 70 65 20 69 6e 20 61 72 72 61 79 20   ┆     - ёcomponent type in array ┆
0x00e80…00ea0 64 65 66 69 6e 69 74 69 6f 6e 2c 20 0d 0a 20 20 20 2d 20 69 6e 64 65 78 20 74 79 70 65 20 69 6e   ┆definition,      - index type in┆
0x00ea0…00ec0 20 61 72 72 61 79 20 64 65 66 69 6e 69 74 69 6f 6e 2c 0d 0a 20 20 20 2d 20 74 68 65 20 74 79 70   ┆ array definition,     - the typ┆
0x00ec0…00ee0 65 20 6f 66 20 61 20 66 69 65 6c 64 20 69 6e 20 61 20 72 65 63 6f 72 64 2c 20 0d 0a 20 20 20 2d   ┆e of a field in a record,      -┆
0x00ee0…00f00 20 84 74 68 65 20 74 79 70 65 20 6f 66 20 61 20 76 61 72 69 61 62 6c 65 2c 20 0d 0a 20 20 20 2d   ┆ ёthe type of a variable,      -┆
0x00f00…00f20 20 84 74 68 65 20 74 79 70 65 20 6f 66 20 61 20 6c 6f 63 6b 2d 76 61 72 69 61 62 6c 65 2c 20 0d   ┆ ёthe type of a lock-variable,  ┆
0x00f20…00f40 0a 20 20 20 2d 20 84 74 68 65 20 74 79 70 65 20 6f 66 20 61 20 66 6f 72 6d 61 6c 20 56 41 52 2d   ┆    - ёthe type of a formal VAR-┆
0x00f40…00f60 70 61 72 61 6d 65 74 65 72 20 69 6e 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 72 6f 75 74 69 6e 65   ┆parameter in an internal routine┆
0x00f60…00f80 20 0a 19 85 80 80 64 65 66 69 6e 69 74 69 6f 6e 2c 20 0d 0a 20 20 20 2d 20 84 66 6f 72 20 64 65   ┆   Ёђђdefinition,      - ёfor de┆
0x00f80…00fa0 66 69 6e 69 74 69 6f 6e 20 6f 66 20 22 61 6c 69 61 73 22 2d 74 79 70 65 73 2e 20 0d 0a 0d 0a 49   ┆finition of "alias"-types.     I┆
0x00fa0…00fc0 74 20 69 73 20 a1 6e 6f 74 1f 61 6c 6c 6f 77 65 64 e1 20 74 6f 20 75 73 65 20 64 79 6e 61 6d 69   ┆t is Аnot allowedр to use dynami┆
0x00fc0…00fe0 63 20 74 79 70 65 73 20 61 73 3a 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 74 68 65 20 65 6c 65 6d   ┆c types as:          - ёthe elem┆
0x00fe0…01000 65 6e 74 20 74 79 70 65 20 6f 66 20 61 20 22 53 45 54 22 2c 20 0d 0a 20 20 20 2d 20 84 74 68 65   ┆ent type of a "SET",      - ёthe┆
0x01000…01020 20 74 79 70 65 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 20 69 6e 20 61 20 22 50 4f 4f 4c 22 2d   ┆ type of the buffer in a "POOL"-┆
0x01020…01040 64 65 66 69 6e 69 74 69 6f 6e 2c 20 0d 0a 20 20 20 2d 20 84 74 68 65 20 72 65 74 75 72 6e 20 74   ┆definition,      - ёthe return t┆
0x01040…01060 79 70 65 20 66 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 0d 0a 20 20 20 2d 20 84 64 65 66 69   ┆ype for a function,      - ёdefi┆
0x01060…01080 6e 69 74 69 6f 6e 20 6f 66 20 61 20 73 74 72 75 63 74 75 72 65 64 20 63 6f 6e 73 74 61 6e 74 2c   ┆nition of a structured constant,┆
0x01080…010a0 20 0d 0a 20 20 20 2d 20 84 74 68 65 20 74 79 70 65 20 6f 66 20 56 41 4c 55 45 2d 70 61 72 61 6d   ┆      - ёthe type of VALUE-param┆
0x010a0…010c0 65 74 65 72 73 20 69 6e 20 61 20 72 6f 75 74 69 6e 65 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 0d   ┆eters in a routine definition,  ┆
0x010c0…010e0 0a 20 20 20 2d 20 84 74 68 65 20 74 79 70 65 20 6f 66 20 61 20 66 6f 72 6d 61 6c 20 70 72 6f 63   ┆    - ёthe type of a formal proc┆
0x010e0…01100 65 73 73 20 70 61 72 61 6d 65 74 65 72 2c 20 6e 65 69 74 68 65 72 20 56 41 52 20 6e 6f 72 20 56   ┆ess parameter, neither VAR nor V┆
0x01100…01120 41 4c 55 45 2c 20 0a 19 85 80 80 0d 0a 20 20 20 2d 20 84 74 68 65 20 74 79 70 65 20 6f 66 20 61   ┆ALUE,   Ёђђ     - ёthe type of a┆
0x01120…01140 20 66 6f 72 6d 61 6c 20 70 61 72 61 6d 65 74 65 72 20 69 6e 20 61 6e 20 65 78 74 65 72 6e 61 6c   ┆ formal parameter in an external┆
0x01140…01160 20 72 6f 75 74 69 6e 65 2e 20 0d 0a 0d 0a 52 65 73 74 72 69 63 74 69 6f 6e 73 20 69 6e 20 74 68   ┆ routine.     Restrictions in th┆
0x01160…01180 65 20 75 73 65 20 6f 66 20 64 79 6e 61 6d 69 63 20 76 61 72 69 61 62 6c 65 73 3a 20 0d 0a 0d 0a   ┆e use of dynamic variables:     ┆
0x01180…011a0 8c 96 c0 0a 0d 0a 20 20 20 2d 20 84 41 20 64 79 6e 61 6d 69 63 20 61 72 72 61 79 20 77 69 74 68   ┆їќ└      - ёA dynamic array with┆
0x011a0…011c0 20 22 63 68 61 72 22 20 61 73 20 63 6f 6d 70 6f 6e 65 6e 74 20 74 79 70 65 20 69 73 20 6e 6f 74   ┆ "char" as component type is not┆
0x011c0…011e0 20 0a 19 85 80 80 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 61 20 74 65 78 74 20 63 6f 6e   ┆   Ёђђcompatible with a text con┆
0x011e0…01200 73 74 61 6e 74 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 44 79 6e 61 6d 69 63 20 61 72 72 61 79   ┆stant.          - ёDynamic array┆
0x01200…01220 20 61 6e 64 20 72 65 63 6f 72 64 20 63 61 6e 6e 6f 74 20 62 65 20 69 6e 69 74 69 61 6c 69 7a 65   ┆ and record cannot be initialize┆
0x01220…01240 64 20 73 69 6d 75 6c 74 61 6e 65 6f 75 73 6c 79 20 0a 19 85 80 80 77 69 74 68 20 61 20 64 65 63   ┆d simultaneously   Ёђђwith a dec┆
0x01240…01260 6c 61 72 61 74 69 6f 6e 2e 20 0d 0a 0d 0a a1 4c 6f 67 69 63 61 6c 1f 4f 70 65 72 61 74 6f 72 73   ┆laration.     АLogical Operators┆
0x01260…01280 20 0d 0a 0d 0a e1 54 68 65 20 6c 6f 67 69 63 61 6c 20 6f 70 65 72 61 74 6f 72 73 20 4f 52 2c 20   ┆     рThe logical operators OR, ┆
0x01280…012a0 41 4e 44 2c 20 58 4f 52 20 28 6e 65 77 20 6c 6f 67 69 63 61 6c 20 6f 70 65 72 61 74 6f 72 29 20   ┆AND, XOR (new logical operator) ┆
0x012a0…012c0 61 6e 64 20 4e 4f 54 20 0a 6d 61 79 20 62 65 20 61 70 70 6c 69 65 64 20 6f 6e 20 69 6e 74 65 67   ┆and NOT  may be applied on integ┆
0x012c0…012e0 65 72 20 a1 76 61 72 69 61 62 6c 65 73 20 e1 28 31 36 2d 62 69 74 20 6f 62 6a 65 63 74 73 29 20   ┆er Аvariables р(16-bit objects) ┆
0x012e0…01300 62 65 79 6f 6e 64 20 74 68 65 20 0a 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 70 72 65 76 69 6f 75   ┆beyond the  applications previou┆
0x01300…01320 73 6c 79 20 61 6c 6c 6f 77 65 64 2e 20 49 74 20 69 73 20 70 6f 69 6e 74 65 64 20 6f 75 74 20 74   ┆sly allowed. It is pointed out t┆
0x01320…01340 68 61 74 20 4e 4f 54 20 69 73 20 31 36 2d 62 69 74 73 20 0a 31 2d 20 63 6f 6d 70 6c 65 6d 65 6e   ┆hat NOT is 16-bits  1- complemen┆
0x01340…01360 74 2c 20 69 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 69 73 20 69 6e 74 65 67 65 72 20 28 6f   ┆t, if the argument is integer (o┆
0x01360…01380 72 20 73 75 62 72 61 6e 67 65 29 2e 20 0d 0a 0d 0a 50 61 67 65 20 32 2c 20 43 6f 6d 6d 65 6e 74   ┆r subrange).     Page 2, Comment┆
0x01380…013a0 3a 20 0d 0a 0d 0a 43 6f 6d 6d 65 6e 74 73 20 6d 61 79 20 62 65 20 69 6e 73 65 72 74 65 64 20 69   ┆:     Comments may be inserted i┆
0x013a0…013c0 6e 20 61 20 73 6f 75 72 63 65 20 70 72 6f 67 72 61 6d 20 69 6e 20 74 68 72 65 65 20 66 6f 72 6d   ┆n a source program in three form┆
0x013c0…013e0 73 3a 20 0d 0a 0d 0a 1f 1f 31 2e 1f 28 2a 20 63 6f 6d 6d 65 6e 74 20 2a 29 20 41 6c 6c 20 63 68   ┆s:       1. (* comment *) All ch┆
0x013e0…01400 61 72 61 63 74 65 72 73 20 62 65 74 77 65 65 6e 20 74 68 65 20 64 65 6c 69 6d 69 74 65 72 73 20   ┆aracters between the delimiters ┆
0x01400…01420 28 2a 20 61 6e 64 20 2a 29 20 0a 61 72 65 20 70 61 72 74 20 6f 66 20 74 68 65 20 63 6f 6d 6d 65   ┆(* and *)  are part of the comme┆
0x01420…01440 6e 74 2c 20 69 6e 63 6c 75 64 69 6e 67 20 61 6e 79 20 6e 6f 6e 2d 70 72 69 6e 74 69 6e 67 20 63   ┆nt, including any non-printing c┆
0x01440…01460 68 61 72 61 63 74 65 72 73 2e 20 0d 0a 0d 0a 1f 1f 32 2e 1f 3c 2a 20 63 6f 6d 6d 65 6e 74 20 2a   ┆haracters.       2. <* comment *┆
0x01460…01480 3e 20 41 6c 6c 20 63 68 61 72 61 63 74 65 72 73 20 62 65 74 77 65 65 6e 20 74 68 65 20 64 65 6c   ┆> All characters between the del┆
0x01480…014a0 69 6d 69 74 65 72 73 20 3c 2a 20 61 6e 64 20 2a 3e 20 0a 61 72 65 20 70 61 72 74 20 6f 66 20 74   ┆imiters <* and *>  are part of t┆
0x014a0…014c0 68 65 20 63 6f 6d 6d 65 6e 74 2c 20 69 6e 63 6c 75 64 69 6e 67 20 61 6e 79 20 6e 6f 6e 2d 70 72   ┆he comment, including any non-pr┆
0x014c0…014e0 69 6e 74 69 6e 67 20 63 68 61 72 61 63 74 65 72 73 2e 20 0d 0a 0d 0a 1f 1f 33 2e 1f 2d 2d 20 63   ┆inting characters.       3. -- c┆
0x014e0…01500 6f 6d 6d 65 6e 74 20 65 6e 64 2d 6f 66 2d 6c 69 6e 65 20 41 6c 6c 20 63 68 61 72 61 63 74 65 72   ┆omment end-of-line All character┆
0x01500…01520 73 20 66 72 6f 6d 20 74 68 65 20 64 65 6c 69 6d 69 74 65 72 20 2d 2d 20 75 70 20 74 6f 20 0a 74   ┆s from the delimiter -- up to  t┆
0x01520…01540 68 65 20 66 69 72 73 74 20 6f 63 63 75 72 65 6e 63 65 20 6f 66 20 61 20 4e 4c 20 63 68 61 72 61   ┆he first occurence of a NL chara┆
0x01540…01560 63 74 65 72 20 61 72 65 20 70 61 72 74 20 6f 66 20 74 68 65 20 63 6f 6d 6d 65 6e 74 2e 20 0d 0a   ┆cter are part of the comment.   ┆
0x01560…01580 0d 0a a1 45 78 61 6d 70 6c 65 73 3a 20 0d 0a 0d 0a e1 3c 2a 20 74 68 69 73 20 69 73 20 28 2a 20   ┆  АExamples:     р<* this is (* ┆
0x01580…015a0 2e 2e 2e 20 2a 29 20 6f 6e 65 20 63 6f 6d 6d 65 6e 74 20 2a 3e 20 0d 0a 0d 0a 28 2a 20 74 68 69   ┆... *) one comment *>     (* thi┆
0x015a0…015c0 73 20 69 73 20 2d 2d 20 61 6e 6f 74 68 65 72 20 63 6f 6d 6d 65 6e 74 20 2a 29 20 0d 0a 0d 0a 2d   ┆s is -- another comment *)     -┆
0x015c0…015e0 2d 20 61 20 74 68 69 72 64 20 63 6f 6d 6d 65 6e 74 20 0d 0a 0d 0a 50 61 67 65 20 33 2c 20 6c 69   ┆- a third comment     Page 3, li┆
0x015e0…01600 6e 65 20 32 20 66 72 6f 6d 20 74 68 65 20 62 6f 74 74 6f 6d 3a 20 22 61 6c 6c 22 20 69 73 20 72   ┆ne 2 from the bottom: "all" is r┆
0x01600…01620 65 70 6c 61 63 65 64 20 62 79 20 22 6d 6f 73 74 22 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 50 61 67 65 20   ┆eplaced by "most".         Page ┆
0x01620…01640 36 2c 20 4c 61 62 65 6c 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 61 73 3a 20 0d 0a 0d 0a   ┆6, Label is implemented as:     ┆
0x01640…01660 6c 61 62 65 6c 3a 20 20 2d 2d 3e 2d 2d 3e 20 75 6e 73 69 67 6e 65 64 20 6e 75 6d 62 65 72 20 2d   ┆label:  -->--> unsigned number -┆
0x01660…01680 2d 3e 2d 2d 2d 3e 20 20 20 20 21 20 20 21 20 20 20 20 2d 2d 2d 3e 20 69 64 65 6e 74 69 66 69 65   ┆->--->    !  !    ---> identifie┆
0x01680…016a0 72 20 2d 2d 2d 2d 2d 2d 2d 0a 2d 20 0d 0a 0d 0a 0d 0a 0d 0a 50 61 67 65 20 39 2c 20 46 6f 72 77   ┆r ------- -         Page 9, Forw┆
0x016a0…016c0 61 72 64 20 50 6f 69 6e 74 65 72 20 54 79 70 65 73 2e 20 0d 0a 0d 0a 74 79 70 65 20 64 65 63 6c   ┆ard Pointer Types.     type decl┆
0x016c0…016e0 61 72 61 74 69 6f 6e 3a 20 20 2d 2d 3e 54 59 50 45 2d 2d 3e 2d 2d 3e 74 79 70 65 20 69 64 65 6e   ┆aration:  -->TYPE-->-->type iden┆
0x016e0…01700 74 69 66 69 63 74 69 6f 6e 2d 2d 3e 2d 2d 3d 2d 2d 3e 74 79 70 65 2d 2d 3e 2d 2d 2d 2d 3e 2d 0a   ┆tifiction-->--=-->type-->---->- ┆
0x01700…01720 2d 2d 3e 20 21 20 20 20 20 21 20 21 20 20 20 20 21 20 21 20 20 20 20 2d 2d 2d 2d 3e 2d 2d 2d 2d   ┆--> !    ! !    ! !    ---->----┆
0x01720…01740 2d 2d 2d 2d 20 20 20 20 21 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 3b 3c 2d 2d 2d   ┆----    ! -----------------;<---┆
0x01740…01760 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 2d 2d 2d 2d 2d 2d 2d 2d 20 0d 0a 0d 0a 0d 0a 0d 0a 8c   ┆------------- --------         ї┆
0x01760…01780 8a a8 0a 41 20 27 66 6f 72 77 61 72 64 2d 74 79 70 65 6e 61 6d 65 27 20 69 73 20 61 20 74 79 70   ┆іе A 'forward-typename' is a typ┆
0x01780…017a0 65 20 69 64 65 6e 74 69 66 69 63 61 74 69 6f 6e 20 77 69 74 68 6f 75 74 20 61 6e 20 61 73 73 6f   ┆e identification without an asso┆
0x017a0…017c0 63 69 61 74 65 64 20 0a 27 74 79 70 65 27 20 69 74 20 6d 61 79 20 6f 6e 6c 79 20 62 65 20 75 73   ┆ciated  'type' it may only be us┆
0x017c0…017e0 65 64 20 69 6e 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 70 6f 69 6e 74 65 72 20   ┆ed in the definition of pointer ┆
0x017e0…01800 74 79 70 65 73 20 61 6e 64 20 66 6f 72 20 0a 65 76 65 72 79 20 27 66 6f 72 77 61 72 64 20 74 79   ┆types and for  every 'forward ty┆
0x01800…01820 70 65 6e 61 6d 65 27 20 6f 63 63 75 72 72 69 6e 67 20 69 6e 20 61 20 27 74 79 70 65 20 64 65 63   ┆pename' occurring in a 'type dec┆
0x01820…01840 6c 61 72 61 74 69 6f 6e 27 2c 20 74 68 65 20 73 61 6d 65 20 0a 6e 61 6d 65 20 6d 75 73 74 20 62   ┆laration', the same  name must b┆
0x01840…01860 65 20 67 69 76 65 6e 20 61 20 64 65 66 69 6e 69 74 69 6f 6e 20 6c 61 74 65 72 20 77 69 74 68 69   ┆e given a definition later withi┆
0x01860…01880 6e 20 74 68 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 70 61 72 74 20 6f 66 20 0a 74 68 65 20 73   ┆n the declaration part of  the s┆
0x01880…018a0 61 6d 65 20 62 6c 6f 63 6b 2e 20 0d 0a 0d 0a 54 68 65 73 65 20 72 75 6c 65 73 20 65 78 63 6c 75   ┆ame block.     These rules exclu┆
0x018a0…018c0 64 65 20 72 65 63 75 72 73 69 6f 6e 20 69 6e 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f   ┆de recursion in the definition o┆
0x018c0…018e0 66 20 73 74 72 75 63 74 75 72 65 64 20 74 79 70 65 73 2c 20 0a 62 75 74 20 61 6c 6c 6f 77 20 6f   ┆f structured types,  but allow o┆
0x018e0…01900 62 6a 65 63 74 73 20 6f 66 20 61 20 73 74 72 75 63 74 75 72 65 64 20 74 79 70 65 20 74 6f 20 63   ┆bjects of a structured type to c┆
0x01900…01920 6f 6e 74 61 69 6e 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 6f 62 6a 65 63 74 73 20 0a 6f 66 20 74   ┆ontain pointers to objects  of t┆
0x01920…01940 68 65 20 73 61 6d 65 20 74 79 70 65 20 61 6e 64 20 61 6c 73 6f 20 61 6c 6c 6f 77 20 6d 75 74 75   ┆he same type and also allow mutu┆
0x01940…01960 61 6c 20 70 6f 69 6e 74 65 72 73 20 62 65 74 77 65 65 6e 20 73 65 76 65 72 61 6c 20 0a 73 74 72   ┆al pointers between several  str┆
0x01960…01980 75 63 74 75 72 65 64 20 74 79 70 65 73 2e 20 63 6c 2d 31 20 0d 0a 0d 0a 50 61 67 65 20 39 20 61   ┆uctured types. cl-1     Page 9 a┆
0x01980…019a0 6e 64 20 70 61 67 65 73 20 34 31 2d 34 32 3a 20 50 61 72 61 6d 65 74 65 72 69 7a 65 64 20 74 79   ┆nd pages 41-42: Parameterized ty┆
0x019a0…019c0 70 65 73 20 61 72 65 20 6e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 2c 20 0a 68 65 6e 63 65 20   ┆pes are not implemented,  hence ┆
0x019c0…019e0 74 68 65 20 70 72 65 64 65 66 69 6e 65 64 20 74 79 70 65 20 73 74 72 69 6e 67 20 28 6e 29 20 28   ┆the predefined type string (n) (┆
0x019e0…01a00 70 61 67 65 20 33 36 29 20 68 61 73 20 6e 6f 20 6d 65 61 6e 69 6e 67 2e 20 0a 49 6e 73 74 65 61   ┆page 36) has no meaning.  Instea┆
0x01a00…01a20 64 20 6f 66 20 73 74 72 69 6e 67 20 28 6e 29 20 74 68 65 72 65 20 69 73 20 61 20 70 72 65 64 65   ┆d of string (n) there is a prede┆
0x01a20…01a40 66 69 6e 65 64 20 74 79 70 65 3a 20 0d 0a 0d 0a 61 6c 66 61 20 3d 20 61 72 72 61 79 28 31 2e 2e   ┆fined type:     alfa = array(1..┆
0x01a40…01a60 31 32 29 20 6f 66 20 63 68 61 72 3b 20 0d 0a 0d 0a 61 6e 64 20 74 68 65 20 72 6f 75 74 69 6e 65   ┆12) of char;     and the routine┆
0x01a60…01a80 20 68 65 61 64 69 6e 67 20 6f 66 20 6c 69 6e 6b 20 69 73 20 63 68 61 6e 67 65 64 20 74 6f 3a 20   ┆ heading of link is changed to: ┆
0x01a80…01aa0 46 55 4e 43 54 49 4f 4e 20 0a 6c 69 6e 6b 28 65 78 74 65 72 6e 61 6c 5f 6e 61 6d 65 3a 61 6c 66   ┆FUNCTION  link(external_name:alf┆
0x01aa0…01ac0 61 3b 70 72 6f 63 65 73 73 20 6e 61 6d 65 29 3a 20 69 6e 74 65 67 65 72 3b 20 0d 0a 0d 0a 0d 0a   ┆a;process name): integer;       ┆
0x01ac0…01ae0 0d 0a 50 61 67 65 20 31 36 2c 20 43 68 61 72 20 76 61 6c 75 65 3a 20 0d 0a 0d 0a 63 68 61 72 20   ┆  Page 16, Char value:     char ┆
0x01ae0…01b00 76 61 6c 75 65 3a 20 20 2d 2d 2d 2d 3e 2d 2d 3e 22 2d 2d 3e 73 74 72 69 6e 67 20 63 68 61 72 61   ┆value:  ---->-->"-->string chara┆
0x01b00…01b20 63 74 65 72 2d 2d 3e 22 2d 2d 3e 2d 2d 2d 3e 20 20 20 20 20 20 21 20 20 20 20 20 20 20 20 20 21   ┆cter-->"-->--->      !         !┆
0x01b20…01b40 20 20 20 20 20 20 0a 2d 2d 2d 3e 27 2d 2d 3e 73 74 72 69 6e 67 20 63 68 61 72 61 63 74 65 72 2d   ┆       --->'-->string character-┆
0x01b40…01b60 2d 3e 27 2d 2d 2d 20 0d 0a 0d 0a 54 68 65 20 73 74 72 69 6e 67 20 63 68 61 72 61 63 74 65 72 73   ┆->'---     The string characters┆
0x01b60…01b80 20 61 72 65 20 74 68 65 20 63 68 61 72 61 63 74 65 72 73 3a 20 73 70 20 2e 2e 20 0d 0a 0d 0a 50   ┆ are the characters: sp ..     P┆
0x01b80…01ba0 61 67 65 20 31 37 2c 20 4c 6f 6f 70 20 53 74 61 74 65 6d 65 6e 74 2e 20 0d 0a 0d 0a 54 68 65 20   ┆age 17, Loop Statement.     The ┆
0x01ba0…01bc0 6c 6f 6f 70 20 73 74 61 74 65 6d 65 6e 74 20 63 6f 6e 73 74 69 74 75 74 65 73 20 61 6e 20 75 6e   ┆loop statement constitutes an un┆
0x01bc0…01be0 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 72 65 70 65 74 69 74 69 76 65 20 63 6f 6e 74 72 6f 6c 20 0a   ┆conditional repetitive control  ┆
0x01be0…01c00 73 74 72 75 63 74 75 72 65 2c 20 77 68 69 63 68 20 6d 61 79 20 62 65 20 75 73 65 64 20 74 6f 20   ┆structure, which may be used to ┆
0x01c00…01c20 64 65 66 69 6e 65 20 61 6e 20 22 69 6e 66 69 6e 69 74 65 22 20 6d 61 69 6e 20 6c 6f 6f 70 20 6f   ┆define an "infinite" main loop o┆
0x01c20…01c40 66 20 61 20 0a 70 72 6f 67 72 61 6d 2c 20 6f 6e 6c 79 20 74 65 72 6d 69 6e 61 74 65 64 20 69 6e   ┆f a  program, only terminated in┆
0x01c40…01c60 20 63 61 73 65 20 6f 66 20 61 20 66 61 75 6c 74 20 6f 72 20 70 61 72 65 6e 74 20 65 6e 66 6f 72   ┆ case of a fault or parent enfor┆
0x01c60…01c80 63 65 64 20 0a 70 72 6f 63 65 73 73 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 74 65 72 6d 69 6e 61   ┆ced  process incarnation termina┆
0x01c80…01ca0 74 69 6f 6e 2e 20 0d 0a 0d 0a 6c 6f 6f 70 20 73 74 61 74 65 6d 65 6e 74 3a 20 20 2d 2d 3e 20 4c   ┆tion.     loop statement:  --> L┆
0x01ca0…01cc0 4f 4f 50 20 2d 2d 3e 20 73 74 61 74 65 6d 65 6e 74 20 6c 69 73 74 20 2d 2d 3e 20 45 4e 44 4c 4f   ┆OOP --> statement list --> ENDLO┆
0x01cc0…01ce0 4f 50 20 2d 2d 3e 20 0d 0a 0d 0a 54 68 65 20 6c 6f 6f 70 20 73 74 61 74 65 6d 65 6e 74 20 73 70   ┆OP -->     The loop statement sp┆
0x01ce0…01d00 65 63 69 66 69 65 73 20 72 65 70 65 61 74 65 64 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 74 68   ┆ecifies repeated execution of th┆
0x01d00…01d20 65 20 73 74 61 74 65 6d 65 6e 74 20 0a 73 65 71 75 65 6e 63 65 20 69 6e 20 74 68 65 20 73 74 61   ┆e statement  sequence in the sta┆
0x01d20…01d40 74 65 64 20 6f 72 64 65 72 2e 20 54 68 65 20 6c 6f 6f 70 20 6d 61 79 20 62 65 20 6c 65 66 74 20   ┆ted order. The loop may be left ┆
0x01d40…01d60 61 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 0a 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20   ┆as the result of  the execution ┆
0x01d60…01d80 6f 66 20 61 20 6a 75 6d 70 20 73 74 61 74 65 6d 65 6e 74 20 28 73 65 65 20 62 65 6c 6f 77 29 2e   ┆of a jump statement (see below).┆
0x01d80…01da0 20 0d 0a 0d 0a a1 45 78 61 6d 70 6c 65 3a 20 e1 4c 4f 4f 50 20 20 20 6e 65 78 74 5f 62 3a 3d 72   ┆     АExample: рLOOP   next_b:=r┆
0x01da0…01dc0 65 61 64 5f 6e 65 78 74 5f 62 75 66 66 65 72 3b 20 20 20 70 72 65 70 61 72 65 5f 62 75 66 66 65   ┆ead_next_buffer;   prepare_buffe┆
0x01dc0…01de0 72 28 6e 65 78 74 5f 62 29 3b 20 20 20 0a 73 65 6e 64 5f 62 75 66 66 65 72 28 6e 65 78 74 5f 62   ┆r(next_b);    send_buffer(next_b┆
0x01de0…01e00 29 20 45 4e 44 4c 4f 4f 50 20 0d 0a 0d 0a 0d 0a a1 4a 75 6d 70 20 53 74 61 74 65 6d 65 6e 74 73   ┆) ENDLOOP       АJump Statements┆
0x01e00…01e20 2e 20 54 68 65 20 73 74 61 74 65 6d 65 6e 74 73 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 74 68   ┆. The statements described in th┆
0x01e20…01e40 69 73 20 73 65 63 74 69 6f 6e 20 73 65 72 76 65 20 74 6f 20 0a 19 80 80 84 65 78 70 6c 69 63 69   ┆is section serve to   ђђёexplici┆
0x01e40…01e60 74 6c 79 20 6d 6f 64 69 66 79 20 74 68 65 20 6f 72 64 65 72 20 6f 66 20 65 78 65 63 75 74 69 6f   ┆tly modify the order of executio┆
0x01e60…01e80 6e 20 6f 66 20 73 74 61 74 65 6d 65 6e 74 73 20 62 79 20 74 72 61 6e 73 66 65 72 72 69 6e 67 20   ┆n of statements by transferring ┆
0x01e80…01ea0 0a 19 80 80 84 63 6f 6e 74 72 6f 6c 20 74 6f 20 61 6e 20 69 6d 70 6c 69 63 69 74 6c 79 20 69 6e   ┆  ђђёcontrol to an implicitly in┆
0x01ea0…01ec0 64 69 63 61 74 65 64 20 73 74 61 74 65 6d 65 6e 74 2c 20 69 6e 20 74 68 65 20 63 6f 6e 74 72 61   ┆dicated statement, in the contra┆
0x01ec0…01ee0 5f 72 79 20 74 6f 20 67 6f 74 6f 20 0a 19 80 80 84 73 74 61 74 65 6d 65 6e 74 73 20 77 68 69 63   ┆_ry to goto   ђђёstatements whic┆
0x01ee0…01f00 68 20 74 72 61 6e 73 66 65 72 20 63 6f 6e 74 72 6f 6c 20 74 6f 20 65 78 70 6c 69 63 69 74 6c 79   ┆h transfer control to explicitly┆
0x01f00…01f20 20 69 6e 64 69 63 61 74 65 64 20 73 74 61 74 65 6d 65 6e 74 73 2e 20 0d 0a 0d 0a 0d 0a a1 45 78   ┆ indicated statements.       АEx┆
0x01f20…01f40 69 74 6c 6f 6f 70 20 53 74 61 74 65 6d 65 6e 74 2e 20 0d 0a 0d 0a 8c 8a 90 0a e1 45 78 65 63 75   ┆itloop Statement.     їіљ рExecu┆
0x01f40…01f60 74 69 6f 6e 20 6f 66 20 61 6e 20 65 78 69 74 6c 6f 6f 70 20 73 74 61 74 65 6d 65 6e 74 20 66 6f   ┆tion of an exitloop statement fo┆
0x01f60…01f80 72 63 65 73 20 61 6e 20 65 6e 63 6c 6f 73 69 6e 67 20 72 65 70 65 74 69 74 69 76 65 20 0a 73 74   ┆rces an enclosing repetitive  st┆
0x01f80…01fa0 61 74 65 6d 65 6e 74 20 74 6f 20 74 65 72 6d 69 6e 61 74 65 2e 20 0d 0a 0d 0a 65 78 69 74 6c 6f   ┆atement to terminate.     exitlo┆
0x01fa0…01fc0 6f 70 20 73 74 61 74 65 6d 65 6e 74 3a 20 20 2d 2d 3e 20 45 58 49 54 4c 4f 4f 50 20 2d 2d 3e 20   ┆op statement:  --> EXITLOOP --> ┆
0x01fc0…01fe0 0d 0a 0d 0a 54 68 65 20 72 65 70 65 74 69 74 69 6f 6e 20 65 78 69 74 65 64 20 69 73 20 74 68 65   ┆    The repetition exited is the┆
0x01fe0…02000 20 69 6e 6e 65 72 6d 6f 73 74 20 6f 6e 65 2e 20 41 6e 20 65 78 69 74 6c 6f 6f 70 20 73 74 61 74   ┆ innermost one. An exitloop stat┆
0x02000…02020 65 6d 65 6e 74 20 6d 61 79 20 0a 6f 6e 6c 79 20 61 70 70 65 61 72 20 77 69 74 68 69 6e 20 61 20   ┆ement may  only appear within a ┆
0x02020…02040 72 65 70 65 74 69 74 69 76 65 20 73 74 61 74 65 6d 65 6e 74 2c 20 69 2e 65 2e 20 72 65 70 65 61   ┆repetitive statement, i.e. repea┆
0x02040…02060 74 2c 20 66 6f 72 2c 20 77 68 69 6c 65 20 6f 72 20 0a 6c 6f 6f 70 20 73 74 61 74 65 6d 65 6e 74   ┆t, for, while or  loop statement┆
0x02060…02080 2e 20 0d 0a 0d 0a a1 45 78 61 6d 70 6c 65 3a e1 20 54 68 65 20 67 65 6e 65 72 61 6c 69 7a 65 64   ┆.     АExample:р The generalized┆
0x02080…020a0 20 6c 6f 6f 70 20 63 6f 6e 74 72 6f 6c 20 73 74 72 75 63 74 75 72 65 20 6d 61 79 20 62 65 20 63   ┆ loop control structure may be c┆
0x020a0…020c0 6f 6e 73 74 72 75 63 74 65 64 20 0a 61 73 20 61 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 6f 66 20   ┆onstructed  as a combination of ┆
0x020c0…020e0 61 20 6c 6f 6f 70 20 73 74 61 74 65 6d 65 6e 74 2c 20 61 6e 20 69 66 20 73 74 61 74 65 6d 65 6e   ┆a loop statement, an if statemen┆
0x020e0…02100 74 2c 20 61 6e 64 20 61 6e 20 0a 65 78 69 74 6c 6f 6f 70 20 73 74 61 74 65 6d 65 6e 74 3a 20 0d   ┆t, and an  exitloop statement:  ┆
0x02100…02120 0a 0d 0a 4c 4f 4f 50 20 20 20 73 5f 31 5f 31 3b 20 2e 2e 2e 3b 20 73 5f 31 5f 6e 3b 20 20 20 49   ┆   LOOP   s_1_1; ...; s_1_n;   I┆
0x02120…02140 46 20 62 6f 6f 6c 5f 63 6f 6e 64 69 74 69 6f 6e 20 54 48 45 4e 20 45 58 49 54 4c 4f 4f 50 3b 20   ┆F bool_condition THEN EXITLOOP; ┆
0x02140…02160 20 20 0a 73 5f 32 5f 31 3b 20 2e 2e 2e 3b 20 73 5f 32 5f 6d 20 45 4e 44 4c 4f 4f 50 20 0d 0a 0d   ┆   s_2_1; ...; s_2_m ENDLOOP    ┆
0x02160…02180 0a 0d 0a a1 43 6f 6e 74 69 6e 75 65 6c 6f 6f 70 20 53 74 61 74 65 6d 65 6e 74 2e 20 0d 0a 0d 0a   ┆   АContinueloop Statement.     ┆
0x02180…021a0 e1 54 68 65 20 63 6f 6e 74 69 6e 75 65 6c 6f 6f 70 20 73 74 61 74 65 6d 65 6e 74 20 73 70 65 63   ┆рThe continueloop statement spec┆
0x021a0…021c0 69 66 69 65 73 20 74 68 61 74 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 70 61 72 74 20 6f 66   ┆ifies that the remaining part of┆
0x021c0…021e0 20 61 6e 20 0a 69 74 65 72 61 74 69 6f 6e 20 6f 66 20 61 20 6c 6f 6f 70 20 69 73 20 74 6f 20 62   ┆ an  iteration of a loop is to b┆
0x021e0…02200 65 20 73 6b 69 70 70 65 64 2e 20 0d 0a 0d 0a 63 6f 6e 74 69 6e 75 65 6c 6f 6f 70 20 73 74 61 74   ┆e skipped.     continueloop stat┆
0x02200…02220 65 6d 65 6e 74 3a 20 20 2d 2d 3e 20 43 4f 4e 54 49 4e 55 45 4c 4f 4f 50 20 2d 2d 3e 20 0d 0a 0d   ┆ement:  --> CONTINUELOOP -->    ┆
0x02220…02240 0a 54 68 65 20 73 74 61 74 65 6d 65 6e 74 20 61 70 70 6c 69 65 73 20 74 6f 20 74 68 65 20 69 6e   ┆ The statement applies to the in┆
0x02240…02260 6e 65 72 6d 6f 73 74 20 65 6e 63 6c 6f 73 69 6e 67 20 72 65 70 65 74 69 74 69 76 65 20 73 74 61   ┆nermost enclosing repetitive sta┆
0x02260…02280 74 65 6d 65 6e 74 20 0a 77 68 69 63 68 20 6d 75 73 74 20 74 68 65 72 65 66 6f 72 65 20 65 78 69   ┆tement  which must therefore exi┆
0x02280…022a0 73 74 2e 20 44 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 6b 69 6e 64 20 6f 66 20 72 65 70   ┆st. Depending on the kind of rep┆
0x022a0…022c0 65 74 69 74 69 6f 6e 20 0a 73 74 61 74 65 6d 65 6e 74 20 74 68 65 20 73 70 65 63 69 66 69 63 20   ┆etition  statement the specific ┆
0x022c0…022e0 65 66 66 65 63 74 20 6f 66 20 74 68 65 20 63 6f 6e 74 69 6e 75 65 5f 6c 6f 6f 70 20 73 74 61 74   ┆effect of the continue_loop stat┆
0x022e0…02300 65 6d 65 6e 74 20 69 73 3a 20 0d 0a 0d 0a a1 66 6f 72 20 73 74 61 74 65 6d 65 6e 74 3a 20 e1 45   ┆ement is:     Аfor statement: рE┆
0x02300…02320 78 65 63 75 74 69 6f 6e 20 63 6f 6e 74 69 6e 75 65 73 20 61 74 20 22 63 6f 75 6e 74 20 61 6e 64   ┆xecution continues at "count and┆
0x02320…02340 20 74 65 73 74 22 2e 20 a1 6c 6f 6f 70 20 0a 19 80 80 84 73 74 61 74 65 6d 65 6e 74 3a 20 e1 45   ┆ test". Аloop   ђђёstatement: рE┆
0x02340…02360 78 65 63 75 74 69 6f 6e 20 63 6f 6e 74 69 6e 75 65 73 20 77 69 74 68 20 74 68 65 20 66 69 72 73   ┆xecution continues with the firs┆
0x02360…02380 74 20 73 74 61 74 65 6d 65 6e 74 20 61 66 74 65 72 20 4c 4f 4f 50 2e 20 0d 0a 0d 0a a1 77 68 69   ┆t statement after LOOP.     Аwhi┆
0x02380…023a0 6c 65 20 73 74 61 74 65 6d 65 6e 74 3a 20 e1 54 68 65 20 72 65 6d 61 69 6e 64 65 72 20 6f 66 20   ┆le statement: рThe remainder of ┆
0x023a0…023c0 74 68 65 20 28 63 6f 6d 70 6f 75 6e 64 29 20 73 74 61 74 65 6d 65 6e 74 20 66 6f 6c 6c 6f 77 69   ┆the (compound) statement followi┆
0x023c0…023e0 6e 67 20 0a 44 4f 20 69 73 20 73 6b 69 70 70 65 64 2e 20 45 78 65 63 75 74 69 6f 6e 20 63 6f 6e   ┆ng  DO is skipped. Execution con┆
0x023e0…02400 74 69 6e 75 65 73 20 77 69 74 68 20 74 68 65 20 65 76 61 6c 75 61 74 69 6f 6e 20 6f 66 20 74 68   ┆tinues with the evaluation of th┆
0x02400…02420 65 20 6c 6f 6f 70 20 0a 63 6f 6e 64 69 74 69 6f 6e 2e 20 0d 0a 0d 0a a1 72 65 70 65 61 74 20 73   ┆e loop  condition.     Аrepeat s┆
0x02420…02440 74 61 74 65 6d 65 6e 74 3a 20 e1 54 68 65 20 72 65 6d 61 69 6e 64 65 72 20 6f 66 20 74 68 65 20   ┆tatement: рThe remainder of the ┆
0x02440…02460 73 74 61 74 65 6d 65 6e 74 20 73 65 71 75 65 6e 63 65 20 75 70 20 74 6f 20 0a 55 4e 54 49 4c 20   ┆statement sequence up to  UNTIL ┆
0x02460…02480 69 73 20 73 6b 69 70 70 65 64 2e 20 45 78 65 63 75 74 69 6f 6e 20 63 6f 6e 74 69 6e 75 65 73 20   ┆is skipped. Execution continues ┆
0x02480…024a0 77 69 74 68 20 74 68 65 20 65 76 61 6c 75 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 6c 6f 6f 70 20   ┆with the evaluation of the loop ┆
0x024a0…024c0 0a 63 6f 6e 64 69 74 69 6f 6e 2e 20 0d 0a 0d 0a 0d 0a a1 45 78 69 74 20 53 74 61 74 65 6d 65 6e   ┆ condition.       АExit Statemen┆
0x024c0…024e0 74 2e 20 0d 0a 0d 0a e1 41 6e 20 65 78 69 74 20 73 74 61 74 65 6d 65 6e 74 20 68 61 73 20 74 68   ┆t.     рAn exit statement has th┆
0x024e0…02500 65 20 65 66 66 65 63 74 20 6f 66 20 61 20 6a 75 6d 70 20 74 6f 20 74 68 65 20 45 4e 44 20 6f 66   ┆e effect of a jump to the END of┆
0x02500…02520 20 74 68 65 20 0a 63 6f 6d 70 6f 75 6e 64 20 73 74 61 74 65 6d 65 6e 74 20 6f 66 20 74 68 65 20   ┆ the  compound statement of the ┆
0x02520…02540 65 6e 63 6c 6f 73 69 6e 67 20 62 6c 6f 63 6b 2e 20 0d 0a 0d 0a 65 78 69 74 20 73 74 61 74 65 6d   ┆enclosing block.     exit statem┆
0x02540…02560 65 6e 74 3a 20 20 2d 2d 3e 20 45 58 49 54 20 2d 2d 3e 20 0d 0a 0d 0a 45 78 65 63 75 74 69 6f 6e   ┆ent:  --> EXIT -->     Execution┆
0x02560…02580 20 6f 66 20 61 6e 20 65 78 69 74 20 73 74 61 74 65 6d 65 6e 74 20 63 61 75 73 65 73 20 74 65 72   ┆ of an exit statement causes ter┆
0x02580…025a0 6d 69 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 0a 74 68   ┆mination of the execution of  th┆
0x025a0…025c0 65 20 61 63 74 69 6f 6e 20 70 61 72 74 20 6f 66 20 74 68 65 20 6e 65 61 72 65 73 74 20 65 6e 63   ┆e action part of the nearest enc┆
0x025c0…025e0 6c 6f 73 69 6e 67 20 72 6f 75 74 69 6e 65 20 6f 72 20 70 72 6f 63 65 73 73 20 61 73 20 69 66 20   ┆losing routine or process as if ┆
0x025e0…02600 74 68 65 20 0a 63 6f 6d 70 6f 75 6e 64 20 73 74 61 74 65 6d 65 6e 74 20 68 61 64 20 62 65 65 6e   ┆the  compound statement had been┆
0x02600…02620 20 65 78 68 61 75 73 74 65 64 2e 20 0d 0a 0d 0a a1 45 78 61 6d 70 6c 65 3a 20 e1 42 45 47 49 4e   ┆ exhausted.     АExample: рBEGIN┆
0x02620…02640 20 28 2a 20 6d 61 69 6e 20 70 72 6f 67 72 61 6d 20 2a 29 20 20 20 2e 2e 2e 20 20 20 49 46 20 65   ┆ (* main program *)   ...   IF e┆
0x02640…02660 72 72 6f 72 73 5f 64 65 74 65 63 74 65 64 20 54 48 45 4e 20 20 20 20 20 0a 45 58 49 54 3b 20 28   ┆rrors_detected THEN      EXIT; (┆
0x02660…02680 2a 20 74 65 72 6d 69 6e 61 74 65 20 74 68 65 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 2a 29 20 20   ┆* terminate the incarnation *)  ┆
0x02680…026a0 20 2e 2e 2e 20 45 4e 44 20 0d 0a 0d 0a 8c 8a 90 0a 50 61 67 65 20 31 39 2c 20 45 6d 70 74 79 20   ┆ ... END     їіљ Page 19, Empty ┆
0x026a0…026c0 53 75 62 72 61 6e 67 65 2e 20 0d 0a 0d 0a 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 65 6c 65 6d   ┆Subrange.     The number of elem┆
0x026c0…026e0 65 6e 74 73 20 69 6e 20 74 68 65 20 76 61 6c 75 65 20 73 65 74 20 6f 66 20 61 20 73 75 62 72 61   ┆ents in the value set of a subra┆
0x026e0…02700 6e 67 65 20 69 73 20 0a 6f 72 64 28 75 70 70 65 72 62 6f 75 6e 64 29 2d 6f 72 64 28 6c 6f 77 65   ┆nge is  ord(upperbound)-ord(lowe┆
0x02700…02720 72 62 6f 75 6e 64 29 2b 31 2e 20 54 68 65 20 6e 75 6d 62 65 72 20 6d 61 79 20 62 65 20 7a 65 72   ┆rbound)+1. The number may be zer┆
0x02720…02740 6f 20 69 6e 20 77 68 69 63 68 20 0a 63 61 73 65 20 74 68 65 20 73 75 62 72 61 6e 67 65 20 69 73   ┆o in which  case the subrange is┆
0x02740…02760 20 65 6d 70 74 79 2c 20 62 75 74 20 69 74 20 6d 61 79 20 6e 6f 74 20 62 65 20 6e 65 67 61 74 69   ┆ empty, but it may not be negati┆
0x02760…02780 76 65 2e 20 0d 0a 0d 0a 50 61 67 65 20 31 39 3a 20 54 68 65 20 74 79 70 65 20 72 65 61 6c 20 69   ┆ve.     Page 19: The type real i┆
0x02780…027a0 73 20 6e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 50 61 67 65 20   ┆s not implemented.         Page ┆
0x027a0…027c0 32 36 20 4c 6f 63 6b 6d 65 73 20 53 74 61 74 65 6d 65 6e 74 2e 20 0d 0a 0d 0a 54 68 65 20 6c 6f   ┆26 Lockmes Statement.     The lo┆
0x027c0…027e0 63 6b 20 73 74 61 74 65 6d 65 6e 74 20 69 73 20 74 68 65 20 6c 61 6e 67 75 61 67 65 20 63 6f 6e   ┆ck statement is the language con┆
0x027e0…02800 73 74 72 75 63 74 20 77 68 69 63 68 20 70 72 6f 76 69 64 65 73 20 61 63 63 65 73 73 20 74 6f 20   ┆struct which provides access to ┆
0x02800…02820 0a 74 68 65 20 61 63 74 75 61 6c 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 61 20 62 75 66 66 65 72   ┆ the actual contents of a buffer┆
0x02820…02840 2c 20 69 2e 65 2e 20 74 6f 20 74 68 65 20 74 6f 70 20 6e 6f 6e 2d 65 6d 70 74 79 20 62 75 66 66   ┆, i.e. to the top non-empty buff┆
0x02840…02860 65 72 20 69 6e 20 61 20 0a 6d 65 73 73 61 67 65 20 73 74 61 63 6b 2e 20 0d 0a 0d 0a 6c 6f 63 6b   ┆er in a  message stack.     lock┆
0x02860…02880 20 73 74 61 74 65 6d 65 6e 74 3a 20 20 2d 2d 3e 20 6c 6f 63 6b 77 6f 72 64 20 2d 2d 3e 20 6c 6f   ┆ statement:  --> lockword --> lo┆
0x02880…028a0 63 6b 20 64 65 66 69 6e 69 74 69 6f 6e 20 2d 2d 3e 20 44 4f 20 2d 2d 3e 20 0a 73 74 61 74 65 6d   ┆ck definition --> DO -->  statem┆
0x028a0…028c0 65 6e 74 20 2d 2d 3e 20 0d 0a 0d 0a 6c 6f 63 6b 77 6f 72 64 3a 20 0d 0a 0d 0a 20 2d 3e 2d 2d 2d   ┆ent -->     lockword:      ->---┆
0x028c0…028e0 3e 20 4c 4f 43 4b 20 2d 2d 2d 3e 2d 2d 3e 20 20 20 20 20 21 20 20 20 21 20 20 20 20 2d 2d 3e 20   ┆> LOCK --->-->     !   !    --> ┆
0x028e0…02900 4c 4f 43 4b 4d 45 53 20 2d 2d 20 0d 0a 0d 0a 6c 6f 63 6b 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20   ┆LOCKMES --     lock definition: ┆
0x02900…02920 0d 0a 0d 0a 20 2d 3e 20 6c 6f 63 6b 6f 62 6a 65 63 74 20 64 65 6e 6f 74 61 74 69 6f 6e 20 2d 3e   ┆     -> lockobject denotation ->┆
0x02920…02940 20 41 53 20 2d 3e 20 62 75 66 66 65 72 6e 61 6d 65 20 2d 3e 2d 2d 2d 2d 2d 2d 2d 2d 3e 20 21 20   ┆ AS -> buffername ->--------> ! ┆
0x02940…02960 20 20 20 20 21 20 20 2d 2d 2d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 3c 2d 2d 2d 2d 2d 2d   ┆    !  --- --------------<------┆
0x02960…02980 2d 2d 2d 2d 2d 2d 2d 20 20 20 20 20 21 20 21 20 20 20 20 20 21 20 2d 3e 20 3a 20 2d 2d 3e 20 63   ┆-------     ! !     ! -> : --> c┆
0x02980…029a0 6f 6d 6d 6f 6e 20 74 79 70 65 20 0a 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 2d 3e 20 0d 0a 0d   ┆ommon type  specification ->    ┆
0x029a0…029c0 0a 54 68 65 20 64 65 6e 6f 74 65 64 20 6f 62 6a 65 63 74 20 6d 75 73 74 20 62 65 20 61 20 76 61   ┆ The denoted object must be a va┆
0x029c0…029e0 72 69 61 62 6c 65 20 6f 66 20 74 79 70 65 20 72 65 66 65 72 65 6e 63 65 2e 20 49 74 73 20 76 61   ┆riable of type reference. Its va┆
0x029e0…02a00 6c 75 65 20 0a 6d 75 73 74 20 6e 6f 74 20 62 65 20 4e 49 4c 2e 20 4f 74 68 65 72 77 69 73 65 20   ┆lue  must not be NIL. Otherwise ┆
0x02a00…02a20 61 20 66 61 75 6c 74 20 6f 63 63 75 72 73 2e 20 54 68 65 20 6d 65 73 73 61 67 65 20 64 65 73 69   ┆a fault occurs. The message desi┆
0x02a20…02a40 67 6e 61 74 65 64 20 0a 62 79 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 6d 61 79 20 62 65 20   ┆gnated  by the reference may be ┆
0x02a40…02a60 61 63 63 65 73 73 65 64 20 69 6e 20 74 68 65 20 73 74 61 74 65 6d 65 6e 74 20 66 6f 6c 6c 6f 77   ┆accessed in the statement follow┆
0x02a60…02a80 69 6e 67 20 44 4f 20 61 73 20 0a 61 6e 20 69 6d 70 6c 69 63 69 74 6c 79 20 64 65 63 6c 61 72 65   ┆ing DO as  an implicitly declare┆
0x02a80…02aa0 64 20 76 61 72 69 61 62 6c 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 77 68 69 63 68 20 69 73 20   ┆d variable the name of which is ┆
0x02aa0…02ac0 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 0a 27 62 75 66 66 65 72 2d 20 6e 61 6d 65 27   ┆specified by the  'buffer- name'┆
0x02ac0…02ae0 2e 20 45 69 74 68 65 72 20 74 68 65 20 77 68 6f 6c 65 20 62 75 66 66 65 72 20 6f 72 20 6f 6e 6c   ┆. Either the whole buffer or onl┆
0x02ae0…02b00 79 20 69 74 73 20 64 61 74 61 20 69 73 20 61 63 63 65 73 73 69 62 6c 65 2c 20 0a 64 65 70 65 6e   ┆y its data is accessible,  depen┆
0x02b00…02b20 64 69 6e 67 20 6f 6e 20 74 68 65 20 27 6c 6f 63 6b 77 6f 72 64 27 2e 20 0d 0a 0d 0a 49 66 20 74   ┆ding on the 'lockword'.     If t┆
0x02b20…02b40 68 65 20 27 6c 6f 63 6b 77 6f 72 64 27 20 69 73 20 4c 4f 43 4b 20 74 68 65 20 77 68 6f 6c 65 20   ┆he 'lockword' is LOCK the whole ┆
0x02b40…02b60 62 75 66 66 65 72 20 69 73 20 61 63 63 65 73 73 69 62 6c 65 20 61 73 20 61 20 0a 76 61 72 69 61   ┆buffer is accessible as a  varia┆
0x02b60…02b80 62 6c 65 20 6f 66 20 74 79 70 65 20 20 20 20 20 62 75 66 66 65 72 3d 20 41 52 52 41 59 28 30 2e   ┆ble of type     buffer= ARRAY(0.┆
0x02b80…02ba0 2e 62 75 66 73 69 7a 65 2a 32 2d 31 29 20 4f 46 20 30 2e 2e 32 35 35 20 0d 0a 0d 0a 77 68 65 72   ┆.bufsize*2-1) OF 0..255     wher┆
0x02ba0…02bc0 65 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 65 71 75   ┆e the value of the parameter equ┆
0x02bc0…02be0 61 6c 73 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 2e 20 54 68 69 73   ┆als the size of the buffer. This┆
0x02be0…02c00 20 0a 69 73 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 2c 20 75 6e 6c   ┆  is the type of the buffer, unl┆
0x02c00…02c20 65 73 73 20 61 6e 6f 74 68 65 72 20 74 79 70 65 20 69 73 20 73 75 70 65 72 69 6d 70 6f 73 65 64   ┆ess another type is superimposed┆
0x02c20…02c40 20 6f 6e 20 74 68 65 20 0a 62 75 66 66 65 72 2c 20 62 79 20 6d 65 61 6e 73 20 6f 66 20 74 68 65   ┆ on the  buffer, by means of the┆
0x02c40…02c60 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 61 20 6c 6f 63 61 6c 20 74 79 70 65 2e 20   ┆ specification of a local type. ┆
0x02c60…02c80 0d 0a 0d 0a 49 66 20 74 68 65 20 27 6c 6f 63 6b 77 6f 72 64 27 20 69 73 20 4c 4f 43 4b 4d 45 53   ┆    If the 'lockword' is LOCKMES┆
0x02c80…02ca0 20 74 68 65 20 64 61 74 61 20 61 72 65 61 20 69 73 20 61 63 63 65 73 73 69 62 6c 65 20 61 73 20   ┆ the data area is accessible as ┆
0x02ca0…02cc0 61 20 0a 76 61 72 69 61 62 6c 65 20 6f 66 20 61 20 74 79 70 65 20 20 20 20 20 64 61 74 61 61 72   ┆a  variable of a type     dataar┆
0x02cc0…02ce0 65 61 3d 20 41 52 52 41 59 28 66 69 72 73 74 2e 2e 6c 61 73 74 29 20 4f 46 20 30 2e 2e 32 35 35   ┆ea= ARRAY(first..last) OF 0..255┆
0x02ce0…02d00 20 20 0d 0a 0d 0a 77 68 65 72 65 20 66 69 72 73 74 20 61 6e 64 20 6c 61 73 74 20 76 61 6c 75 65   ┆      where first and last value┆
0x02d00…02d20 73 20 61 72 65 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 62 75 66 66 65 72 20 61 74 74 72 69 62   ┆s are equal to the buffer attrib┆
0x02d20…02d40 75 74 65 73 20 77 69 74 68 20 0a 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 73 2e 20 54 68 69 73 20   ┆utes with  the same names. This ┆
0x02d40…02d60 69 73 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 2c 20 75 6e 6c 65 73   ┆is the type of the buffer, unles┆
0x02d60…02d80 73 20 61 6e 6f 74 68 65 72 20 74 79 70 65 20 69 73 20 0a 73 75 70 65 72 69 6d 70 6f 73 65 64 20   ┆s another type is  superimposed ┆
0x02d80…02da0 6f 6e 20 74 68 65 20 64 61 74 61 20 61 72 65 61 2c 20 62 79 20 6d 65 61 6e 73 20 6f 66 20 74 68   ┆on the data area, by means of th┆
0x02da0…02dc0 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 61 20 0a 6c 6f 63 61 6c 20 74 79 70 65   ┆e specification of a  local type┆
0x02dc0…02de0 2e 20 54 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 61 73   ┆. The address of the variable as┆
0x02de0…02e00 20 77 65 6c 6c 20 61 73 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 0a 76 61 6c 75 65 73 20 61   ┆ well as the parameter  values a┆
0x02e00…02e20 72 65 20 65 76 61 6c 75 61 74 65 64 20 62 65 66 6f 72 65 20 74 68 65 20 73 74 61 74 65 6d 65 6e   ┆re evaluated before the statemen┆
0x02e20…02e40 74 20 66 6f 6c 6c 6f 77 69 6e 67 20 44 4f 20 69 73 20 65 78 65 63 75 74 65 64 2e 20 0d 0a 0d 0a   ┆t following DO is executed.     ┆
0x02e40…02e60 a1 45 78 61 6d 70 6c 65 3a 20 0d 0a 0d 0a 8c 8a 90 0a e1 4c 4f 43 4b 4d 45 53 20 72 65 66 20 41   ┆АExample:     їіљ рLOCKMES ref A┆
0x02e60…02e80 53 20 64 5f 70 61 72 74 20 44 4f 20 20 20 57 49 54 48 20 64 5f 70 61 72 74 20 41 53 20 64 61 74   ┆S d_part DO   WITH d_part AS dat┆
0x02e80…02ea0 61 3a 20 0a 41 52 52 41 59 28 30 2e 2e 75 31 28 72 65 66 29 29 20 4f 46 20 69 6e 74 65 67 65 72   ┆a:  ARRAY(0..u1(ref)) OF integer┆
0x02ea0…02ec0 20 44 4f 20 20 20 20 20 2e 2e 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 20 20 20 20 20 20 62 75   ┆ DO     ...                   bu┆
0x02ec0…02ee0 66 66 65 72 20 64 65 6e 6f 74 65 64 20 62 79 20 72 65 66 20 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d   ┆ffer denoted by ref       ------┆
0x02ee0…02f00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 20 20 20 30 3a 20 21 20 20 20 20 20 20 20 20 20   ┆---------------    0: !         ┆
0x02f00…02f20 0a 21 20 20 20 20 20 20 20 21 20 20 20 20 20 20 20 20 20 21 20 20 20 20 20 2e 2e 2e 66 69 72 73   ┆ !       !         !     ...firs┆
0x02f20…02f40 74 3a 20 21 20 20 20 20 20 20 20 20 20 21 20 20 20 20 20 20 20 21 20 20 20 20 20 20 20 20 20 21   ┆t: !         !       !         !┆
0x02f40…02f60 20 20 20 20 20 20 20 21 20 20 20 20 20 20 20 20 20 0a 21 20 20 20 20 20 64 61 74 61 3a 20 20 20   ┆       !          !     data:   ┆
0x02f60…02f80 20 20 2e 2e 2e 20 20 20 20 20 41 52 52 41 59 20 4f 46 20 69 6e 74 65 67 65 72 20 20 20 20 20 20   ┆  ...     ARRAY OF integer      ┆
0x02f80…02fa0 20 21 20 20 20 20 20 20 20 20 20 21 20 20 20 20 20 0a 66 69 72 73 74 2b 32 2a 75 31 3a 20 21 20   ┆ !         !      first+2*u1: ! ┆
0x02fa0…02fc0 20 20 20 20 20 20 20 20 21 20 20 20 20 20 20 20 21 20 20 20 20 20 20 20 20 20 21 20 20 20 20 20   ┆        !       !         !     ┆
0x02fc0…02fe0 2e 2e 2e 20 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 2d 2d 2d 2d   ┆...       ----------------- ----┆
0x02fe0…03000 20 50 61 67 65 20 33 31 20 50 6f 69 6e 74 65 72 20 54 79 70 65 73 2e 20 0d 0a 0d 0a 54 68 65 20   ┆ Page 31 Pointer Types.     The ┆
0x03000…03020 76 61 6c 75 65 73 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 20 74 79 70 65 20 61 72 65 20 4e 49 4c   ┆values of a pointer type are NIL┆
0x03020…03040 20 28 6e 6f 20 70 6f 69 6e 74 65 72 29 20 61 6e 64 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 0a 68   ┆ (no pointer) and pointers to  h┆
0x03040…03060 65 61 70 2d 61 6c 6c 6f 63 61 74 65 64 20 76 61 72 69 61 62 6c 65 73 20 6f 66 20 61 20 73 70 65   ┆eap-allocated variables of a spe┆
0x03060…03080 63 69 66 69 65 64 20 74 79 70 65 2c 20 63 61 6c 6c 65 64 20 74 68 65 20 62 61 73 65 20 74 79 70   ┆cified type, called the base typ┆
0x03080…030a0 65 20 6f 66 20 0a 74 68 65 20 70 6f 69 6e 74 65 72 20 74 79 70 65 2e 20 41 20 70 6f 69 6e 74 65   ┆e of  the pointer type. A pointe┆
0x030a0…030c0 72 20 6d 61 79 20 62 65 20 75 73 65 64 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 76 61 72 69   ┆r may be used to access the vari┆
0x030c0…030e0 61 62 6c 65 20 69 74 20 0a 70 6f 69 6e 74 73 20 74 6f 2e 20 0d 0a 0d 0a 54 68 65 20 63 6f 6d 6d   ┆able it  points to.     The comm┆
0x030e0…03100 6f 6e 20 74 79 70 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 73 70 65 63 69 66 69 65 73 20   ┆on type specification specifies ┆
0x03100…03120 74 68 65 20 62 61 73 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 64 65 66 69 6e 65 64 20 0a 70 6f   ┆the base type of the defined  po┆
0x03120…03140 69 6e 74 65 72 20 74 79 70 65 2e 20 54 68 65 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 6f 66   ┆inter type. The initial value of┆
0x03140…03160 20 61 20 70 6f 69 6e 74 65 72 20 76 61 72 69 61 62 6c 65 20 69 73 20 4e 49 4c 2c 20 69 2e 65 2e   ┆ a pointer variable is NIL, i.e.┆
0x03160…03180 20 69 74 20 0a 64 6f 65 73 20 6e 6f 74 20 70 6f 69 6e 74 20 74 6f 20 61 6e 79 20 76 61 72 69 61   ┆ it  does not point to any varia┆
0x03180…031a0 62 6c 65 2e 20 0d 0a 0d 0a 41 20 76 61 72 69 61 62 6c 65 20 61 63 63 65 73 73 65 64 20 74 68 72   ┆ble.     A variable accessed thr┆
0x031a0…031c0 6f 75 67 68 20 61 20 70 6f 69 6e 74 65 72 20 69 73 20 63 61 6c 6c 65 64 20 61 20 64 65 73 69 67   ┆ough a pointer is called a desig┆
0x031c0…031e0 6e 61 74 65 64 20 76 61 72 69 61 62 6c 65 2e 20 0d 0a 0d 0a 54 68 65 20 74 79 70 65 20 6f 66 20   ┆nated variable.     The type of ┆
0x031e0…03200 74 68 65 20 64 65 6e 6f 74 65 64 20 6f 62 6a 65 63 74 20 6d 75 73 74 20 62 65 20 61 20 70 6f 69   ┆the denoted object must be a poi┆
0x03200…03220 6e 74 65 72 20 74 79 70 65 2e 20 54 68 65 20 74 79 70 65 20 6f 66 20 0a 74 68 65 20 64 65 73 69   ┆nter type. The type of  the desi┆
0x03220…03240 67 6e 61 74 65 64 20 76 61 72 69 61 62 6c 65 20 69 73 20 74 68 65 20 62 61 73 65 20 74 79 70 65   ┆gnated variable is the base type┆
0x03240…03260 20 6f 66 20 74 68 69 73 20 70 6f 69 6e 74 65 72 20 74 79 70 65 2e 20 49 66 20 74 68 65 20 0a 76   ┆ of this pointer type. If the  v┆
0x03260…03280 61 6c 75 65 20 6f 66 20 74 68 65 20 64 65 6e 6f 74 65 64 20 70 6f 69 6e 74 65 72 20 6f 62 6a 65   ┆alue of the denoted pointer obje┆
0x03280…032a0 63 74 20 69 73 20 4e 49 4c 20 61 20 66 61 75 6c 74 20 6f 63 63 75 72 73 20 77 68 65 6e 20 61 6e   ┆ct is NIL a fault occurs when an┆
0x032a0…032c0 20 0a 61 74 74 65 6d 70 74 20 69 73 20 6d 61 64 65 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20   ┆  attempt is made to access the ┆
0x032c0…032e0 64 65 73 69 67 6e 61 74 65 64 20 76 61 72 69 61 62 6c 65 2e 20 0d 0a 0d 0a 54 68 65 20 63 6f 6d   ┆designated variable.     The com┆
0x032e0…03300 70 61 72 69 73 6f 6e 20 6f 70 65 72 61 74 6f 72 73 20 3d 20 61 6e 64 20 3c 3e 20 6d 61 79 20 62   ┆parison operators = and <> may b┆
0x03300…03320 65 20 61 70 70 6c 69 65 64 20 74 6f 20 70 61 69 72 73 20 6f 66 20 0a 6f 70 65 72 61 6e 64 73 20   ┆e applied to pairs of  operands ┆
0x03320…03340 6f 66 20 63 6f 6d 70 61 74 69 62 6c 65 20 70 6f 69 6e 74 65 72 20 74 79 70 65 73 2e 20 54 68 65   ┆of compatible pointer types. The┆
0x03340…03360 20 72 65 73 75 6c 74 20 70 72 6f 64 75 63 65 64 20 62 79 20 74 68 65 20 3d 20 0a 6f 70 65 72 61   ┆ result produced by the =  opera┆
0x03360…03380 74 6f 72 20 69 73 20 74 72 75 65 20 69 66 20 62 6f 74 68 20 70 6f 69 6e 74 65 72 73 20 64 65 73   ┆tor is true if both pointers des┆
0x03380…033a0 69 67 6e 61 74 65 20 74 68 65 20 73 61 6d 65 20 6f 62 6a 65 63 74 2c 20 6f 72 20 69 66 20 62 6f   ┆ignate the same object, or if bo┆
0x033a0…033c0 74 68 20 0a 68 61 76 65 20 76 61 6c 75 65 20 4e 49 4c 2e 20 4f 74 68 65 72 77 69 73 65 20 69 74   ┆th  have value NIL. Otherwise it┆
0x033c0…033e0 20 69 73 20 66 61 6c 73 65 2e 20 54 68 65 20 72 65 73 75 6c 74 20 70 72 6f 64 75 63 65 64 20 62   ┆ is false. The result produced b┆
0x033e0…03400 79 20 74 68 65 20 3c 3e 20 0a 6f 70 65 72 61 74 6f 72 20 69 73 20 74 68 65 20 6e 65 67 61 74 69   ┆y the <>  operator is the negati┆
0x03400…03420 6f 6e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 3d 2e 20 0d 0a 0d 0a 54 68 65 72 65   ┆on of the result of =.     There┆
0x03420…03440 20 69 73 20 61 20 70 72 65 64 65 66 69 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 74 65 73   ┆ is a predefined function to tes┆
0x03440…03460 74 20 77 68 65 74 68 65 72 20 61 20 70 6f 69 6e 74 65 72 2c 20 6f 66 20 61 6e 79 20 0a 70 6f 69   ┆t whether a pointer, of any  poi┆
0x03460…03480 6e 74 65 72 20 74 79 70 65 20 70 74 72 74 79 70 65 2c 20 69 73 20 4e 49 4c 2e 20 0d 0a 0d 0a 46   ┆nter type ptrtype, is NIL.     F┆
0x03480…034a0 55 4e 43 54 49 4f 4e 20 6e 69 6c 28 70 74 72 3a 20 70 74 72 74 79 70 65 29 3a 20 62 6f 6f 6c 65   ┆UNCTION nil(ptr: ptrtype): boole┆
0x034a0…034c0 61 6e 20 54 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 20 63 61 6c 6c 20 6f 66 20 6e 69 6c 20 69   ┆an The result of a call of nil i┆
0x034c0…034e0 73 20 0a 74 72 75 65 20 69 66 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 70 61 72 61   ┆s  true if the value of the para┆
0x034e0…03500 6d 65 74 65 72 20 69 73 20 4e 49 4c 20 61 6e 64 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73 65   ┆meter is NIL and false otherwise┆
0x03500…03520 2e 20 0d 0a 0d 0a 41 20 76 61 72 69 61 62 6c 65 20 69 73 20 61 6c 6c 6f 63 61 74 65 64 20 6f 6e   ┆.     A variable is allocated on┆
0x03520…03540 20 74 68 65 20 68 65 61 70 20 61 6e 64 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 69 74 20 61 73   ┆ the heap and a pointer to it as┆
0x03540…03560 73 69 67 6e 65 64 20 74 6f 20 61 20 0a 70 6f 69 6e 74 65 72 20 76 61 72 69 61 62 6c 65 20 62 79   ┆signed to a  pointer variable by┆
0x03560…03580 20 61 20 63 61 6c 6c 20 6f 66 20 74 68 65 20 70 72 65 64 65 66 69 6e 65 64 20 70 72 6f 63 65 64   ┆ a call of the predefined proced┆
0x03580…035a0 75 72 65 20 6e 65 77 2c 20 77 68 65 72 65 20 74 68 65 20 0a 70 61 72 61 6d 65 74 65 72 20 74 79   ┆ure new, where the  parameter ty┆
0x035a0…035c0 70 65 20 70 74 72 74 79 70 65 20 6d 61 79 20 62 65 20 61 6e 79 20 70 6f 69 6e 74 65 72 20 74 79   ┆pe ptrtype may be any pointer ty┆
0x035c0…035e0 70 65 2e 20 0d 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 6e 65 77 28 56 41 52 20 70 74 72 3a 20 70   ┆pe.     PROCEDURE new(VAR ptr: p┆
0x035e0…03600 74 72 74 79 70 65 29 20 41 20 63 61 6c 6c 20 6f 66 20 6e 65 77 20 63 61 75 73 65 73 20 6d 65 6d   ┆trtype) A call of new causes mem┆
0x03600…03620 6f 72 79 20 66 6f 72 20 0a 61 20 76 61 72 69 61 62 6c 65 20 6f 66 20 74 68 65 20 62 61 73 65 20   ┆ory for  a variable of the base ┆
0x03620…03640 74 79 70 65 20 6f 66 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 70 61 72 61 6d 65 74 65   ┆type of the type of the paramete┆
0x03640…03660 72 20 70 74 72 20 74 6f 20 62 65 20 0a 61 6c 6c 6f 63 61 74 65 64 20 6f 6e 20 74 68 65 20 68 65   ┆r ptr to be  allocated on the he┆
0x03660…03680 61 70 20 6f 66 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 20 69 6e 63 61 72 6e   ┆ap of the calling process incarn┆
0x03680…036a0 61 74 69 6f 6e 2e 20 49 66 20 61 6e 20 69 6e 69 74 69 61 6c 20 0a 76 61 6c 75 65 20 69 73 20 64   ┆ation. If an initial  value is d┆
0x036a0…036c0 65 66 69 6e 65 64 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 6f 72 20 61 6e 79 20 63   ┆efined for the variable or any c┆
0x036c0…036e0 6f 6d 70 6f 6e 65 6e 74 73 20 6f 66 20 69 74 2c 20 74 68 65 20 0a 69 6e 69 74 69 61 6c 69 7a 61   ┆omponents of it, the  initializa┆
0x036e0…03700 74 69 6f 6e 20 74 61 6b 65 73 20 70 6c 61 63 65 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 66 74   ┆tion takes place immediately aft┆
0x03700…03720 65 72 20 61 6c 6c 6f 63 61 74 69 6f 6e 2e 20 54 68 65 20 76 61 6c 75 65 20 6f 66 20 0a 74 68 65   ┆er allocation. The value of  the┆
0x03720…03740 20 70 61 72 61 6d 65 74 65 72 20 62 65 63 6f 6d 65 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20   ┆ parameter becomes a pointer to ┆
0x03740…03760 74 68 65 20 61 6c 6c 6f 63 61 74 65 64 20 76 61 72 69 61 62 6c 65 2e 20 0d 0a 0d 0a 8c 89 e0 0a   ┆the allocated variable.     їЅЯ ┆
0x03760…03780 a1 45 78 61 6d 70 6c 65 3a 20 e1 54 59 50 45 20 20 20 63 6f 6d 70 3b 20 63 6f 6d 70 31 3b 20 2d   ┆АExample: рTYPE   comp; comp1; -┆
0x03780…037a0 2d 20 66 6f 72 77 61 72 64 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 20 20 63 6f 6d 70 31 5f 74   ┆- forward declarations   comp1_t┆
0x037a0…037c0 79 70 65 3d 20 0a 52 45 43 4f 52 44 20 20 20 20 20 6e 75 6d 62 65 72 3a 20 69 6e 74 65 67 65 72   ┆ype=  RECORD     number: integer┆
0x037c0…037e0 3b 20 20 20 20 20 63 6f 6d 70 31 5f 63 68 61 69 6e 3a 20 63 6f 6d 70 31 3b 20 20 20 20 20 0a 63   ┆;     comp1_chain: comp1;      c┆
0x037e0…03800 6f 6d 70 5f 63 68 61 69 6e 3a 20 63 6f 6d 70 20 20 20 45 4e 44 20 28 2a 20 52 45 43 4f 52 44 20   ┆omp_chain: comp   END (* RECORD ┆
0x03800…03820 2a 29 3b 20 20 20 63 6f 6d 70 5f 74 79 70 65 3d 20 41 52 52 41 59 20 28 78 2e 2e 79 29 20 0a 4f   ┆*);   comp_type= ARRAY (x..y)  O┆
0x03820…03840 46 20 63 6f 6d 70 31 3b 20 20 20 63 6f 6d 70 3d 1f 1f 63 6f 6d 70 5f 74 79 70 65 3b 20 20 20 63   ┆F comp1;   comp=  comp_type;   c┆
0x03840…03860 6f 6d 70 31 3d 1f 1f 63 6f 6d 70 31 5f 74 79 70 65 3b 20 56 41 52 20 20 20 0a 73 74 72 75 63 74   ┆omp1=  comp1_type; VAR    struct┆
0x03860…03880 75 72 65 5f 73 74 61 72 74 3a 20 63 6f 6d 70 3b 20 42 45 47 49 4e 20 20 20 2e 2e 2e 20 20 20 6e   ┆ure_start: comp; BEGIN   ...   n┆
0x03880…038a0 65 77 28 73 74 72 75 63 74 75 72 65 5f 73 74 61 72 74 29 3b 20 20 20 0a 6e 65 77 28 73 74 72 75   ┆ew(structure_start);    new(stru┆
0x038a0…038c0 63 74 75 72 65 5f 73 74 61 72 74 1f 28 78 29 29 3b 20 20 20 6e 65 77 28 73 74 72 75 63 74 75 72   ┆cture_start (x));   new(structur┆
0x038c0…038e0 65 5f 73 74 61 72 74 1f 28 78 29 1f 2e 63 6f 6d 70 31 5f 63 68 61 69 6e 29 20 20 20 2e 2e 2e 20   ┆e_start (x) .comp1_chain)   ... ┆
0x038e0…03900 0d 0a 0d 0a 50 61 67 65 20 33 35 2c 20 4e 6f 74 61 74 69 6f 6e 20 66 6f 72 20 43 6f 6e 73 74 61   ┆    Page 35, Notation for Consta┆
0x03900…03920 6e 74 73 20 6f 66 20 53 74 72 75 63 74 75 72 65 64 20 54 79 70 65 73 2e 20 42 65 73 69 64 65 73   ┆nts of Structured Types. Besides┆
0x03920…03940 20 74 68 65 20 77 65 6c 6c 20 0a 6b 6e 6f 77 6e 20 6e 6f 74 61 74 69 6f 6e 20 66 6f 72 20 63 6f   ┆ the well  known notation for co┆
0x03940…03960 6e 73 74 61 6e 74 73 20 6f 66 20 73 74 72 75 63 74 75 72 65 64 20 74 79 70 65 73 20 74 68 65 20   ┆nstants of structured types the ┆
0x03960…03980 52 54 50 38 36 20 6e 6f 74 61 74 69 6f 6e 20 0a 69 73 20 6e 6f 77 20 61 6c 6c 6f 77 65 64 2e 20   ┆RTP86 notation  is now allowed. ┆
0x03980…039a0 43 6f 6e 73 74 61 6e 74 73 20 6f 66 20 61 20 73 74 72 75 63 74 75 72 65 64 20 74 79 70 65 20 6d   ┆Constants of a structured type m┆
0x039a0…039c0 61 79 20 62 65 20 64 65 6e 6f 74 65 64 20 62 79 20 0a 6c 69 73 74 73 20 6f 66 20 65 6c 65 6d 65   ┆ay be denoted by  lists of eleme┆
0x039c0…039e0 6e 74 20 6f 72 20 66 69 65 6c 64 20 76 61 6c 75 65 73 2e 20 0d 0a 0d 0a 0d 0a 73 74 72 75 63 74   ┆nt or field values.       struct┆
0x039e0…03a00 75 72 65 64 20 63 6f 6e 73 74 61 6e 74 3a 20 20 20 20 2d 2d 3e 20 74 79 70 65 5f 6e 61 6d 65 20   ┆ured constant:    --> type_name ┆
0x03a00…03a20 2d 2d 3e 20 28 3a 20 2d 2d 3e 20 76 61 6c 75 65 20 6c 69 73 74 20 2d 2d 3e 20 3a 29 20 2d 3e 2d   ┆--> (: --> value list --> :) ->-┆
0x03a20…03a40 2d 2d 0a 3e 20 20 20 20 20 20 20 20 20 21 20 20 20 20 20 20 20 20 20 21 20 20 20 20 20 20 20 20   ┆-- >         !         !        ┆
0x03a40…03a60 2d 2d 3e 20 28 20 20 2d 2d 3e 20 76 61 6c 75 65 20 6c 69 73 74 20 2d 2d 3e 20 20 29 20 2d 2d 20   ┆--> (  --> value list -->  ) -- ┆
0x03a60…03a80 0d 0a 0d 0a 0d 0a 76 61 6c 75 65 20 6c 69 73 74 3a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 2c 20 3c   ┆      value list: ---------- , <┆
0x03a80…03aa0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 21 20 20 20 20 21 20 20 20 20 20 20 20 20 2d 2d 2d 3e 2d   ┆------------ !    !        --->-┆
0x03aa0…03ac0 3e 20 0a 76 61 6c 75 65 5f 65 78 70 72 65 73 73 69 6f 6e 20 2d 3e 2d 2d 2d 2d 2d 3e 20 20 20 21   ┆>  value_expression ->----->   !┆
0x03ac0…03ae0 20 21 20 20 2d 2d 3e 20 72 65 70 65 61 74 65 64 5f 76 61 6c 75 65 20 2d 2d 2d 2d 20 0d 0a 0d 0a   ┆ !  --> repeated_value ----     ┆
0x03ae0…03b00 72 65 70 65 61 74 65 64 5f 76 61 6c 75 65 3a 20 20 20 2d 2d 3e 20 72 65 70 65 74 69 74 69 6f 6e   ┆repeated_value:   --> repetition┆
0x03b00…03b20 5f 65 78 70 72 65 73 73 69 6f 6e 20 2d 2d 3e 20 2a 2a 2a 20 2d 2d 3e 20 0a 76 61 6c 75 65 5f 65   ┆_expression --> *** -->  value_e┆
0x03b20…03b40 78 70 72 65 73 73 69 6f 6e 20 2d 2d 3e 20 0d 0a 0d 0a 0d 0a 54 68 65 20 27 74 79 70 65 5f 6e 61   ┆xpression -->       The 'type_na┆
0x03b40…03b60 6d 65 27 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 73 74   ┆me' specifies the type of the st┆
0x03b60…03b80 72 75 63 74 75 72 65 64 20 76 61 6c 75 65 2c 20 77 68 69 63 68 20 0a 6d 75 73 74 20 62 65 20 61   ┆ructured value, which  must be a┆
0x03b80…03ba0 20 73 74 72 75 63 74 75 72 65 64 20 74 79 70 65 2e 20 54 68 65 20 63 6f 6e 73 74 72 75 63 74 20   ┆ structured type. The construct ┆
0x03ba0…03bc0 62 65 74 77 65 65 6e 20 28 3a 20 61 6e 64 20 3a 29 20 69 73 20 0a 65 76 61 6c 75 61 74 65 64 20   ┆between (: and :) is  evaluated ┆
0x03bc0…03be0 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 76 61 6c 75 65 73 2c 20 62 79 20 65 76 61 6c 75 61 74 69   ┆to a list of values, by evaluati┆
0x03be0…03c00 6e 67 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 73 20 69 6e 20 74 68 65 20 0a 6f 72 64 65 72   ┆ng the expressions in the  order┆
0x03c00…03c20 20 6f 66 20 6f 63 63 75 72 72 65 6e 63 65 2e 20 0d 0a 0d 0a 49 66 20 74 68 65 20 73 74 72 75 63   ┆ of occurrence.     If the struc┆
0x03c20…03c40 74 75 72 65 64 20 74 79 70 65 20 69 73 20 61 6e 20 61 72 72 61 79 20 74 79 70 65 20 74 68 65 20   ┆tured type is an array type the ┆
0x03c40…03c60 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 6c 69 73 74 20 61 72 65 20 74 68 65 20 0a 65 6c 65 6d   ┆values in the list are the  elem┆
0x03c60…03c80 65 6e 74 20 76 61 6c 75 65 73 20 69 6e 20 69 6e 64 65 78 20 6f 72 64 65 72 2e 20 54 68 65 20 6e   ┆ent values in index order. The n┆
0x03c80…03ca0 75 6d 62 65 72 20 6f 66 20 76 61 6c 75 65 73 2c 20 70 6f 73 73 69 62 6c 79 20 6e 6f 6e 65 2c 20   ┆umber of values, possibly none, ┆
0x03ca0…03cc0 0a 6d 75 73 74 20 65 71 75 61 6c 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 65 6c 65 6d 65 6e   ┆ must equal the number of elemen┆
0x03cc0…03ce0 74 73 20 61 6e 64 20 74 68 65 20 74 79 70 65 20 6f 66 20 65 61 63 68 20 76 61 6c 75 65 20 6d 75   ┆ts and the type of each value mu┆
0x03ce0…03d00 73 74 20 0a 62 65 20 61 73 73 69 67 6e 61 62 6c 65 20 74 6f 20 74 68 65 20 65 6c 65 6d 65 6e 74   ┆st  be assignable to the element┆
0x03d00…03d20 20 74 79 70 65 2e 20 41 20 27 72 65 70 65 61 74 65 64 5f 76 61 6c 75 65 27 2c 20 69 66 20 70 72   ┆ type. A 'repeated_value', if pr┆
0x03d20…03d40 65 73 65 6e 74 2c 20 69 73 20 0a 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 20 6e 75 6d 62 65   ┆esent, is  equivalent to a numbe┆
0x03d40…03d60 72 20 6f 66 20 72 65 70 65 61 74 65 64 20 6f 63 63 75 72 72 65 6e 63 65 73 20 6f 66 20 69 74 73   ┆r of repeated occurrences of its┆
0x03d60…03d80 20 0a 27 76 61 6c 75 65 5f 65 78 70 72 65 73 73 69 6f 6e 27 2e 20 54 68 65 20 6e 75 6d 62 65 72   ┆  'value_expression'. The number┆
0x03d80…03da0 20 69 73 20 67 69 76 65 6e 20 62 79 20 74 68 65 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 20 0a   ┆ is given by the ordinal value  ┆
0x03da0…03dc0 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68   ┆corresponding to the value of th┆
0x03dc0…03de0 65 20 27 72 65 70 65 74 69 74 69 6f 6e 5f 65 78 70 72 65 73 73 69 6f 6e 27 20 77 68 69 63 68 20   ┆e 'repetition_expression' which ┆
0x03de0…03e00 6d 75 73 74 20 0a 62 65 20 61 20 6e 6f 6e 2d 6e 65 67 61 74 69 76 65 20 69 6e 74 65 67 65 72 2e   ┆must  be a non-negative integer.┆
0x03e00…03e20 20 0d 0a 0d 0a 49 66 20 74 68 65 20 73 74 72 75 63 74 75 72 65 64 20 74 79 70 65 20 69 73 20 61   ┆     If the structured type is a┆
0x03e20…03e40 20 72 65 63 6f 72 64 20 74 79 70 65 20 74 68 65 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 6c   ┆ record type the values in the l┆
0x03e40…03e60 69 73 74 20 61 72 65 20 74 68 65 20 0a 66 69 65 6c 64 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65   ┆ist are the  field values in the┆
0x03e60…03e80 20 6f 72 64 65 72 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 73 20   ┆ order in which the field names ┆
0x03e80…03ea0 6f 63 63 75 72 20 69 6e 20 74 68 65 20 0a 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 74 68 65 20   ┆occur in the  definition of the ┆
0x03ea0…03ec0 72 65 63 6f 72 64 20 74 79 70 65 2e 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 76 61 6c 75 65   ┆record type. The number of value┆
0x03ec0…03ee0 73 20 6d 75 73 74 20 65 71 75 61 6c 20 74 68 65 20 0a 6e 75 6d 62 65 72 20 6f 66 20 66 69 65 6c   ┆s must equal the  number of fiel┆
0x03ee0…03f00 64 73 20 61 6e 64 20 74 68 65 20 74 79 70 65 20 6f 66 20 65 61 63 68 20 76 61 6c 75 65 20 6d 75   ┆ds and the type of each value mu┆
0x03f00…03f20 73 74 20 62 65 20 61 73 73 69 67 6e 61 62 6c 65 20 74 6f 20 0a 74 68 65 20 63 6f 72 72 65 73 70   ┆st be assignable to  the corresp┆
0x03f20…03f40 6f 6e 64 69 6e 67 20 66 69 65 6c 64 20 74 79 70 65 3b 20 6f 74 68 65 72 77 69 73 65 20 61 20 66   ┆onding field type; otherwise a f┆
0x03f40…03f60 61 75 6c 74 20 6f 63 63 75 72 73 2e 20 49 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 0a 61 20 72   ┆ault occurs. In the case of  a r┆
0x03f60…03f80 65 63 6f 72 64 20 74 79 70 65 20 61 20 27 72 65 70 65 61 74 65 64 5f 76 61 6c 75 65 27 20 6d 75   ┆ecord type a 'repeated_value' mu┆
0x03f80…03fa0 73 74 20 6e 6f 74 20 6f 63 63 75 72 2e 20 49 66 20 74 68 65 20 27 76 61 6c 75 65 20 6c 69 73 74   ┆st not occur. If the 'value list┆
0x03fa0…03fc0 27 20 0a 69 73 20 65 6e 63 6c 6f 73 65 64 20 69 6e 20 28 3a 20 3a 29 20 74 68 65 6e 20 74 68 65   ┆'  is enclosed in (: :) then the┆
0x03fc0…03fe0 20 74 79 70 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 6d 61 79 20 62 65 20 6f 6d 69 74 74   ┆ type specification may be omitt┆
0x03fe0…04000 65 64 20 77 68 65 6e 20 0a 74 68 65 20 74 79 70 65 20 69 74 20 73 70 65 63 69 66 69 65 73 20 63   ┆ed when  the type it specifies c┆
0x04000…04020 61 6e 20 62 65 20 69 6e 66 65 72 72 65 64 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e 74 65 78 74 2c   ┆an be inferred from the context,┆
0x04020…04040 20 69 2e 65 2e 20 69 6e 20 74 68 65 20 0a 66 6f 6c 6c 6f 77 69 6e 67 20 74 77 6f 20 73 69 74 75   ┆ i.e. in the  following two situ┆
0x04040…04060 61 74 69 6f 6e 73 3a 20 0d 0a 0d 0a 1f 1f 31 2e 1f 54 68 65 20 27 73 74 72 75 63 74 75 72 65 64   ┆ations:       1. The 'structured┆
0x04060…04080 20 63 6f 6e 73 74 61 6e 74 27 20 6f 63 63 75 72 73 20 61 73 20 61 20 27 76 61 6c 75 65 5f 65 78   ┆ constant' occurs as a 'value_ex┆
0x04080…040a0 70 72 65 73 73 69 6f 6e 27 20 77 69 74 68 69 6e 20 61 20 0a 6c 61 72 67 65 72 20 27 73 74 72 75   ┆pression' within a  larger 'stru┆
0x040a0…040c0 63 74 75 72 65 64 20 63 6f 6e 73 74 61 6e 74 27 20 0d 0a 0d 0a 8c 89 c8 0a 1f 1f 32 2e 1f 54 68   ┆ctured constant'     їЅ╚   2. Th┆
0x040c0…040e0 65 20 27 73 74 72 75 63 74 75 72 65 64 20 63 6f 6e 73 74 61 6e 74 27 20 6f 63 63 75 72 73 20 61   ┆e 'structured constant' occurs a┆
0x040e0…04100 73 20 61 6e 20 27 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 5f 65 78 70 72 65 73 73 69 6f 6e 27   ┆s an 'initialization_expression'┆
0x04100…04120 20 0a 69 6e 20 61 20 76 61 72 69 61 62 6c 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 2e 20 0d 0a 0d   ┆  in a variable declaration.    ┆
0x04120…04140 0a a1 45 78 61 6d 70 6c 65 e1 3a 20 43 4f 4e 53 54 20 20 20 69 64 65 6e 74 69 74 79 5f 33 3d 6d   ┆ АExampleр: CONST   identity_3=m┆
0x04140…04160 61 74 72 69 78 5f 33 28 3a 28 3a 31 2c 30 2c 30 3a 29 2c 20 28 3a 30 2c 31 2c 30 3a 29 2c 20 28   ┆atrix_3(:(:1,0,0:), (:0,1,0:), (┆
0x04160…04180 3a 30 2c 30 2c 31 3a 29 3a 29 3b 20 0a 56 41 52 20 20 20 61 34 3a 20 6d 61 74 72 69 78 5f 34 3a   ┆:0,0,1:):);  VAR   a4: matrix_4:┆
0x04180…041a0 3d 20 28 3a 34 2a 2a 2a 28 3a 34 2a 2a 2a 30 3a 29 3a 29 3b 20 2d 2d 20 69 6e 69 74 69 61 6c 6c   ┆= (:4***(:4***0:):); -- initiall┆
0x041a0…041c0 79 20 6e 75 6c 6c 20 0d 0a 0d 0a 0d 0a 0d 0a 50 61 67 65 20 33 36 2c 20 70 61 67 65 20 36 34 2c   ┆y null         Page 36, page 64,┆
0x041c0…041e0 20 43 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 3a 20 0d 0a 0d 0a 63 68 61 72 61 63 74 65 72   ┆ Character string:     character┆
0x041e0…04200 20 73 74 72 69 6e 67 3a 20 20 2d 2d 2d 2d 3e 22 2d 2d 3e 2d 2d 3e 73 74 72 69 6e 67 20 63 68 61   ┆ string:  ---->"-->-->string cha┆
0x04200…04220 72 61 63 74 65 72 2d 2d 3e 2d 2d 3e 22 2d 2d 3e 2d 2d 2d 2d 2d 3e 20 20 20 20 21 20 20 20 20 20   ┆racter-->-->"-->----->    !     ┆
0x04220…04240 0a 21 20 21 20 20 20 20 20 20 20 21 20 20 20 20 21 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆ ! !       !    !     ----------┆
0x04240…04260 3c 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 20 20 20 20 20 20 21 20 20 20 20 2d 2d 3e 27 2d 2d 3e   ┆<------------       !    -->'-->┆
0x04260…04280 2d 2d 3e 73 74 72 69 6e 67 20 0a 63 68 61 72 61 63 74 65 72 2d 2d 3e 2d 2d 3e 27 2d 2d 2d 21 20   ┆-->string  character-->-->'---! ┆
0x04280…042a0 21 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 3c 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 0d 0a 0d 0a a1 43 6f   ┆!----------<------------     АCo┆
0x042a0…042c0 6e 63 61 74 65 6e 61 74 69 6f 6e 20 4f 70 65 72 61 74 6f 72 2e 20 e1 49 6e 64 69 76 69 64 75 61   ┆ncatenation Operator. рIndividua┆
0x042c0…042e0 6c 20 6e 6f 6e 2d 67 72 61 70 68 69 63 20 63 68 61 72 61 63 74 65 72 73 20 6d 61 79 20 62 65 20   ┆l non-graphic characters may be ┆
0x042e0…04300 0a 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 20   ┆ included in a character string ┆
0x04300…04320 62 79 20 6d 65 61 6e 73 20 6f 66 20 74 68 65 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 70   ┆by means of the concatenation op┆
0x04320…04340 65 72 61 74 6f 72 20 0a 26 2e 20 0d 0a 0d 0a a1 45 78 61 6d 70 6c 65 3a 20 e1 22 2a 2a 2a 20 69   ┆erator  &.     АExample: р"*** i┆
0x04340…04360 6c 6c 65 67 61 6c 20 69 6e 70 75 74 20 6d 65 73 73 61 67 65 22 20 26 20 42 45 4c 20 26 20 4e 4c   ┆llegal input message" & BEL & NL┆
0x04360…04380 20 0d 0a 0d 0a 0d 0a 54 68 65 20 73 74 72 69 6e 67 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65   ┆       The string characters are┆
0x04380…043a0 20 74 68 65 20 63 68 61 72 61 63 74 65 72 73 3a 20 73 70 20 2e 2e 20 0d 0a 0d 0a 50 61 67 65 20   ┆ the characters: sp ..     Page ┆
0x043a0…043c0 33 37 2c 20 57 69 74 68 20 53 74 61 74 65 6d 65 6e 74 2e 20 0d 0a 0d 0a 41 20 77 69 74 68 20 73   ┆37, With Statement.     A with s┆
0x043c0…043e0 74 61 74 65 6d 65 6e 74 20 6d 61 79 20 62 65 20 75 73 65 64 20 66 6f 72 20 74 68 72 65 65 20 70   ┆tatement may be used for three p┆
0x043e0…04400 75 72 70 6f 73 65 73 3a 20 0d 0a 0d 0a 1f 1f 31 2e 1f 73 68 6f 72 74 68 61 6e 64 20 6e 6f 74 61   ┆urposes:       1. shorthand nota┆
0x04400…04420 74 69 6f 6e 20 66 6f 72 20 66 69 65 6c 64 20 61 63 63 65 73 73 20 69 6e 20 61 20 72 65 63 6f 72   ┆tion for field access in a recor┆
0x04420…04440 64 20 6f 62 6a 65 63 74 2c 20 0a 1f 1f 32 2e 1f 6f 62 6a 65 63 74 20 72 65 6e 61 6d 69 6e 67 2c   ┆d object,    2. object renaming,┆
0x04440…04460 20 1f 1f 33 2e 1f 6f 62 6a 65 63 74 20 72 65 74 79 70 69 6e 67 2e 20 0d 0a 0d 0a 54 68 65 20 6c   ┆   3. object retyping.     The l┆
0x04460…04480 61 74 74 65 72 20 69 73 20 74 68 65 20 66 61 63 69 6c 69 74 79 20 61 6c 6c 6f 77 69 6e 67 20 61   ┆atter is the facility allowing a┆
0x04480…044a0 20 70 72 6f 67 72 61 6d 6d 65 72 2d 64 65 66 69 6e 65 64 20 74 79 70 65 20 74 6f 20 62 65 20 0a   ┆ programmer-defined type to be  ┆
0x044a0…044c0 73 75 70 65 72 69 6d 70 6f 73 65 64 20 6f 6e 20 61 20 62 75 66 66 65 72 20 77 68 65 6e 20 61 70   ┆superimposed on a buffer when ap┆
0x044c0…044e0 70 6c 69 65 64 20 69 6e 20 61 20 6c 6f 63 6b 20 73 74 61 74 65 6d 65 6e 74 2e 20 0d 0a 0d 0a 77   ┆plied in a lock statement.     w┆
0x044e0…04500 69 74 68 20 73 74 61 74 65 6d 65 6e 74 3a 20 20 2d 2d 3e 20 57 49 54 48 20 2d 2d 3e 20 77 69 74   ┆ith statement:  --> WITH --> wit┆
0x04500…04520 68 20 64 65 66 69 6e 69 74 69 6f 6e 20 2d 2d 3e 20 44 4f 20 2d 2d 3e 20 73 74 61 74 65 6d 65 6e   ┆h definition --> DO --> statemen┆
0x04520…04540 74 20 2d 0a 2d 3e 20 0d 0a 0d 0a 77 69 74 68 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 20 2d 3e 20   ┆t - ->     with definition:  -> ┆
0x04540…04560 77 69 74 68 5f 6f 62 6a 65 63 74 20 64 65 6e 6f 74 61 74 69 6f 6e 20 2d 3e 2d 2d 2d 2d 2d 2d 2d   ┆with_object denotation ->-------┆
0x04560…04580 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 3e 20 20 20 20 20 20 20 20   ┆---------------------- >        ┆
0x04580…045a0 20 21 20 20 20 20 20 20 20 20 21 20 20 20 20 20 20 20 20 20 2d 3e 20 41 53 20 2d 3e 20 6c 6f 63   ┆ !        !         -> AS -> loc┆
0x045a0…045c0 61 6c 5f 6e 61 6d 65 20 2d 3e 2d 2d 2d 2d 2d 2d 2d 2d 20 21 20 20 20 20 20 21 20 20 0a 2d 2d 2d   ┆al_name ->-------- !     !   ---┆
0x045c0…045e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 3c 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 20 20 20   ┆--------------<-------------    ┆
0x045e0…04600 20 21 20 21 20 20 20 20 20 21 20 2d 3e 20 3a 20 2d 2d 3e 20 63 6f 6d 6d 6f 6e 20 74 79 70 65 20   ┆ ! !     ! -> : --> common type ┆
0x04600…04620 0a 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 2d 3e 20 0d 0a 0d 0a 54 68 65 20 64 65 6e 6f 74 65   ┆ specification ->     The denote┆
0x04620…04640 64 20 6f 62 6a 65 63 74 20 69 73 20 63 61 6c 6c 65 64 20 74 68 65 20 a1 77 69 74 68 2d 6f 62 6a   ┆d object is called the Аwith-obj┆
0x04640…04660 65 63 74 e1 2e 20 49 74 20 6d 75 73 74 20 6e 6f 74 20 62 65 20 61 6e 20 0a 69 72 72 65 67 75 6c   ┆ectр. It must not be an  irregul┆
0x04660…04680 61 72 20 6f 62 6a 65 63 74 20 28 70 61 63 6b 65 64 20 66 69 65 6c 64 29 2e 20 54 68 65 20 74 79   ┆ar object (packed field). The ty┆
0x04680…046a0 70 65 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 27 63 6f 6d 6d 6f 6e 20 0a 74 79 70   ┆pe specified by the 'common  typ┆
0x046a0…046c0 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 27 2c 20 69 66 20 70 72 65 73 65 6e 74 2c 20 69 73   ┆e specification', if present, is┆
0x046c0…046e0 20 63 61 6c 6c 65 64 20 74 68 65 20 a1 6c 6f 63 61 6c 20 74 79 70 65 e1 2e 20 54 68 65 20 74 79   ┆ called the Аlocal typeр. The ty┆
0x046e0…04700 70 65 20 6f 66 20 0a 74 68 65 20 77 69 74 68 2d 6f 62 6a 65 63 74 20 6d 75 73 74 20 6e 6f 74 20   ┆pe of  the with-object must not ┆
0x04700…04720 62 65 20 70 72 6f 74 65 63 74 65 64 20 28 69 2e 65 2e 20 63 6f 6e 74 61 69 6e 20 65 6c 65 6d 65   ┆be protected (i.e. contain eleme┆
0x04720…04740 6e 74 73 20 6f 66 20 74 79 70 65 20 0a 73 65 6d 61 70 68 6f 72 65 2c 20 70 6f 6f 6c 2c 20 72 65   ┆nts of type  semaphore, pool, re┆
0x04740…04760 66 65 72 65 6e 63 65 2c 20 73 68 61 64 6f 77 2c 20 70 72 6f 63 65 73 73 2c 20 6f 72 20 70 6f 69   ┆ference, shadow, process, or poi┆
0x04760…04780 6e 74 65 72 29 2c 20 6e 6f 72 20 6d 61 79 20 74 68 65 20 0a 6c 6f 63 61 6c 20 74 79 70 65 2e 20   ┆nter), nor may the  local type. ┆
0x04780…047a0 54 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 6c 6f 63 61 6c 20 74 79 70 65 20 6d 75 73 74 20   ┆The size of the local type must ┆
0x047a0…047c0 62 65 20 6c 65 73 73 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 74 6f 20 0a 74 68 65 20 73 69   ┆be less than or equal to  the si┆
0x047c0…047e0 7a 65 20 6f 66 20 74 68 65 20 77 69 74 68 2d 6f 62 6a 65 63 74 2e 20 0d 0a 0d 0a 41 20 77 69 74   ┆ze of the with-object.     A wit┆
0x047e0…04800 68 20 73 74 61 74 65 6d 65 6e 74 20 69 73 20 65 78 65 63 75 74 65 64 20 69 6e 20 74 68 72 65 65   ┆h statement is executed in three┆
0x04800…04820 20 73 74 65 70 73 3a 20 1f 1f 31 2e 1f 74 68 65 20 64 65 6e 6f 74 61 74 69 6f 6e 20 6f 66 20 0a   ┆ steps:   1. the denotation of  ┆
0x04820…04840 74 68 65 20 77 69 74 68 2d 6f 62 6a 65 63 74 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 61 73 20   ┆the with-object is evaluated as ┆
0x04840…04860 61 6e 20 6f 62 6a 65 63 74 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 69 2e 65 2e 20 74 68 65 20 61   ┆an object expression, i.e. the a┆
0x04860…04880 64 64 72 65 73 73 20 0a 8c 89 c8 0a 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 69 73 20 65 73 74   ┆ddress  їЅ╚ of the object is est┆
0x04880…048a0 61 62 6c 69 73 68 65 64 3b 20 1f 1f 32 2e 1f 74 68 65 20 6c 6f 63 61 6c 20 74 79 70 65 2c 20 69   ┆ablished;   2. the local type, i┆
0x048a0…048c0 66 20 70 72 65 73 65 6e 74 2c 20 69 73 20 0a 65 73 74 61 62 6c 69 73 68 65 64 3b 20 1f 1f 33 2e   ┆f present, is  established;   3.┆
0x048c0…048e0 1f 74 68 65 20 73 74 61 74 65 6d 65 6e 74 20 66 6f 6c 6c 6f 77 69 6e 67 20 44 4f 20 69 73 20 65   ┆ the statement following DO is e┆
0x048e0…04900 78 65 63 75 74 65 64 20 6f 62 73 65 72 76 69 6e 67 20 0a 74 68 65 20 72 75 6c 65 73 20 64 65 73   ┆xecuted observing  the rules des┆
0x04900…04920 63 72 69 62 65 64 20 62 65 6c 6f 77 2e 20 0d 0a 0d 0a a1 66 69 65 6c 64 20 61 63 63 65 73 73 3a   ┆cribed below.     Аfield access:┆
0x04920…04940 20 e1 49 66 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 77 69 74 68 2d 6f 62 6a 65 63 74   ┆ рIf the type of the with-object┆
0x04940…04960 20 69 73 20 61 20 72 65 63 6f 72 64 20 74 79 70 65 20 61 6e 64 20 0a 66 6e 61 6d 65 20 69 73 20   ┆ is a record type and  fname is ┆
0x04960…04980 61 20 66 69 65 6c 64 20 6e 61 6d 65 20 6f 66 20 74 68 69 73 20 72 65 63 6f 72 64 20 74 79 70 65   ┆a field name of this record type┆
0x04980…049a0 20 74 68 65 6e 20 20 20 20 20 66 6e 61 6d 65 20 6d 61 79 20 62 65 20 0a 75 73 65 64 20 61 73 20   ┆ then     fname may be  used as ┆
0x049a0…049c0 73 68 6f 72 74 68 61 6e 64 20 66 6f 72 20 20 20 20 20 6f 62 6a 2e 66 6e 61 6d 65 20 77 68 65 72   ┆shorthand for     obj.fname wher┆
0x049c0…049e0 65 20 6f 62 6a 20 69 73 20 61 6e 20 6f 62 6a 65 63 74 20 64 65 6e 6f 74 61 74 69 6f 6e 20 0a 64   ┆e obj is an object denotation  d┆
0x049e0…04a00 65 6e 6f 74 69 6e 67 20 74 68 65 20 77 69 74 68 2d 6f 62 6a 65 63 74 2e 20 0d 0a 0d 0a a1 72 65   ┆enoting the with-object.     Аre┆
0x04a00…04a20 6e 61 6d 69 6e 67 3a e1 20 61 20 6e 6f 6e 2d 65 6d 70 74 79 20 41 53 2d 70 61 72 74 20 69 73 20   ┆naming:р a non-empty AS-part is ┆
0x04a20…04a40 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 20 6c 6f 63 61 6c 20 64 65 63 6c 61 72 61 74 69 6f   ┆equivalent to a local declaratio┆
0x04a40…04a60 6e 20 6f 66 20 0a 61 6e 20 6f 62 6a 65 63 74 2c 20 63 61 6c 6c 65 64 20 74 68 65 20 a1 6c 6f 63   ┆n of  an object, called the Аloc┆
0x04a60…04a80 61 6c 20 6f 62 6a 65 63 74 e1 2c 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 61 64 64 72 65 73   ┆al objectр, with the same addres┆
0x04a80…04aa0 73 20 61 73 20 74 68 65 20 77 69 74 68 2d 20 0a 6f 62 6a 65 63 74 2e 20 54 68 65 20 27 6c 6f 63   ┆s as the with-  object. The 'loc┆
0x04aa0…04ac0 61 6c 5f 6e 61 6d 65 27 20 64 65 6e 6f 74 65 73 20 74 68 65 20 6c 6f 63 61 6c 20 6f 62 6a 65 63   ┆al_name' denotes the local objec┆
0x04ac0…04ae0 74 2e 20 0d 0a 0d 0a a1 72 65 74 79 70 69 6e 67 3a e1 20 54 68 65 20 74 79 70 65 20 6f 66 20 74   ┆t.     Аretyping:р The type of t┆
0x04ae0…04b00 68 65 20 6c 6f 63 61 6c 20 6f 62 6a 65 63 74 20 69 73 20 74 68 65 20 6c 6f 63 61 6c 20 74 79 70   ┆he local object is the local typ┆
0x04b00…04b20 65 2c 20 69 66 20 73 70 65 63 69 66 69 65 64 3b 20 0a 6f 74 68 65 72 77 69 73 65 20 69 74 20 69   ┆e, if specified;  otherwise it i┆
0x04b20…04b40 73 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 77 69 74 68 2d 6f 62 6a 65 63 74 2e 20 0d   ┆s the type of the with-object.  ┆
0x04b40…04b60 0a 0d 0a a1 4e 6f 74 65 73 3a e1 20 74 68 65 20 77 69 74 68 2d 6f 62 6a 65 63 74 20 69 73 20 6e   ┆   АNotes:р the with-object is n┆
0x04b60…04b80 6f 74 20 72 65 73 74 72 69 63 74 65 64 20 74 6f 20 62 65 20 6f 66 20 61 20 72 65 63 6f 72 64 20   ┆ot restricted to be of a record ┆
0x04b80…04ba0 74 79 70 65 2c 20 65 76 65 6e 20 0a 28 73 74 72 75 63 74 75 72 65 64 29 20 63 6f 6e 73 74 61 6e   ┆type, even  (structured) constan┆
0x04ba0…04bc0 74 73 20 61 72 65 20 61 6c 6c 6f 77 65 64 2e 20 0d 0a 0d 0a 54 68 65 20 61 64 64 72 65 73 73 20   ┆ts are allowed.     The address ┆
0x04bc0…04be0 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 6f 6e 6c 79 20   ┆of the object is evaluated only ┆
0x04be0…04c00 6f 6e 63 65 20 62 65 66 6f 72 65 20 74 68 65 20 73 74 61 74 65 6d 65 6e 74 20 0a 66 6f 6c 6c 6f   ┆once before the statement  follo┆
0x04c00…04c20 77 69 6e 67 20 44 4f 20 69 73 20 65 78 65 63 75 74 65 64 2e 20 0d 0a 0d 0a 54 68 65 20 72 65 74   ┆wing DO is executed.     The ret┆
0x04c20…04c40 79 70 69 6e 67 20 6f 66 20 61 6e 20 6f 62 6a 65 63 74 20 69 73 20 61 20 6c 6f 77 2d 6c 65 76 65   ┆yping of an object is a low-leve┆
0x04c40…04c60 6c 20 66 61 63 69 6c 69 74 79 20 6f 66 20 74 68 65 20 6c 61 6e 67 75 61 67 65 2c 20 0a 69 6e 74   ┆l facility of the language,  int┆
0x04c60…04c80 65 6e 64 65 64 20 66 6f 72 20 75 73 65 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68   ┆ended for use in connection with┆
0x04c80…04ca0 20 62 75 66 66 65 72 73 20 77 68 6f 73 65 20 65 78 61 63 74 20 74 79 70 65 20 69 73 20 6e 6f 74   ┆ buffers whose exact type is not┆
0x04ca0…04cc0 20 0a 6b 6e 6f 77 6e 20 62 65 66 6f 72 65 68 61 6e 64 20 28 73 6f 6d 65 20 6f 66 20 74 68 65 20   ┆  known beforehand (some of the ┆
0x04cc0…04ce0 74 79 70 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6d 61 79 20 62 65 20 70 61 72 74 20 6f 66 20   ┆type information may be part of ┆
0x04ce0…04d00 74 68 65 20 0a 62 75 66 66 65 72 20 63 6f 6e 74 65 6e 74 73 29 2e 20 42 75 74 20 74 68 65 20 66   ┆the  buffer contents). But the f┆
0x04d00…04d20 61 63 69 6c 69 74 79 20 6d 61 79 20 62 65 20 75 73 65 64 20 66 72 65 65 6c 79 20 74 6f 20 61 63   ┆acility may be used freely to ac┆
0x04d20…04d40 68 69 65 76 65 20 61 20 0a 72 65 6c 61 78 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 6f 74 68 65 72   ┆hieve a  relaxation of the other┆
0x04d40…04d60 77 69 73 65 20 72 69 67 6f 72 6f 75 73 20 6f 62 6a 65 63 74 20 74 79 70 69 6e 67 2c 20 77 68 69   ┆wise rigorous object typing, whi┆
0x04d60…04d80 63 68 20 69 73 20 6f 6e 65 20 6f 66 20 0a 74 68 65 20 62 61 73 69 63 20 66 65 61 74 75 72 65 73   ┆ch is one of  the basic features┆
0x04d80…04da0 20 6f 66 20 74 68 65 20 6c 61 6e 67 75 61 67 65 2e 20 54 68 69 73 20 6d 65 74 68 6f 64 20 64 65   ┆ of the language. This method de┆
0x04da0…04dc0 6d 61 6e 64 73 20 61 6e 20 65 78 70 6c 69 63 69 74 20 0a 61 6e 64 20 63 6c 65 61 72 20 72 65 74   ┆mands an explicit  and clear ret┆
0x04dc0…04de0 79 70 69 6e 67 20 73 74 61 74 65 64 20 77 68 65 72 65 20 69 74 20 69 73 20 75 73 65 64 20 69 6e   ┆yping stated where it is used in┆
0x04de0…04e00 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 69 6e 20 63 6f 6e 74 72 61 73 74 20 0a 74 6f 20 74 68   ┆ the program, in contrast  to th┆
0x04e00…04e20 65 20 73 74 61 6e 64 61 72 64 20 50 61 73 63 61 6c 20 73 6f 6c 75 74 69 6f 6e 20 75 73 69 6e 67   ┆e standard Pascal solution using┆
0x04e20…04e40 20 76 61 72 69 61 6e 74 20 72 65 63 6f 72 64 73 2e 20 0d 0a 0d 0a 54 68 65 20 65 66 66 65 63 74   ┆ variant records.     The effect┆
0x04e40…04e60 20 6f 66 20 61 73 73 69 67 6e 6d 65 6e 74 20 62 65 74 77 65 65 6e 20 70 61 72 74 69 61 6c 6c 79   ┆ of assignment between partially┆
0x04e60…04e80 20 6f 76 65 72 6c 61 70 70 69 6e 67 20 6f 62 6a 65 63 74 73 20 69 73 20 0a 75 6e 64 65 66 69 6e   ┆ overlapping objects is  undefin┆
0x04e80…04ea0 65 64 2e 20 0d 0a 0d 0a a1 45 78 61 6d 70 6c 65 3a 20 e1 4c 65 74 20 72 65 63 5f 76 61 72 20 62   ┆ed.     АExample: рLet rec_var b┆
0x04ea0…04ec0 65 20 61 20 72 65 63 6f 72 64 20 77 69 74 68 20 61 20 66 69 65 6c 64 20 6e 61 6d 65 64 20 72 65   ┆e a record with a field named re┆
0x04ec0…04ee0 63 5f 66 69 65 6c 64 2c 20 61 6e 64 20 0a 6c 65 74 20 6c 6f 63 61 6c 5f 74 79 70 65 20 63 6f 6e   ┆c_field, and  let local_type con┆
0x04ee0…04f00 74 61 69 6e 20 61 20 66 69 65 6c 64 20 6e 61 6d 65 64 20 6c 6f 63 5f 72 65 63 5f 66 69 65 6c 64   ┆tain a field named loc_rec_field┆
0x04f00…04f20 2c 20 74 68 65 6e 20 74 68 65 20 66 69 65 6c 64 73 20 6d 61 79 20 0a 62 65 20 61 63 63 65 73 73   ┆, then the fields may  be access┆
0x04f20…04f40 65 64 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 77 61 79 73 20 69 6e 20 74 68 65 20   ┆ed in the following ways in the ┆
0x04f40…04f60 73 74 61 74 65 6d 65 6e 74 20 66 6f 6c 6c 6f 77 69 6e 67 20 44 4f 3a 20 0d 0a 0d 0a 31 29 20 57   ┆statement following DO:     1) W┆
0x04f60…04f80 49 54 48 20 72 65 63 5f 76 61 72 20 44 4f 20 20 20 20 2d 2d 20 74 68 65 20 77 65 6c 6c 2d 6b 6e   ┆ITH rec_var DO    -- the well-kn┆
0x04f80…04fa0 6f 77 6e 20 73 74 61 6e 64 61 72 64 20 50 61 73 63 61 6c 20 66 6f 72 6d 20 0d 0a 0d 0a 20 20 20   ┆own standard Pascal form        ┆
0x04fa0…04fc0 72 65 63 5f 76 61 72 2e 72 65 63 5f 66 69 65 6c 64 20 6f 72 20 20 20 20 72 65 63 5f 66 69 65 6c   ┆rec_var.rec_field or    rec_fiel┆
0x04fc0…04fe0 64 20 0d 0a 0d 0a 32 29 20 57 49 54 48 20 72 65 63 5f 76 61 72 20 41 53 20 6c 6f 63 5f 76 61 72   ┆d     2) WITH rec_var AS loc_var┆
0x04fe0…05000 20 44 4f 20 2d 2d 20 73 69 6d 70 6c 65 20 72 65 6e 61 6d 69 6e 67 20 0d 0a 0d 0a 20 20 20 72 65   ┆ DO -- simple renaming        re┆
0x05000…05020 63 5f 76 61 72 2e 72 65 63 5f 66 69 65 6c 64 20 6f 72 20 20 20 20 72 65 63 5f 66 69 65 6c 64 20   ┆c_var.rec_field or    rec_field ┆
0x05020…05040 20 20 20 20 20 20 20 20 6f 72 20 20 20 20 6c 6f 63 5f 76 61 72 2e 72 65 63 5f 66 69 65 6c 64 20   ┆        or    loc_var.rec_field ┆
0x05040…05060 0d 0a 0d 0a 33 29 20 57 49 54 48 20 72 65 63 5f 76 61 72 20 41 53 20 6c 6f 63 5f 76 61 72 3a 20   ┆    3) WITH rec_var AS loc_var: ┆
0x05060…05080 6c 6f 63 61 6c 5f 74 79 70 65 20 44 4f 20 20 20 20 2d 2d 20 72 65 6e 61 6d 69 6e 67 20 61 6e 64   ┆local_type DO    -- renaming and┆
0x05080…050a0 20 0a 72 65 74 79 70 69 6e 67 20 0d 0a 0d 0a 20 20 20 72 65 63 5f 76 61 72 2e 72 65 63 5f 66 69   ┆  retyping        rec_var.rec_fi┆
0x050a0…050c0 65 6c 64 20 6f 72 20 20 20 20 72 65 63 5f 66 69 65 6c 64 20 20 20 20 20 20 20 20 20 6f 72 20 20   ┆eld or    rec_field         or  ┆
0x050c0…050e0 20 20 0a 6c 6f 63 5f 76 61 72 2e 6c 6f 63 5f 72 65 63 5f 66 69 65 6c 64 20 0d 0a 0d 0a 8c 89 e0   ┆   loc_var.loc_rec_field     їЅЯ┆
0x050e0…05100 0a a1 45 78 61 6d 70 6c 65 3a 20 e1 54 59 50 45 20 20 20 63 61 74 5f 72 65 63 6f 72 64 3d 20 52   ┆ АExample: рTYPE   cat_record= R┆
0x05100…05120 45 43 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 69 74 6c 65 3a 20 20 2e   ┆ECORD                  title:  .┆
0x05120…05140 2e 2e 2e 20 20 20 20 20 20 20 0a 61 75 74 68 6f 72 3a 20 2e 2e 2e 2e 20 20 20 20 20 45 4e 44 3b   ┆...        author: ....     END;┆
0x05140…05160 20 56 41 52 20 20 20 62 5f 63 61 74 61 6c 6f 67 3a 20 41 52 52 41 59 28 31 2e 2e 63 61 74 5f 73   ┆ VAR   b_catalog: ARRAY(1..cat_s┆
0x05160…05180 69 7a 65 29 20 4f 46 20 0a 63 61 74 5f 72 65 63 6f 72 64 3b 20 20 20 73 65 61 72 63 68 5f 6f 62   ┆ize) OF  cat_record;   search_ob┆
0x05180…051a0 6a 65 63 74 3a 20 63 61 74 5f 72 65 63 6f 72 64 3b 20 2e 2e 2e 20 20 20 57 49 54 48 20 73 65 61   ┆ject: cat_record; ...   WITH sea┆
0x051a0…051c0 72 63 68 5f 6f 62 6a 65 63 74 20 41 53 20 0a 73 5f 6f 20 44 4f 20 2d 2d 20 61 62 62 72 65 76 69   ┆rch_object AS  s_o DO -- abbrevi┆
0x051c0…051e0 61 69 74 6f 6e 20 20 20 20 20 57 48 49 4c 45 20 4e 4f 54 20 66 6f 75 6e 64 20 44 4f 20 20 20 20   ┆aiton     WHILE NOT found DO    ┆
0x051e0…05200 20 20 20 57 49 54 48 20 0a 62 5f 63 61 74 61 6c 6f 67 28 63 75 72 72 65 6e 74 5f 69 6e 64 65 78   ┆   WITH  b_catalog(current_index┆
0x05200…05220 29 20 44 4f 20 20 20 20 20 20 20 20 20 49 46 20 61 75 74 68 6f 72 28 2a 20 6f 66 20 62 5f 63 61   ┆) DO         IF author(* of b_ca┆
0x05220…05240 74 61 6c 6f 67 20 2a 29 20 3c 3e 20 0a 73 5f 6f 2e 61 75 74 68 6f 72 20 74 68 65 6e 20 63 75 72   ┆talog *) <>  s_o.author then cur┆
0x05240…05260 72 65 6e 74 5f 69 6e 64 65 78 3a 3d 63 75 72 72 65 6e 74 5f 69 6e 64 65 78 2b 31 20 20 20 20 20   ┆rent_index:=current_index+1     ┆
0x05260…05280 20 20 20 20 45 4c 53 45 20 2e 2e 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 50 61 67 65 20 34 35 2c 20 50 6f   ┆    ELSE ...         Page 45, Po┆
0x05280…052a0 6f 6c 20 49 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 3a 20 54 68 65 20 61 6c 6c 6f 63 61 74 69 6f   ┆ol Initialization: The allocatio┆
0x052a0…052c0 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 66 6f 72 20 6d 65 73 73 61 67 65 73 20 0a 66 6f 72 20 61 20   ┆n of memory for messages  for a ┆
0x052c0…052e0 70 6f 6f 6c 20 76 61 72 69 61 62 6c 65 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 64 75 72 69 6e   ┆pool variable is performed durin┆
0x052e0…05300 67 20 74 68 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 6f 66 20 61 6e 20 0a 69 6e 63 61   ┆g the initialization of an  inca┆
0x05300…05320 72 6e 61 74 69 6f 6e 20 a1 61 66 74 65 72 e1 20 69 74 20 68 61 73 20 62 65 65 6e 20 73 74 61 72   ┆rnation Аafterр it has been star┆
0x05320…05340 74 65 64 20 61 6e 64 20 73 63 68 65 64 75 6c 65 64 20 74 6f 20 72 75 6e 2e 20 4f 6e 65 20 65 66   ┆ted and scheduled to run. One ef┆
0x05340…05360 66 65 63 74 20 0a 6f 66 20 74 68 69 73 20 69 73 20 74 68 61 74 20 61 6e 20 69 6e 63 61 72 6e 61   ┆fect  of this is that an incarna┆
0x05360…05380 74 69 6f 6e 20 6d 61 79 20 69 6e 20 75 6e 66 6f 72 74 75 6e 61 74 65 20 63 61 73 65 73 20 62 65   ┆tion may in unfortunate cases be┆
0x05380…053a0 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 0a 63 72 65 61 74 65 64 20 61 6e 64 20 79 65 74 20 75   ┆ successfully  created and yet u┆
0x053a0…053c0 6e 61 62 6c 65 20 74 6f 20 72 75 6e 20 64 75 65 20 74 6f 20 6c 61 63 6b 20 6f 66 20 6d 65 6d 6f   ┆nable to run due to lack of memo┆
0x053c0…053e0 72 79 2e 20 49 66 20 74 68 65 20 70 6f 6f 6c 20 0a 76 61 72 69 61 62 6c 65 20 69 73 20 64 65 63   ┆ry. If the pool  variable is dec┆
0x053e0…05400 6c 61 72 65 64 20 61 73 20 65 6d 70 74 79 20 28 65 2e 67 2e 3a 20 70 6f 6f 6c 20 30 3b 29 20 74   ┆lared as empty (e.g.: pool 0;) t┆
0x05400…05420 68 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 6d 61 79 20 62 65 20 0a 70 65 72 66 6f 72 6d 65 64 20   ┆he allocation may be  performed ┆
0x05420…05440 61 74 20 61 6e 79 20 6d 6f 6d 65 6e 74 20 62 79 20 74 68 65 20 69 6e 63 61 72 6e 61 74 69 6f 6e   ┆at any moment by the incarnation┆
0x05440…05460 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 49 4e 49 54 50 4f 4f 4c 20 0a 72 6f 75 74 69 6e 65 2e 20   ┆ calling the INITPOOL  routine. ┆
0x05460…05480 0d 0a 0d 0a 50 61 67 65 20 34 35 2c 20 54 79 70 65 73 69 7a 65 20 61 6e 64 20 56 61 72 73 69 7a   ┆    Page 45, Typesize and Varsiz┆
0x05480…054a0 65 20 43 61 6c 6c 2e 20 0d 0a 0d 0a 41 20 74 79 70 65 73 69 7a 65 20 63 61 6c 6c 20 69 73 20 73   ┆e Call.     A typesize call is s┆
0x054a0…054c0 69 6d 69 6c 61 72 20 69 6e 20 66 6f 72 6d 20 74 6f 20 61 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c   ┆imilar in form to a function cal┆
0x054c0…054e0 6c 2c 20 62 75 74 20 74 68 65 20 0a 22 70 61 72 61 6d 65 74 65 72 22 20 69 73 20 74 68 65 20 6e   ┆l, but the  "parameter" is the n┆
0x054e0…05500 61 6d 65 20 6f 66 20 61 20 74 79 70 65 2e 20 54 68 65 20 63 6f 6e 73 74 72 75 63 74 20 61 6c 6c   ┆ame of a type. The construct all┆
0x05500…05520 6f 77 73 20 74 68 65 20 73 69 7a 65 20 6f 66 20 61 20 0a 74 79 70 65 20 74 6f 20 62 65 20 75 73   ┆ows the size of a  type to be us┆
0x05520…05540 65 64 20 69 6e 20 63 6f 6d 70 75 74 61 74 69 6f 6e 73 2e 20 0d 0a 0d 0a 74 79 70 65 73 69 7a 65   ┆ed in computations.     typesize┆
0x05540…05560 20 63 61 6c 6c 3a 20 20 2d 2d 3e 20 54 59 50 45 53 49 5a 45 28 20 2d 2d 3e 20 74 79 70 65 5f 6e   ┆ call:  --> TYPESIZE( --> type_n┆
0x05560…05580 61 6d 65 20 2d 2d 3e 20 29 20 2d 2d 3e 20 0d 0a 0d 0a 54 68 65 20 27 74 79 70 65 5f 6e 61 6d 65   ┆ame --> ) -->     The 'type_name┆
0x05580…055a0 27 20 6d 75 73 74 20 62 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 74 79 70 65 2e 20 54 68   ┆' must be the name of a type. Th┆
0x055a0…055c0 65 20 76 61 6c 75 65 20 6f 66 20 61 20 0a 74 79 70 65 73 69 7a 65 20 63 61 6c 6c 20 69 73 20 74   ┆e value of a  typesize call is t┆
0x055c0…055e0 68 65 20 73 69 7a 65 20 28 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 29 20 6f 66 20 74 68 65   ┆he size (number of bytes) of the┆
0x055e0…05600 20 6e 61 6d 65 64 20 74 79 70 65 20 61 73 20 0a 63 6f 6d 70 75 74 65 64 20 77 68 65 6e 20 74 68   ┆ named type as  computed when th┆
0x05600…05620 65 20 74 79 70 65 20 77 61 73 20 65 73 74 61 62 6c 69 73 68 65 64 2e 20 54 68 65 20 74 79 70 65   ┆e type was established. The type┆
0x05620…05640 20 6f 66 20 61 20 74 79 70 65 73 69 7a 65 20 63 61 6c 6c 20 0a 69 73 20 69 6e 74 65 67 65 72 2e   ┆ of a typesize call  is integer.┆
0x05640…05660 20 0d 0a 0d 0a a1 45 78 61 6d 70 6c 65 3a 20 0d 0a 0d 0a e1 54 59 50 45 20 20 20 70 74 72 5f 74   ┆     АExample:     рTYPE   ptr_t┆
0x05660…05680 79 70 65 3b 20 20 2d 2d 20 66 6f 72 77 61 72 64 20 61 6e 6e 6f 75 6e 63 65 6d 65 6e 74 20 20 20   ┆ype;  -- forward announcement   ┆
0x05680…056a0 61 72 72 5f 74 79 70 65 3d 41 52 52 41 59 28 31 2e 2e 31 30 29 20 0a 4f 46 20 69 6e 74 65 67 65   ┆arr_type=ARRAY(1..10)  OF intege┆
0x056a0…056c0 72 3b 20 20 20 72 65 63 5f 74 79 70 65 3d 52 45 43 4f 52 44 20 20 20 20 20 2d 2d 20 4e 6f 74 65   ┆r;   rec_type=RECORD     -- Note┆
0x056c0…056e0 3a 20 20 20 20 20 66 31 3a 20 61 72 72 5f 74 79 70 65 3b 20 20 20 20 20 2d 2d 20 0a 74 79 70 65   ┆:     f1: arr_type;     --  type┆
0x056e0…05700 20 6f 66 20 66 31 20 6e 6f 74 20 63 6f 6d 70 61 74 69 62 6c 65 20 20 20 20 20 66 32 3a 20 41 52   ┆ of f1 not compatible     f2: AR┆
0x05700…05720 52 41 59 28 31 2e 2e 31 30 29 20 4f 46 20 69 6e 74 65 67 65 72 20 2d 2d 20 77 69 74 68 20 0a 74   ┆RAY(1..10) OF integer -- with  t┆
0x05720…05740 79 70 65 20 6f 66 20 66 32 20 20 20 45 4e 44 28 2a 52 45 43 4f 52 44 2a 29 3b 20 20 20 70 74 72   ┆ype of f2   END(*RECORD*);   ptr┆
0x05740…05760 5f 74 79 70 65 3d 1f 1f 72 65 63 5f 74 79 70 65 3b 20 20 20 6d 61 73 6b 5f 74 79 70 65 3d 20 0a   ┆_type=  rec_type;   mask_type=  ┆
0x05760…05780 50 41 43 4b 45 44 20 41 52 52 41 59 28 31 2e 2e 74 79 70 65 73 69 7a 65 28 61 72 72 5f 74 79 70   ┆PACKED ARRAY(1..typesize(arr_typ┆
0x05780…057a0 65 29 29 20 4f 46 20 62 6f 6f 6c 65 61 6e 20 0d 0a 0d 0a 0d 0a 41 20 76 61 72 73 69 7a 65 20 63   ┆e)) OF boolean       A varsize c┆
0x057a0…057c0 61 6c 6c 20 69 73 20 73 69 6d 69 6c 61 72 20 69 6e 20 66 6f 72 6d 20 74 6f 20 61 20 66 75 6e 63   ┆all is similar in form to a func┆
0x057c0…057e0 74 69 6f 6e 20 63 61 6c 6c 2e 20 49 74 20 61 6c 6c 6f 77 73 20 74 68 65 20 73 69 7a 65 20 0a 6f   ┆tion call. It allows the size  o┆
0x057e0…05800 66 20 61 20 76 61 72 69 61 62 6c 65 20 74 6f 20 62 65 20 75 73 65 64 20 69 6e 20 63 6f 6d 70 75   ┆f a variable to be used in compu┆
0x05800…05820 74 61 74 69 6f 6e 73 2e 20 0d 0a 0d 0a 76 61 72 73 69 7a 65 20 63 61 6c 6c 3a 20 20 2d 2d 3e 20   ┆tations.     varsize call:  --> ┆
0x05820…05840 56 41 52 53 49 5a 45 28 20 2d 2d 3e 20 76 61 72 69 61 62 6c 65 5f 6e 61 6d 65 20 2d 2d 3e 20 29   ┆VARSIZE( --> variable_name --> )┆
0x05840…05860 20 2d 2d 3e 20 0d 0a 0d 0a 54 68 65 20 27 76 61 72 69 61 62 6c 65 5f 6e 61 6d 65 27 20 6d 75 73   ┆ -->     The 'variable_name' mus┆
0x05860…05880 74 20 62 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 76 61 72 69 61 62 6c 65 2e 20 49 74 20   ┆t be the name of a variable. It ┆
0x05880…058a0 6d 75 73 74 20 68 61 76 65 20 0a 62 65 65 6e 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 61 20   ┆must have  been introduced in a ┆
0x058a0…058c0 76 61 72 69 61 62 6c 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 2e 20 54 68 65 20 76 61 6c 75 65 20   ┆variable declaration. The value ┆
0x058c0…058e0 6f 66 20 61 20 76 61 72 73 69 7a 65 20 63 61 6c 6c 20 0a 69 73 20 74 68 65 20 73 69 7a 65 20 28   ┆of a varsize call  is the size (┆
0x058e0…05900 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 29 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65   ┆number of bytes) of the variable┆
0x05900…05920 20 61 73 20 63 6f 6d 70 75 74 65 64 20 77 68 65 6e 20 69 74 73 20 0a 74 79 70 65 20 77 61 73 20   ┆ as computed when its  type was ┆
0x05920…05940 65 73 74 61 62 6c 69 73 68 65 64 2e 20 54 68 65 20 74 79 70 65 20 6f 66 20 61 20 76 61 72 73 69   ┆established. The type of a varsi┆
0x05940…05960 7a 65 20 63 61 6c 6c 20 69 73 20 69 6e 74 65 67 65 72 2e 20 0d 0a 0d 0a 50 61 67 65 20 34 36 2c   ┆ze call is integer.     Page 46,┆
0x05960…05980 20 53 68 69 66 74 20 6f 70 65 72 61 74 6f 72 2e 20 0d 0a 0d 0a 41 20 53 48 49 46 54 20 6f 70 65   ┆ Shift operator.     A SHIFT ope┆
0x05980…059a0 72 61 74 6f 72 20 68 61 73 20 62 65 65 6e 20 69 6e 74 72 6f 64 75 63 65 64 20 77 69 74 68 20 74   ┆rator has been introduced with t┆
0x059a0…059c0 68 65 20 73 61 6d 65 20 6f 70 65 72 61 74 6f 72 20 0a 70 72 65 63 65 64 65 6e 63 65 20 61 73 20   ┆he same operator  precedence as ┆
0x059c0…059e0 6d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 20 61 6e 64 20 64 69 76 69 73 69 6f 6e 2e 20 53 48 49   ┆multiplication and division. SHI┆
0x059e0…05a00 46 54 20 74 61 6b 65 73 20 69 6e 74 65 67 65 72 20 0a 8c 8a 90 0a 6f 70 65 72 61 6e 64 73 20 61   ┆FT takes integer  їіљ operands a┆
0x05a00…05a20 6e 64 20 70 72 6f 64 75 63 65 73 20 69 6e 74 65 67 65 72 20 72 65 73 75 6c 74 2e 20 57 68 69 63   ┆nd produces integer result. Whic┆
0x05a20…05a40 68 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 6c 65 66 74 20 0a 6f 70 65 72 61 6e 64 20   ┆h is the value of left  operand ┆
0x05a40…05a60 6c 6f 67 69 63 61 6c 20 73 68 69 66 74 65 64 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 72 69 67   ┆logical shifted the value of rig┆
0x05a60…05a80 68 74 20 6f 70 65 72 61 6e 64 20 74 6f 77 61 72 64 20 6d 6f 72 65 20 0a 73 69 67 6e 69 66 69 63   ┆ht operand toward more  signific┆
0x05a80…05aa0 61 6e 74 20 70 6f 73 69 74 69 6f 6e 73 2e 20 0d 0a 0d 0a a1 45 78 61 6d 70 6c 65 73 3a 20 0d 0a   ┆ant positions.     АExamples:   ┆
0x05aa0…05ac0 0d 0a e1 54 68 65 20 72 65 73 75 6c 74 20 6f 66 20 23 48 46 20 53 48 49 46 54 20 34 20 69 73 20   ┆  рThe result of #HF SHIFT 4 is ┆
0x05ac0…05ae0 23 48 46 30 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 23 48 46 30 20 53 48 49 46 54 20 28 2d   ┆#HF0 the result of #HF0 SHIFT (-┆
0x05ae0…05b00 34 29 20 0a 69 73 20 23 48 46 20 0d 0a 0d 0a 0d 0a 50 61 67 65 20 35 30 2c 20 46 72 6f 7a 65 6e   ┆4)  is #HF       Page 50, Frozen┆
0x05b00…05b20 20 56 41 52 20 50 61 72 61 6d 65 74 65 72 73 2e 20 54 68 65 20 73 65 74 20 6f 66 20 6f 62 6a 65   ┆ VAR Parameters. The set of obje┆
0x05b20…05b40 63 74 73 20 77 68 69 63 68 20 6d 61 79 20 62 65 20 0a 75 73 65 64 20 61 73 20 61 63 74 75 61 6c   ┆cts which may be  used as actual┆
0x05b40…05b60 20 70 61 72 61 6d 65 74 65 72 73 20 66 6f 72 20 56 41 52 20 70 61 72 61 6d 65 74 65 72 73 20 6f   ┆ parameters for VAR parameters o┆
0x05b60…05b80 66 20 61 20 66 72 6f 7a 65 6e 20 74 79 70 65 20 69 73 20 0a 65 78 74 65 6e 64 65 64 20 77 69 74   ┆f a frozen type is  extended wit┆
0x05b80…05ba0 68 20 63 6f 6e 73 74 61 6e 74 73 2c 20 62 6f 74 68 20 73 69 6d 70 6c 65 20 61 6e 64 20 73 74 72   ┆h constants, both simple and str┆
0x05ba0…05bc0 75 63 74 75 72 65 64 2e 20 54 68 65 20 70 61 72 61 6d 65 74 65 72 73 20 0a 61 72 65 20 70 61 73   ┆uctured. The parameters  are pas┆
0x05bc0…05be0 73 65 64 20 62 79 20 61 64 64 72 65 73 73 20 74 72 61 6e 73 66 65 72 2c 20 69 2e 65 2e 20 74 68   ┆sed by address transfer, i.e. th┆
0x05be0…05c00 65 20 28 65 78 70 65 6e 73 69 76 65 29 20 63 6f 70 79 69 6e 67 20 6f 66 20 74 68 65 20 0a 6f 62   ┆e (expensive) copying of the  ob┆
0x05c00…05c20 6a 65 63 74 73 20 69 73 20 61 76 6f 69 64 65 64 2e 20 0d 0a 0d 0a a1 45 78 61 6d 70 6c 65 3a 20   ┆jects is avoided.     АExample: ┆
0x05c20…05c40 e1 20 20 50 52 4f 43 45 44 55 52 45 20 6f 75 74 5f 73 74 72 69 6e 67 28 73 74 72 3a 20 73 74 72   ┆р  PROCEDURE out_string(str: str┆
0x05c40…05c60 69 6e 67 29 20 6d 61 79 20 6e 6f 77 20 62 65 20 64 65 63 6c 61 72 65 64 20 0a 61 73 20 20 20 50   ┆ing) may now be declared  as   P┆
0x05c60…05c80 52 4f 43 45 44 55 52 45 20 6f 75 74 5f 73 74 72 69 6e 67 28 56 41 52 20 73 74 72 3a 20 21 73 74   ┆ROCEDURE out_string(VAR str: !st┆
0x05c80…05ca0 72 69 6e 67 29 20 77 69 74 68 6f 75 74 20 63 68 61 6e 67 65 73 20 69 6e 20 74 68 65 20 0a 63 61   ┆ring) without changes in the  ca┆
0x05ca0…05cc0 6c 6c 73 2c 20 62 75 74 20 73 61 76 69 6e 67 20 6f 66 20 61 62 6f 75 74 20 73 74 72 69 6e 67 20   ┆lls, but saving of about string ┆
0x05cc0…05ce0 6c 65 6e 67 74 68 20 6d 69 63 72 6f 20 73 65 63 6f 6e 64 73 20 6f 66 20 65 78 65 63 75 74 69 6f   ┆length micro seconds of executio┆
0x05ce0…05d00 6e 20 0a 74 69 6d 65 20 66 6f 72 20 65 61 63 68 20 63 61 6c 6c 2c 20 61 6e 64 20 74 68 65 20 73   ┆n  time for each call, and the s┆
0x05d00…05d20 74 61 63 6b 20 61 70 70 65 74 69 74 65 20 6f 66 20 74 68 65 20 63 61 6c 6c 65 72 20 69 73 20 72   ┆tack appetite of the caller is r┆
0x05d20…05d40 65 64 75 63 65 64 20 0a 77 69 74 68 20 61 70 70 72 6f 78 69 6d 61 74 65 6c 79 20 73 74 72 69 6e   ┆educed  with approximately strin┆
0x05d40…05d60 67 20 6c 65 6e 67 74 68 20 62 79 74 65 73 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 50 61   ┆g length bytes.               Pa┆
0x05d60…05d80 67 65 20 35 31 2c 20 50 72 6f 63 65 73 73 20 50 61 72 61 6d 65 74 65 72 73 3a 20 50 72 6f 63 65   ┆ge 51, Process Parameters: Proce┆
0x05d80…05da0 73 73 20 70 61 72 61 6d 65 74 65 72 73 20 6f 66 20 72 65 66 65 72 65 6e 63 65 2c 20 70 6f 6f 6c   ┆ss parameters of reference, pool┆
0x05da0…05dc0 2c 20 0a 6f 72 20 73 68 61 64 6f 77 20 74 79 70 65 73 20 61 72 65 20 6e 6f 74 20 61 6c 6c 6f 77   ┆,  or shadow types are not allow┆
0x05dc0…05de0 65 64 2c 20 6e 65 69 74 68 65 72 20 61 73 20 76 61 72 69 61 62 6c 65 73 2c 20 76 61 6c 75 65 73   ┆ed, neither as variables, values┆
0x05de0…05e00 2c 20 6e 6f 72 20 0a 63 6f 6d 70 6f 6e 65 6e 74 73 20 6f 66 20 73 74 72 75 63 74 75 72 65 64 20   ┆, nor  components of structured ┆
0x05e00…05e20 70 61 72 61 6d 65 74 65 72 73 2e 20 50 6f 69 6e 74 65 72 73 20 6d 61 79 20 62 65 20 70 61 73 73   ┆parameters. Pointers may be pass┆
0x05e20…05e40 65 64 20 6f 6e 6c 79 20 61 73 20 0a 76 61 6c 75 65 73 20 6f 72 20 66 72 6f 7a 65 6e 20 76 61 72   ┆ed only as  values or frozen var┆
0x05e40…05e60 69 61 62 6c 65 73 2e 20 53 65 6d 61 70 68 6f 72 65 73 20 6d 61 79 20 62 65 20 70 61 73 73 65 64   ┆iables. Semaphores may be passed┆
0x05e60…05e80 20 61 73 20 76 61 72 69 61 62 6c 65 73 2c 20 0a 62 75 74 20 6e 6f 74 20 61 73 20 76 61 6c 75 65   ┆ as variables,  but not as value┆
0x05e80…05ea0 73 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 50 61 67 65 20 35 32 20 61 6e 64 20 70 61 67 65 20 36 30 3a 20   ┆s.         Page 52 and page 60: ┆
0x05ea0…05ec0 50 72 65 66 69 78 65 64 20 70 72 6f 63 65 73 73 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 68 61 73   ┆Prefixed process declaration has┆
0x05ec0…05ee0 20 6e 6f 74 20 62 65 65 6e 20 0a 69 6d 70 6c 65 6d 65 6e 74 65 64 2e 20 41 73 20 61 6e 20 61 6c   ┆ not been  implemented. As an al┆
0x05ee0…05f00 74 65 72 6e 61 74 69 76 65 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 61 63 63 65 70 74 73 20 22   ┆ternative the compiler accepts "┆
0x05f00…05f20 63 6f 6e 74 65 78 74 27 73 22 2c 20 73 65 65 20 0a 61 70 70 65 6e 64 69 78 20 42 2e 32 2e 20 0d   ┆context's", see  appendix B.2.  ┆
0x05f20…05f40 0a 0d 0a 0d 0a 0d 0a 50 61 67 65 20 35 36 2c 20 49 6e 63 61 72 6e 61 74 69 6f 6e 20 54 65 72 6d   ┆       Page 56, Incarnation Term┆
0x05f40…05f60 69 6e 61 74 69 6f 6e 3a 20 57 68 65 6e 20 61 6e 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 69 73 20   ┆ination: When an incarnation is ┆
0x05f60…05f80 74 65 72 6d 69 6e 61 74 65 64 20 0a 28 62 79 20 63 6f 6d 70 6c 65 74 69 6e 67 20 69 74 73 20 63   ┆terminated  (by completing its c┆
0x05f80…05fa0 6f 6d 70 6f 75 6e 64 20 73 74 61 74 65 6d 65 6e 74 29 20 69 74 20 69 73 20 70 65 72 6d 61 6e 65   ┆ompound statement) it is permane┆
0x05fa0…05fc0 6e 74 6c 79 20 64 65 2d 20 0a 73 63 68 65 64 75 6c 65 64 20 61 6e 64 20 77 69 6c 6c 20 6e 6f 74   ┆ntly de-  scheduled and will not┆
0x05fc0…05fe0 20 62 65 63 6f 6d 65 20 72 75 6e 6e 69 6e 67 20 61 67 61 69 6e 2e 20 47 61 72 62 61 67 65 20 63   ┆ become running again. Garbage c┆
0x05fe0…06000 6f 6c 6c 65 63 74 69 6f 6e 20 69 73 20 0a 70 65 72 66 6f 72 6d 65 64 2c 20 77 68 65 6e 20 74 68   ┆ollection is  performed, when th┆
0x06000…06020 65 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 69 73 20 72 65 6d 6f 76 65 64 20 62 79 20 74 68 65 20   ┆e incarnation is removed by the ┆
0x06020…06040 66 61 74 68 65 72 20 6f 72 20 61 6e 20 0a 61 6e 63 65 73 74 6f 72 2e 20 0d 0a 0d 0a 0d 0a 0d 0a   ┆father or an  ancestor.         ┆
0x06040…06060 50 61 67 65 20 36 30 20 50 72 65 66 69 78 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 69 73 20 69 6d   ┆Page 60 Prefix declaration is im┆
0x06060…06080 70 6c 65 6d 65 6e 74 65 64 20 61 73 3a 20 0d 0a 0d 0a 70 72 65 66 69 78 20 64 65 63 6c 61 72 61   ┆plemented as:     prefix declara┆
0x06080…060a0 74 69 6f 6e 3a 20 50 52 45 46 49 58 20 20 20 70 72 65 66 69 78 20 6e 61 6d 65 20 20 20 3b 20 20   ┆tion: PREFIX   prefix name   ;  ┆
0x060a0…060c0 20 72 6f 75 74 69 6e 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 0d 0a 0d 0a 8c 89 f8 0a 54 68 65   ┆ routine declaration     їЅЭ The┆
0x060c0…060e0 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 63   ┆ file containing the generated c┆
0x060e0…06100 6f 64 65 20 66 6f 72 20 74 68 65 20 72 6f 75 74 69 6e 65 20 6d 61 79 20 62 65 20 0a 73 70 65 63   ┆ode for the routine may be  spec┆
0x06100…06120 69 66 69 65 64 20 61 73 20 69 6e 70 75 74 20 74 6f 20 74 68 65 20 63 72 6f 73 73 20 6c 69 6e 6b   ┆ified as input to the cross link┆
0x06120…06140 65 72 20 77 68 65 6e 20 70 72 6f 63 65 73 73 65 73 20 75 73 69 6e 67 20 74 68 65 20 72 6f 75 74   ┆er when processes using the rout┆
0x06140…06160 69 6e 65 20 0a 61 72 65 20 63 72 6f 73 73 20 6c 69 6e 6b 65 64 20 66 6f 72 20 61 75 74 6f 6c 6f   ┆ine  are cross linked for autolo┆
0x06160…06180 61 64 20 70 72 65 70 61 72 61 74 69 6f 6e 20 6f 72 20 6d 61 79 20 62 65 20 6c 6f 61 64 65 64 20   ┆ad preparation or may be loaded ┆
0x06180…061a0 64 69 72 65 63 74 6c 79 20 69 6e 20 0a 74 68 65 20 52 43 33 35 30 32 20 62 79 20 74 68 65 20 4c   ┆directly in  the RC3502 by the L┆
0x061a0…061c0 4f 41 44 45 52 20 70 72 6f 63 65 73 73 2e 20 0d 0a 0d 0a 50 61 67 65 20 36 31 2c 20 4c 61 6e 67   ┆OADER process.     Page 61, Lang┆
0x061c0…061e0 75 61 67 65 20 53 79 6d 62 6f 6c 73 2e 20 0d 0a 0d 0a 53 65 65 20 61 70 70 65 6e 64 69 78 20 48   ┆uage Symbols.     See appendix H┆
0x061e0…06200 20 6f 66 20 74 68 69 73 20 6d 61 6e 75 61 6c 20 66 6f 72 20 61 20 63 6f 6d 70 6c 65 74 65 20 6c   ┆ of this manual for a complete l┆
0x06200…06220 69 73 74 20 6f 66 20 6c 61 6e 67 75 61 67 65 20 0a 73 79 6d 62 6f 6c 73 2e 20 0d 0a 0d 0a 0d 0a   ┆ist of language  symbols.       ┆
0x06220…06240 0d 0a 50 61 67 65 20 36 33 2c 20 49 64 65 6e 74 69 66 69 65 72 3a 20 0d 0a 0d 0a 69 64 65 6e 74   ┆  Page 63, Identifier:     ident┆
0x06240…06260 69 66 69 65 72 3a 20 20 2d 2d 3e 2d 2d 3e 20 6c 65 74 74 65 72 20 2d 2d 3e 2d 2d 3e 2d 2d 2d 2d   ┆ifier:  -->--> letter -->-->----┆
0x06260…06280 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 3e 2d 2d 2d 3e 20 20 20 20 21 20 20 20 21 20 20 21 20 20 20 20 21   ┆---------->--->    !   !  !    !┆
0x06280…062a0 20 20 20 20 2d 2d 0a 2d 3e 20 5f 20 2d 2d 2d 2d 2d 2d 2d 2d 20 20 21 3c 2d 2d 20 6c 65 74 74 65   ┆    -- -> _ --------  !<-- lette┆
0x062a0…062c0 72 20 3c 2d 2d 21 20 21 3c 2d 2d 20 64 69 67 69 74 20 3c 2d 2d 2d 21 20 21 3c 2d 2d 20 5f 20 20   ┆r <--! !<-- digit <---! !<-- _  ┆
0x062c0…062e0 3c 2d 2d 2d 2d 2d 2d 21 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 50 61 67 65 20 36 33 2c 20 4e 75   ┆<------!             Page 63, Nu┆
0x062e0…06300 6d 65 72 69 63 20 76 61 6c 75 65 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 61 73 3a 20 0d   ┆meric value is implemented as:  ┆
0x06300…06320 0a 0d 0a 6e 75 6d 65 72 69 63 20 76 61 6c 75 65 3a 20 20 2d 2d 3e 2d 2d 3e 2d 2d 3e 20 64 69 67   ┆   numeric value:  -->-->--> dig┆
0x06320…06340 69 74 20 2d 2d 3e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 3e 2d 2d 2d 2d 2d 3e 20 20 20   ┆it -->---------------->----->   ┆
0x06340…06360 20 21 20 20 21 20 20 21 20 20 20 20 20 20 20 0a 21 20 20 20 20 21 20 20 2d 2d 2d 2d 2d 2d 3c 2d   ┆ !  !  !        !    !  ------<-┆
0x06360…06380 2d 2d 2d 2d 2d 2d 20 20 20 20 20 20 20 21 20 20 20 20 21 20 20 20 21 20 20 20 20 21 2d 2d 3e 20   ┆------       !    !   !    !--> ┆
0x06380…063a0 20 62 20 2d 2d 3e 2d 2d 3e 20 62 69 6e 61 72 79 20 64 69 67 69 74 20 2d 2d 0a 3e 2d 2d 3e 21 20   ┆ b -->--> binary digit -- >-->! ┆
0x063a0…063c0 20 20 20 20 21 20 20 20 20 20 20 20 20 21 20 20 20 20 20 20 20 20 20 21 20 20 20 20 21 20 20 20   ┆    !        !         !    !   ┆
0x063c0…063e0 20 20 21 20 20 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 3c 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆  !        ------<--------------┆
0x063e0…06400 20 20 20 20 0a 21 20 20 20 20 21 20 20 20 21 20 20 20 20 21 2d 2d 3e 20 20 6f 20 2d 2d 3e 2d 2d   ┆     !    !   !    !-->  o -->--┆
0x06400…06420 3e 20 6f 63 74 61 6c 20 64 69 67 69 74 20 2d 2d 2d 3e 2d 2d 3e 21 20 20 20 20 20 21 20 20 20 20   ┆> octal digit --->-->!     !    ┆
0x06420…06440 20 20 20 20 21 21 20 20 20 21 20 20 20 20 20 0a 21 20 20 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 3c   ┆    !!   !      !        ------<┆
0x06440…06460 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 20 20 21 20 20 20 20 21 20 20 20 21 20 20 20 20   ┆---------------   !    !   !    ┆
0x06460…06480 21 2d 2d 3e 20 20 68 20 2d 2d 3e 2d 2d 3e 20 68 65 78 61 20 64 69 67 69 74 20 0a 2d 2d 2d 2d 3e   ┆!-->  h -->--> hexa digit  ---->┆
0x06480…064a0 2d 2d 3e 21 20 20 20 20 21 21 20 20 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 3c 2d 2d 2d 2d 2d 2d 2d   ┆-->!    !!        ------<-------┆
0x064a0…064c0 2d 2d 2d 2d 2d 2d 2d 2d 20 20 20 62 69 6e 61 72 79 20 64 69 67 69 74 73 20 61 72 65 20 30 2e 2e   ┆--------   binary digits are 0..┆
0x064c0…064e0 31 20 0a 6f 63 74 61 6c 20 64 69 67 69 74 73 20 61 72 65 20 30 2e 2e 37 20 68 65 78 61 20 64 69   ┆1  octal digits are 0..7 hexa di┆
0x064e0…06500 67 69 74 73 20 61 72 65 20 30 2e 2e 39 20 61 6e 64 20 61 2e 2e 66 20 0d 0a 16 53 41 0d 0a 52 45   ┆gits are 0..9 and a..f    SA  RE┆
0x06500…06520 50 52 45 53 45 4e 54 41 54 49 4f 4e 20 41 4e 44 20 4c 41 59 4f 55 54 20 4f 46 20 56 41 52 49 41   ┆PRESENTATION AND LAYOUT OF VARIA┆
0x06520…06540 42 4c 45 53 20 20 0d 0a 49 6e 20 74 68 69 73 20 63 68 61 70 74 65 72 20 69 74 20 69 73 20 65 78   ┆BLES    In this chapter it is ex┆
0x06540…06560 70 6c 61 69 6e 65 64 20 68 6f 77 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 76 61 72 69 6f 75   ┆plained how values of the variou┆
0x06560…06580 73 20 74 79 70 65 73 20 6f 66 20 0a 52 65 61 6c 2d 54 69 6d 65 20 50 61 73 63 61 6c 20 61 72 65   ┆s types of  Real-Time Pascal are┆
0x06580…065a0 20 72 65 70 72 65 73 65 6e 74 65 64 20 69 6e 20 74 68 65 20 52 43 33 35 30 32 20 69 6d 70 6c 65   ┆ represented in the RC3502 imple┆
0x065a0…065c0 6d 65 6e 74 61 74 69 6f 6e 20 61 6e 64 20 0a 68 6f 77 20 6d 65 6d 6f 72 79 20 69 73 20 61 6c 6c   ┆mentation and  how memory is all┆
0x065c0…065e0 6f 63 61 74 65 64 20 61 6e 64 20 6c 61 69 64 20 6f 75 74 20 74 6f 20 68 6f 6c 64 20 74 68 65 20   ┆ocated and laid out to hold the ┆
0x065e0…06600 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 0a 76 61 72 69 61 62 6c 65 73 20 6f 66 20 61 20 70 72   ┆values of the  variables of a pr┆
0x06600…06620 6f 63 65 73 73 20 69 6e 63 61 72 6e 61 74 69 6f 6e 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 42 0d 0a   ┆ocess incarnation.          SB  ┆
0x06620…06640 52 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 56 61 6c 75 65 73 20 20 0d 0a 0d 0a 0d 0a   ┆Representation of Values        ┆
0x06640…06660 0d 0a 0d 0a 16 53 43 0d 0a 45 6e 75 6d 65 72 61 74 69 6f 6e 1f 54 79 70 65 73 20 20 20 20 20 20   ┆     SC  Enumeration Types      ┆
0x06660…06680 20 20 20 0d 0a 41 6e 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 74 79 70 65 20 69 73 20 64 65 66 69   ┆     An enumeration type is defi┆
0x06680…066a0 6e 65 64 20 61 73 20 63 6f 6e 73 69 73 74 69 6e 67 20 6f 66 20 61 20 66 69 6e 69 74 65 2c 20 74   ┆ned as consisting of a finite, t┆
0x066a0…066c0 6f 74 61 6c 6c 79 20 0a 6f 72 64 65 72 65 64 20 73 65 74 20 6f 66 20 76 61 6c 75 65 73 2c 20 63   ┆otally  ordered set of values, c┆
0x066c0…066e0 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 61 20 73 65 74 20 6f 66 20 6f 72 64 69 6e 61 6c   ┆orresponding to a set of ordinal┆
0x066e0…06700 20 76 61 6c 75 65 73 20 77 68 69 63 68 20 0a 69 73 20 61 20 73 75 62 73 65 74 20 6f 66 20 74 68   ┆ values which  is a subset of th┆
0x06700…06720 65 20 69 6e 74 65 67 72 61 6c 20 6e 75 6d 62 65 72 73 2e 20 54 68 65 20 72 65 70 72 65 73 65 6e   ┆e integral numbers. The represen┆
0x06720…06740 74 61 74 69 6f 6e 20 6f 66 20 61 20 76 61 6c 75 65 20 6f 66 20 0a 61 6e 20 65 6e 75 6d 65 72 61   ┆tation of a value of  an enumera┆
0x06740…06760 74 69 6f 6e 20 74 79 70 65 20 69 73 20 74 68 65 20 74 77 6f 27 73 20 63 6f 6d 70 6c 65 6d 65 6e   ┆tion type is the two's complemen┆
0x06760…06780 74 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 0a 63 6f 72 72 65 73 70   ┆t representation of the  corresp┆
0x06780…067a0 6f 6e 64 69 6e 67 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 2e 20 49 66 20 61 20 74 79 70 65 20   ┆onding ordinal value. If a type ┆
0x067a0…067c0 69 6e 63 6c 75 64 65 73 20 6e 65 67 61 74 69 76 65 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 73   ┆includes negative ordinal values┆
0x067c0…067e0 2c 20 0a 8c 89 98 0a 74 68 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 76 61 6c   ┆,  їЅў the representation of val┆
0x067e0…06800 75 65 73 20 6f 66 20 74 68 65 20 74 79 70 65 20 69 73 20 61 6c 77 61 79 73 20 69 6e 20 31 36 20   ┆ues of the type is always in 16 ┆
0x06800…06820 62 69 74 73 20 28 61 20 0a 77 6f 72 64 29 2e 20 49 66 20 74 68 65 20 74 79 70 65 20 69 6e 63 6c   ┆bits (a  word). If the type incl┆
0x06820…06840 75 64 65 73 20 6f 6e 6c 79 20 6e 6f 6e 2d 6e 65 67 61 74 69 76 65 20 6f 72 64 69 6e 61 6c 20 76   ┆udes only non-negative ordinal v┆
0x06840…06860 61 6c 75 65 73 2c 20 61 6e 64 20 6e 20 69 73 20 0a 74 68 20 6c 61 72 67 65 73 74 20 6f 66 20 74   ┆alues, and n is  th largest of t┆
0x06860…06880 68 65 73 65 2c 20 74 68 65 6e 20 74 68 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 69 73   ┆hese, then the representation is┆
0x06880…068a0 20 69 6e 20 6c 6f 67 32 28 6e 2b 31 29 20 62 69 74 73 20 28 61 74 20 0a 6d 6f 73 74 20 31 36 29   ┆ in log2(n+1) bits (at  most 16)┆
0x068a0…068c0 2e 20 45 78 61 6d 70 6c 65 73 3a 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 69 6e 74 65 67 65 72 20   ┆. Examples:          - ёinteger ┆
0x068c0…068e0 76 61 6c 75 65 73 20 28 2d 33 32 37 36 38 2e 2e 33 32 37 36 37 29 20 61 72 65 20 72 65 70 72 65   ┆values (-32768..32767) are repre┆
0x068e0…06900 73 65 6e 74 65 64 20 69 6e 20 31 36 20 62 69 74 73 2c 20 0d 0a 20 20 20 2d 20 84 62 6f 6f 6c 65   ┆sented in 16 bits,      - ёboole┆
0x06900…06920 61 6e 20 76 61 6c 75 65 73 20 28 66 61 6c 73 65 2c 20 74 72 75 65 29 20 61 72 65 20 72 65 70 72   ┆an values (false, true) are repr┆
0x06920…06940 65 73 65 6e 74 65 64 20 69 6e 20 31 20 62 69 74 2c 20 0d 0a 20 20 20 2d 20 84 63 68 61 72 20 76   ┆esented in 1 bit,      - ёchar v┆
0x06940…06960 61 6c 75 65 73 20 28 73 65 65 20 72 65 66 2e 20 31 29 20 61 72 65 20 72 65 70 72 65 73 65 6e 74   ┆alues (see ref. 1) are represent┆
0x06960…06980 65 64 20 69 6e 20 37 20 62 69 74 73 2c 20 0d 0a 20 20 20 2d 20 84 76 61 6c 75 65 73 20 6f 66 20   ┆ed in 7 bits,      - ёvalues of ┆
0x06980…069a0 74 68 65 20 73 75 62 72 61 6e 67 65 20 74 79 70 65 20 2d 33 2e 2e 37 20 61 72 65 20 72 65 70 72   ┆the subrange type -3..7 are repr┆
0x069a0…069c0 65 73 65 6e 74 65 64 20 69 6e 20 31 36 20 62 69 74 73 2c 20 0d 0a 20 20 20 2d 20 84 76 61 6c 75   ┆esented in 16 bits,      - ёvalu┆
0x069c0…069e0 65 73 20 6f 66 20 74 68 65 20 73 63 61 6c 61 72 20 74 79 70 65 20 28 72 65 64 2c 20 67 72 65 65   ┆es of the scalar type (red, gree┆
0x069e0…06a00 6e 2c 20 62 6c 75 65 2c 20 6f 72 61 6e 67 65 2c 20 70 69 6e 6b 29 20 61 72 65 20 0a 19 85 80 80   ┆n, blue, orange, pink) are   Ёђђ┆
0x06a00…06a20 72 65 70 72 65 73 65 6e 74 65 64 20 69 6e 20 33 20 62 69 74 73 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 0d   ┆represented in 3 bits.          ┆
0x06a20…06a40 0a 0d 0a 16 53 43 0d 0a 53 68 69 65 6c 64 65 64 1f 61 6e 64 1f 50 6f 69 6e 74 65 72 1f 54 79 70   ┆    SC  Shielded and Pointer Typ┆
0x06a40…06a60 65 73 0d 0a 54 68 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 76 61 6c 75 65 73   ┆es  The representation of values┆
0x06a60…06a80 20 6f 66 20 73 68 69 65 6c 64 65 64 20 61 6e 64 20 70 6f 69 6e 74 65 72 20 74 79 70 65 73 20 69   ┆ of shielded and pointer types i┆
0x06a80…06aa0 73 20 6e 6f 74 20 0a 72 65 76 65 61 6c 65 64 2e 20 0d 0a 16 53 43 0d 0a 53 65 74 1f 54 79 70 65   ┆s not  revealed.    SC  Set Type┆
0x06aa0…06ac0 73 20 20 20 20 20 20 20 0d 0a 54 68 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20   ┆s         The representation of ┆
0x06ac0…06ae0 76 61 6c 75 65 73 20 6f 66 20 61 20 73 65 74 20 74 79 70 65 20 75 73 65 73 20 61 20 62 69 74 20   ┆values of a set type uses a bit ┆
0x06ae0…06b00 76 65 63 74 6f 72 20 77 68 6f 73 65 20 0a 6c 65 6e 67 74 68 20 64 65 70 65 6e 64 73 20 6f 6e 20   ┆vector whose  length depends on ┆
0x06b00…06b20 74 68 65 20 62 61 73 65 20 74 79 70 65 2e 20 54 68 65 20 62 61 73 65 20 74 79 70 65 20 6d 75 73   ┆the base type. The base type mus┆
0x06b20…06b40 74 20 62 65 20 61 6e 20 0a 65 6e 75 6d 65 72 61 74 69 6f 6e 20 74 79 70 65 20 77 68 69 63 68 20   ┆t be an  enumeration type which ┆
0x06b40…06b60 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 6e 65 67 61 74 69 76 65 20 6f 72 64 69 6e 61   ┆does not include negative ordina┆
0x06b60…06b80 6c 20 76 61 6c 75 65 73 2e 20 0d 0a 0d 0a 49 66 20 74 68 65 20 6f 72 64 69 6e 61 6c 20 76 61 6c   ┆l values.     If the ordinal val┆
0x06b80…06ba0 75 65 20 73 65 74 20 6f 66 20 74 68 65 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 74 79 70 65 20 54   ┆ue set of the enumeration type T┆
0x06ba0…06bc0 20 69 73 20 74 68 65 20 72 61 6e 67 65 20 6d 2e 2e 6e 20 0a 28 6d 20 a1 3e e1 20 30 29 20 74 68   ┆ is the range m..n  (m А>р 0) th┆
0x06bc0…06be0 65 6e 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 74 79 70 65 20 73 65 74 20 6f 66 20 54 20 61   ┆en values of the type set of T a┆
0x06be0…06c00 72 65 20 72 65 70 72 65 73 65 6e 74 65 64 20 69 6e 20 61 20 62 69 74 20 0a 76 65 63 74 6f 72 20   ┆re represented in a bit  vector ┆
0x06c00…06c20 77 69 74 68 20 69 6e 64 69 63 65 73 20 66 72 6f 6d 20 30 20 74 6f 20 6e 2e 20 54 68 65 20 66 69   ┆with indices from 0 to n. The fi┆
0x06c20…06c40 72 73 74 20 6d 20 28 70 6f 73 73 69 62 6c 79 20 7a 65 72 6f 29 20 6f 66 20 74 68 65 73 65 20 0a   ┆rst m (possibly zero) of these  ┆
0x06c40…06c60 62 69 74 73 20 61 72 65 20 73 69 67 6e 69 66 69 63 61 6e 74 20 6f 6e 6c 79 20 69 6e 20 63 6f 6d   ┆bits are significant only in com┆
0x06c60…06c80 70 61 72 69 73 6f 6e 73 2e 20 49 66 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 6f 66 20 54 20 77 68   ┆parisons. If the element of T wh┆
0x06c80…06ca0 6f 73 65 20 0a 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 20 69 73 20 69 20 28 6d 20 a1 3c e1 20 69   ┆ose  ordinal value is i (m А<р i┆
0x06ca0…06cc0 20 a1 3c e1 20 6e 29 20 69 73 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 61 20 70 61 72 74 69 63 75   ┆ А<р n) is a member of a particu┆
0x06cc0…06ce0 6c 61 72 20 76 61 6c 75 65 20 6f 66 20 0a 74 79 70 65 20 73 65 74 20 6f 66 20 54 2c 20 74 68 65   ┆lar value of  type set of T, the┆
0x06ce0…06d00 6e 20 62 69 74 20 69 20 69 6e 20 74 68 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66   ┆n bit i in the representation of┆
0x06d00…06d20 20 74 68 61 74 20 76 61 6c 75 65 20 69 73 20 31 2c 20 0a 6f 74 68 65 72 77 69 73 65 20 69 74 20   ┆ that value is 1,  otherwise it ┆
0x06d20…06d40 69 73 20 30 2e 20 45 78 61 6d 70 6c 65 3a 20 0d 0a 0d 0a 54 59 50 45 20 20 20 20 20 20 61 3d 73   ┆is 0. Example:     TYPE      a=s┆
0x06d40…06d60 65 74 20 6f 66 20 33 2e 2e 35 3b 20 0d 0a 0d 0a 56 41 52 20 20 20 20 20 20 62 3a 20 61 3a 3d 28   ┆et of 3..5;     VAR      b: a:=(┆
0x06d60…06d80 2e 33 2c 35 2e 29 3b 20 0d 0a 0d 0a 54 68 65 20 76 61 6c 75 65 20 6f 66 20 62 20 69 73 20 72 65   ┆.3,5.);     The value of b is re┆
0x06d80…06da0 70 72 65 73 65 6e 74 65 64 20 61 73 20 73 68 6f 77 6e 3a 20 0d 0a 0d 0a 20 62 69 74 20 20 20 20   ┆presented as shown:      bit    ┆
0x06da0…06dc0 30 20 20 31 20 20 32 20 20 33 20 20 34 20 20 35 20 0d 0a 0d 0a 20 20 20 20 20 20 20 31 20 20 30   ┆0  1  2  3  4  5            1  0┆
0x06dc0…06de0 20 20 31 20 0d 0a 0d 0a 54 68 65 20 73 68 61 64 65 64 20 62 69 74 73 20 61 72 65 20 73 69 67 6e   ┆  1     The shaded bits are sign┆
0x06de0…06e00 69 66 69 63 61 6e 74 20 6f 6e 6c 79 20 69 6e 20 63 6f 6d 70 61 72 69 73 6f 6e 73 2e 20 0d 0a 0d   ┆ificant only in comparisons.    ┆
0x06e00…06e20 0a 0d 0a 0d 0a 16 53 43 0d 0a 53 74 72 75 63 74 75 72 65 64 1f 54 79 70 65 73 0d 0a 56 61 6c 75   ┆      SC  Structured Types  Valu┆
0x06e20…06e40 65 73 20 6f 66 20 61 72 72 61 79 20 6f 72 20 72 65 63 6f 72 64 20 74 79 70 65 73 20 61 72 65 20   ┆es of array or record types are ┆
0x06e40…06e60 76 65 63 74 6f 72 73 20 6f 66 20 76 61 6c 75 65 73 20 6f 66 20 65 6e 75 6d 65 72 61 74 69 6f 6e   ┆vectors of values of enumeration┆
0x06e60…06e80 2c 20 0a 73 68 69 65 6c 64 65 64 2c 20 70 6f 69 6e 74 65 72 20 61 6e 64 20 73 65 74 20 74 79 70   ┆,  shielded, pointer and set typ┆
0x06e80…06ea0 65 73 2e 20 54 68 65 20 63 6f 6d 70 6f 6e 65 6e 74 20 76 61 6c 75 65 73 20 61 72 65 20 72 65 70   ┆es. The component values are rep┆
0x06ea0…06ec0 72 65 73 65 6e 74 65 64 20 0a 61 73 20 64 65 73 63 72 69 62 65 64 20 66 6f 72 20 74 68 65 20 63   ┆resented  as described for the c┆
0x06ec0…06ee0 6f 6d 70 6f 6e 65 6e 74 20 74 79 70 65 73 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 54 79 70   ┆omponent types.          SC  Typ┆
0x06ee0…06f00 65 1f 53 69 7a 65 20 20 20 20 20 20 20 0d 0a 8c 8a a8 0a 54 68 65 20 73 69 7a 65 20 6f 66 20 61   ┆e Size         їіе The size of a┆
0x06f00…06f20 20 74 79 70 65 20 54 2c 20 64 65 6e 6f 74 65 64 20 53 28 54 29 2c 20 69 73 20 74 68 65 20 6e 75   ┆ type T, denoted S(T), is the nu┆
0x06f20…06f40 6d 62 65 72 20 6f 66 20 62 69 74 73 20 75 73 65 64 20 74 6f 20 0a 72 65 70 72 65 73 65 6e 74 20   ┆mber of bits used to  represent ┆
0x06f40…06f60 76 61 6c 75 65 73 20 6f 66 20 74 79 70 65 20 54 2e 20 54 68 65 20 63 6f 6e 63 65 70 74 20 6f 66   ┆values of type T. The concept of┆
0x06f60…06f80 20 73 69 7a 65 20 69 73 20 6f 6e 6c 79 20 72 65 6c 65 76 61 6e 74 20 66 6f 72 20 0a 74 79 70 65   ┆ size is only relevant for  type┆
0x06f80…06fa0 73 20 77 68 69 63 68 20 61 72 65 20 61 66 66 65 63 74 65 64 20 62 79 20 70 61 63 6b 69 6e 67 20   ┆s which are affected by packing ┆
0x06fa0…06fc0 77 68 65 6e 20 75 73 65 64 20 66 6f 72 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 6f 66 20 0a 73 74 72   ┆when used for components of  str┆
0x06fc0…06fe0 75 63 74 75 72 65 64 20 74 79 70 65 73 2c 20 61 6e 64 20 69 73 20 74 68 65 72 65 66 6f 72 65 20   ┆uctured types, and is therefore ┆
0x06fe0…07000 6e 6f 74 20 64 65 66 69 6e 65 64 20 66 6f 72 20 61 6c 6c 20 74 79 70 65 73 2e 20 46 6f 72 20 0a   ┆not defined for all types. For  ┆
0x07000…07020 65 6e 75 6d 65 72 61 74 69 6f 6e 20 74 79 70 65 73 20 53 28 54 29 20 69 73 20 63 6f 6d 70 75 74   ┆enumeration types S(T) is comput┆
0x07020…07040 65 64 20 61 73 20 64 65 73 63 72 69 62 65 64 20 61 62 6f 76 65 2e 20 0d 0a 0d 0a 45 78 61 6d 70   ┆ed as described above.     Examp┆
0x07040…07060 6c 65 3a 20 53 28 63 68 61 72 29 3d 37 2c 20 53 28 69 6e 74 65 67 65 72 29 3d 31 36 2e 20 0d 0a   ┆le: S(char)=7, S(integer)=16.   ┆
0x07060…07080 0d 0a 0d 0a 0d 0a 16 53 42 0d 0a 4d 65 6d 6f 72 79 1f 4c 61 79 6f 75 74 20 20 20 0d 0a 54 68 65   ┆       SB  Memory Layout     The┆
0x07080…070a0 20 6d 65 6d 6f 72 79 20 72 65 71 75 69 72 65 6d 65 6e 74 20 6f 66 20 61 20 74 79 70 65 20 54 2c   ┆ memory requirement of a type T,┆
0x070a0…070c0 20 64 65 6e 6f 74 65 64 20 4d 28 54 29 2c 20 69 73 20 64 65 66 69 6e 65 64 20 61 73 20 74 68 65   ┆ denoted M(T), is defined as the┆
0x070c0…070e0 20 0a 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 77 68 69 63 68 20 61 72 65 20 61 6c 6c 6f   ┆  number of bytes which are allo┆
0x070e0…07100 63 61 74 65 64 20 66 6f 72 20 61 20 76 61 72 69 61 62 6c 65 20 6f 66 20 74 79 70 65 20 54 2e 20   ┆cated for a variable of type T. ┆
0x07100…07120 0d 0a 0d 0a 46 6f 72 20 61 6e 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 74 79 70 65 20 54 2c 20 4d   ┆    For an enumeration type T, M┆
0x07120…07140 28 54 29 20 64 65 70 65 6e 64 73 20 6f 6e 20 53 28 54 29 2c 20 61 73 20 66 6f 6c 6c 6f 77 73 3a   ┆(T) depends on S(T), as follows:┆
0x07140…07160 20 0d 0a 0d 0a 20 20 20 20 20 31 20 3c 3d 20 53 28 54 29 20 3c 3d 20 20 38 20 3a 20 4d 28 54 29   ┆          1 <= S(T) <=  8 : M(T)┆
0x07160…07180 3d 31 20 20 20 20 20 20 39 20 3c 3d 20 53 28 54 29 20 3c 3d 20 31 36 20 3a 20 4d 28 54 29 3d 32   ┆=1      9 <= S(T) <= 16 : M(T)=2┆
0x07180…071a0 20 0d 0a 0d 0a 46 6f 72 20 73 68 69 65 6c 64 65 64 20 61 6e 64 20 70 6f 69 6e 74 65 72 20 74 79   ┆     For shielded and pointer ty┆
0x071a0…071c0 70 65 73 2c 20 4d 28 54 29 20 69 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 20 0d 0a 0d 0a   ┆pes, M(T) is the following:     ┆
0x071c0…071e0 20 20 20 20 20 4d 28 72 65 66 65 72 65 6e 63 65 29 3d 20 20 37 20 20 20 20 20 20 4d 28 73 65 6d   ┆     M(reference)=  7      M(sem┆
0x071e0…07200 61 70 68 6f 72 65 29 3d 20 20 37 20 20 20 20 20 20 4d 28 73 68 61 64 6f 77 29 3d 20 20 20 20 20   ┆aphore)=  7      M(shadow)=     ┆
0x07200…07220 36 20 20 20 20 20 20 0a 4d 28 70 6f 69 6e 74 65 72 29 3d 20 20 20 20 33 20 20 20 20 20 20 4d 28   ┆6       M(pointer)=    3      M(┆
0x07220…07240 70 6f 6f 6c 29 3d 20 20 20 20 20 20 20 37 20 0d 0a 0d 0a 4d 65 6d 6f 72 79 20 72 65 71 75 69 72   ┆pool)=       7     Memory requir┆
0x07240…07260 65 6d 65 6e 74 20 66 6f 72 20 73 74 72 75 63 74 75 72 65 64 20 74 79 70 65 73 20 69 73 20 64 65   ┆ement for structured types is de┆
0x07260…07280 73 63 72 69 62 65 64 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 0d 0a 77 69 74 68 20 6d 65 6d   ┆scribed in connection   with mem┆
0x07280…072a0 6f 72 79 20 6c 61 79 6f 75 74 20 66 6f 72 20 74 68 65 73 65 20 74 79 70 65 73 20 69 6e 20 73 75   ┆ory layout for these types in su┆
0x072a0…072c0 62 73 65 63 74 69 6f 6e 20 36 2e 32 2e 33 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 41 6c 69   ┆bsection 6.2.3.          SC  Ali┆
0x072c0…072e0 67 6e 6d 65 6e 74 20 20 20 20 20 20 20 0d 0a 54 68 65 20 6d 65 6d 6f 72 79 20 6f 66 20 74 68 65   ┆gnment         The memory of the┆
0x072e0…07300 20 52 43 33 35 30 32 20 6d 61 63 68 69 6e 65 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 61 20 73 65   ┆ RC3502 machine consists of a se┆
0x07300…07320 71 75 65 6e 63 65 20 6f 66 20 65 69 67 68 74 20 0a 62 69 74 20 62 79 74 65 73 2e 20 45 61 63 68   ┆quence of eight  bit bytes. Each┆
0x07320…07340 20 62 79 74 65 20 68 61 73 20 61 6e 20 61 64 64 72 65 73 73 2e 20 54 77 6f 20 63 6f 6e 73 65 63   ┆ byte has an address. Two consec┆
0x07340…07360 75 74 69 76 65 20 62 79 74 65 73 20 69 73 20 61 20 77 6f 72 64 2e 20 0a 54 68 65 20 6d 6f 73 74   ┆utive bytes is a word.  The most┆
0x07360…07380 20 73 69 67 6e 69 66 69 63 61 6e 74 20 68 61 6c 66 77 6f 72 64 20 69 73 20 74 68 65 20 62 79 74   ┆ significant halfword is the byt┆
0x07380…073a0 65 20 77 69 74 68 20 74 68 65 20 6c 6f 77 65 73 74 20 61 64 64 72 65 73 73 2e 20 0d 0a 0d 0a 4d   ┆e with the lowest address.     M┆
0x073a0…073c0 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 66 6f 72 20 61 20 76 61 72 69 61 62 6c 65 20   ┆emory allocation for a variable ┆
0x073c0…073e0 6f 66 20 61 20 73 68 69 65 6c 64 65 64 20 74 79 70 65 2c 20 6f 72 20 6f 66 20 61 20 73 74 75 63   ┆of a shielded type, or of a stuc┆
0x073e0…07400 74 75 72 65 64 20 0a 74 79 70 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 63 6f 6d 70 6f 6e 65 6e 74   ┆tured  type containing component┆
0x07400…07420 73 20 6f 66 20 73 68 69 65 6c 64 65 64 20 74 79 70 65 28 73 29 20 69 73 20 70 68 79 73 69 63 61   ┆s of shielded type(s) is physica┆
0x07420…07440 6c 6c 79 20 77 6f 72 64 2d 0a 61 6c 69 67 6e 65 64 2c 20 69 2e 65 2e 20 74 68 65 20 61 6c 6c 6f   ┆lly word- aligned, i.e. the allo┆
0x07440…07460 63 61 74 65 64 20 6d 65 6d 6f 72 79 20 73 74 61 72 74 73 20 6f 6e 20 61 20 77 6f 72 64 20 62 6f   ┆cated memory starts on a word bo┆
0x07460…07480 75 6e 64 61 72 79 2c 20 77 68 65 72 65 20 0a 74 68 65 20 66 69 72 73 74 20 62 79 74 65 20 68 61   ┆undary, where  the first byte ha┆
0x07480…074a0 73 20 61 6e 20 65 76 65 6e 20 61 64 64 72 65 73 73 2e 20 41 6c 6c 20 6f 74 68 65 72 20 76 61 72   ┆s an even address. All other var┆
0x074a0…074c0 69 61 62 6c 65 73 20 61 72 65 20 62 79 74 65 2d 0a 61 6c 69 67 6e 65 64 2e 20 0d 0a 16 53 43 0d   ┆iables are byte- aligned.    SC ┆
0x074c0…074e0 0a 53 74 61 63 6b 1f 46 72 61 6d 65 20 20 20 20 20 0d 0a 4d 65 6d 6f 72 79 20 66 6f 72 20 76 61   ┆ Stack Frame       Memory for va┆
0x074e0…07500 72 69 61 62 6c 65 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 70 72 6f 63 65 73 73 20 6f 72 20 72   ┆riables declared in process or r┆
0x07500…07520 6f 75 74 69 6e 65 20 62 6c 6f 63 6b 73 20 69 73 20 0a 61 6c 6c 6f 63 61 74 65 64 20 69 6e 20 a1   ┆outine blocks is  allocated in А┆
0x07520…07540 73 74 61 63 6b 1f 66 72 61 6d 65 73 e1 20 69 6e 20 74 68 65 20 64 61 74 61 20 73 74 72 75 63 74   ┆stack framesр in the data struct┆
0x07540…07560 75 72 65 20 6f 66 20 74 68 65 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 74 6f 20 0a 77 68 69 63 68   ┆ure of the incarnation to  which┆
0x07560…07580 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 20 62 65 6c 6f 6e 67 2e 20 54 68 65 20 67 65 6e 65 72   ┆ the variables belong. The gener┆
0x07580…075a0 61 6c 20 6c 61 79 6f 75 74 20 6f 66 20 61 6e 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 73 74 61 63   ┆al layout of an incarnation stac┆
0x075a0…075c0 6b 20 0a 69 73 20 73 68 6f 77 6e 20 69 6e 20 66 69 67 2e 20 31 2e 20 0d 0a 0d 0a 49 6e 20 74 68   ┆k  is shown in fig. 1.     In th┆
0x075c0…075e0 65 20 70 6f 72 74 69 6f 6e 20 6f 66 20 61 20 73 74 61 63 6b 20 66 72 61 6d 65 20 75 73 65 64 20   ┆e portion of a stack frame used ┆
0x075e0…07600 66 6f 72 20 64 65 63 6c 61 72 65 64 20 76 61 72 69 61 62 6c 65 73 20 6d 65 6d 6f 72 79 20 69 73   ┆for declared variables memory is┆
0x07600…07620 20 0a 61 6c 6c 6f 63 61 74 65 64 20 66 72 6f 6d 20 6c 6f 77 20 74 6f 20 68 69 67 68 20 61 64 64   ┆  allocated from low to high add┆
0x07620…07640 72 65 73 73 65 73 20 69 6e 20 74 68 65 20 6f 72 64 65 72 20 6f 66 20 64 65 63 6c 61 72 61 74 69   ┆resses in the order of declarati┆
0x07640…07660 6f 6e 20 6f 66 20 0a 74 68 65 20 76 61 72 69 61 62 6c 65 73 20 69 6e 20 74 68 65 20 70 72 6f 67   ┆on of  the variables in the prog┆
0x07660…07680 72 61 6d 20 74 65 78 74 2e 20 0d 0a 0d 0a 41 6e 20 69 6e 74 65 67 72 61 6c 20 6e 75 6d 62 65 72   ┆ram text.     An integral number┆
0x07680…076a0 20 6f 66 20 62 79 74 65 73 20 69 73 20 61 6c 6c 6f 63 61 74 65 64 20 66 6f 72 20 65 61 63 68 20   ┆ of bytes is allocated for each ┆
0x076a0…076c0 76 61 72 69 61 62 6c 65 2e 20 54 68 65 20 0a 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 69   ┆variable. The  number of bytes i┆
0x076c0…076e0 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 6d 65 6d 6f 72 79 20 72 65 71 75 69   ┆s determined by the memory requi┆
0x076e0…07700 72 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 74 79 70 65 20 0a 6f 66 20 74 68 65 20 76 61 72 69 61   ┆rement of the type  of the varia┆
0x07700…07720 62 6c 65 73 2e 20 42 65 63 61 75 73 65 20 6f 66 20 70 68 79 73 69 63 61 6c 20 77 6f 72 64 2d 61   ┆bles. Because of physical word-a┆
0x07720…07740 6c 69 67 6e 6d 65 6e 74 2c 20 75 6e 75 73 65 64 20 62 79 74 65 73 20 6f 66 20 0a 6d 65 6d 6f 72   ┆lignment, unused bytes of  memor┆
0x07740…07760 79 20 6d 61 79 20 62 65 20 6c 65 66 74 20 62 65 74 77 65 65 6e 20 76 61 72 69 61 62 6c 65 73 20   ┆y may be left between variables ┆
0x07760…07780 28 69 6e 20 66 61 63 74 20 61 6c 73 6f 20 69 6e 73 69 64 65 20 73 74 72 75 63 74 75 72 65 64 20   ┆(in fact also inside structured ┆
0x07780…077a0 0a 76 61 72 69 61 62 6c 65 73 29 2e 20 0d 0a 0d 0a 8c 8a 90 0a 57 68 65 6e 20 6d 6f 72 65 20 6d   ┆ variables).     їіљ When more m┆
0x077a0…077c0 65 6d 6f 72 79 20 69 73 20 61 6c 6c 6f 63 61 74 65 64 20 66 6f 72 20 61 20 76 61 72 69 61 62 6c   ┆emory is allocated for a variabl┆
0x077c0…077e0 65 20 6f 66 20 61 6e 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 74 79 70 65 20 0a 74 68 61 6e 20 69   ┆e of an enumeration type  than i┆
0x077e0…07800 6e 64 69 63 61 74 65 64 20 62 79 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 74 79 70 65   ┆ndicated by the size of the type┆
0x07800…07820 2c 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 70 6c 61 63 65 64 20 69 6e 20 74 68 65 20   ┆, the variable is placed in the ┆
0x07820…07840 0a 6c 65 61 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 73 20 6f 66 20 74 68 65 20 61   ┆ least significant bits of the a┆
0x07840…07860 6c 6c 6f 63 61 74 65 64 20 62 79 74 65 20 6f 72 20 77 6f 72 64 2e 20 0d 0a 0d 0a 45 78 61 6d 70   ┆llocated byte or word.     Examp┆
0x07860…07880 6c 65 3a 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 64 65 63 6c 61 72 61   ┆le: Corresponding to the declara┆
0x07880…078a0 74 69 6f 6e 73 3a 20 0d 0a 0d 0a 56 41 52 20 20 20 20 20 20 61 3a 20 63 68 61 72 3b 20 20 20 20   ┆tions:     VAR      a: char;    ┆
0x078a0…078c0 20 20 62 2c 63 3a 20 30 2e 2e 37 3b 20 20 20 20 20 20 64 3a 20 69 6e 74 65 67 65 72 3b 20 20 20   ┆  b,c: 0..7;      d: integer;   ┆
0x078c0…078e0 20 20 20 65 3a 20 72 65 66 65 72 65 6e 63 65 3b 20 0d 0a 0d 0a 4d 65 6d 6f 72 79 20 69 73 20 61   ┆   e: reference;     Memory is a┆
0x078e0…07900 6c 6c 6f 63 61 74 65 64 20 77 69 74 68 69 6e 20 61 20 73 74 61 63 6b 20 66 72 61 6d 65 20 61 73   ┆llocated within a stack frame as┆
0x07900…07920 20 69 6c 6c 75 73 74 72 61 74 65 64 20 69 6e 20 66 69 67 2e 20 32 2e 20 0d 0a 0d 0a 0d 0a 0d 0a   ┆ illustrated in fig. 2.         ┆
0x07920…07940 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a   ┆                                ┆
              […0x1…]
0x07960…07980 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 8c 8a c0 0a 06 46 69 67   ┆                        їі└  Fig┆
0x07980…079a0 2e 20 20 31 2e 20 49 6e 63 61 72 6e 61 74 69 6f 6e 20 73 74 61 63 6b 20 6c 61 79 6f 75 74 20 28   ┆.  1. Incarnation stack layout (┆
0x079a0…079c0 73 6e 61 70 73 68 6f 74 29 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a   ┆snapshot)                       ┆
0x079c0…079e0 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 06 46   ┆                               F┆
0x079e0…07a00 69 67 2e 20 20 32 2e 20 4d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 20 66 6f 72 20 73 69 6d 70 6c 65   ┆ig.  2. Memory layout for simple┆
0x07a00…07a20 20 64 65 63 6c 61 72 65 64 20 76 61 72 69 61 62 6c 65 73 20 06 69 6e 20 73 74 61 63 6b 20 0a 66   ┆ declared variables  in stack  f┆
0x07a20…07a40 72 61 6d 65 20 6f 72 20 72 65 63 6f 72 64 20 74 79 70 65 20 28 6e 6f 74 20 70 61 63 6b 65 64 29   ┆rame or record type (not packed)┆
0x07a40…07a60 2e 20 0d 0a 0d 0a 54 68 65 20 6c 61 79 6f 75 74 20 6f 66 20 61 63 74 75 61 6c 20 70 61 72 61 6d   ┆.     The layout of actual param┆
0x07a60…07a80 65 74 65 72 73 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 61 74 20 6f 66 20 64 65 63 6c   ┆eters is similar to that of decl┆
0x07a80…07aa0 61 72 65 64 20 0a 76 61 72 69 61 62 6c 65 73 2c 20 77 69 74 68 20 61 20 6d 69 6e 6f 72 20 6d 6f   ┆ared  variables, with a minor mo┆
0x07aa0…07ac0 64 69 66 69 63 61 74 69 6f 6e 3a 20 53 69 6e 63 65 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 75   ┆dification: Since the smallest u┆
0x07ac0…07ae0 6e 69 74 20 6f 66 20 0a 6d 65 6d 6f 72 79 20 70 75 73 68 65 64 20 6f 6e 20 74 68 65 20 65 76 61   ┆nit of  memory pushed on the eva┆
0x07ae0…07b00 6c 75 61 74 69 6f 6e 20 73 74 61 63 6b 20 69 73 20 61 20 77 6f 72 64 2c 20 65 61 63 68 20 61 63   ┆luation stack is a word, each ac┆
0x07b00…07b20 74 75 61 6c 20 0a 70 61 72 61 6d 65 74 65 72 20 6f 66 20 61 20 70 72 6f 63 65 73 73 20 6f 72 20   ┆tual  parameter of a process or ┆
0x07b20…07b40 72 6f 75 74 69 6e 65 20 73 74 61 63 6b 20 66 72 61 6d 65 20 6f 63 63 75 70 69 65 73 20 61 6e 20   ┆routine stack frame occupies an ┆
0x07b40…07b60 69 6e 74 65 67 72 61 6c 20 0a 6e 75 6d 62 65 72 20 6f 66 20 77 6f 72 64 73 2e 20 53 69 6d 69 6c   ┆integral  number of words. Simil┆
0x07b60…07b80 61 72 20 74 6f 20 74 68 65 20 63 61 73 65 20 6f 66 20 64 65 63 6c 61 72 65 64 20 76 61 72 69 61   ┆ar to the case of declared varia┆
0x07b80…07ba0 62 6c 65 73 2c 20 61 6e 20 61 63 74 75 61 6c 20 0a 70 61 72 61 6d 65 74 65 72 20 6f 66 20 61 6e   ┆bles, an actual  parameter of an┆
0x07ba0…07bc0 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 74 79 70 65 20 6f 66 20 73 69 7a 65 20 6c 65 73 73 20 74   ┆ enumeration type of size less t┆
0x07bc0…07be0 68 61 6e 20 31 36 20 28 62 69 74 73 29 20 69 73 20 70 6c 61 63 65 64 20 0a 69 6e 20 74 68 65 20   ┆han 16 (bits) is placed  in the ┆
0x07be0…07c00 6c 65 61 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 73 20 6f 66 20 74 68 65 20 61 6c   ┆least significant bits of the al┆
0x07c00…07c20 6c 6f 63 61 74 65 64 20 77 6f 72 64 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 53 74 72 75 63   ┆located word.          SC  Struc┆
0x07c20…07c40 74 75 72 65 64 1f 54 79 70 65 73 0d 0a 54 68 65 20 6d 65 6d 6f 72 79 20 72 65 71 75 69 72 65 6d   ┆tured Types  The memory requirem┆
0x07c40…07c60 65 6e 74 20 6f 66 20 61 20 73 74 72 75 63 74 75 72 65 64 20 74 79 70 65 20 69 73 20 64 65 74 65   ┆ent of a structured type is dete┆
0x07c60…07c80 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 0a 6d 65 6d 6f 72 79 20 72 65 71 75 69 72 65 6d 65 6e   ┆rmined by the  memory requiremen┆
0x07c80…07ca0 74 73 20 6f 66 20 74 68 65 20 63 6f 6d 70 6f 6e 65 6e 74 20 74 79 70 65 28 73 29 20 61 6e 64 20   ┆ts of the component type(s) and ┆
0x07ca0…07cc0 62 79 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 0a 61 6c 69 67 6e 6d 65 6e 74 2e 20 0d 0a 0d   ┆by the necessary  alignment.    ┆
0x07cc0…07ce0 0a 54 68 65 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 65 64 20 66 6f 72 20 61 20 76 61 72 69   ┆ The memory allocated for a vari┆
0x07ce0…07d00 61 62 6c 65 20 6f 66 20 61 20 73 74 72 75 63 74 75 72 65 64 20 74 79 70 65 20 69 73 20 73 75 62   ┆able of a structured type is sub┆
0x07d00…07d20 2d 0a 61 6c 6c 6f 63 61 74 65 64 20 66 6f 72 20 74 68 65 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 6f   ┆- allocated for the components o┆
0x07d20…07d40 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 69 6e 20 61 20 66 61 73 68 69 6f 6e 20 77 68 69 63   ┆f the variable in a fashion whic┆
0x07d40…07d60 68 20 0a 64 65 70 65 6e 64 73 20 6f 6e 20 77 68 65 74 68 65 72 20 74 68 65 20 74 79 70 65 20 69   ┆h  depends on whether the type i┆
0x07d60…07d80 73 20 64 65 63 6c 61 72 65 64 20 61 73 20 70 61 63 6b 65 64 20 6f 72 20 6e 6f 74 2e 20 0d 0a 0d   ┆s declared as packed or not.    ┆
0x07d80…07da0 0a 46 6f 72 20 61 6e 20 61 72 72 61 79 2c 20 6d 65 6d 6f 72 79 20 69 73 20 61 6c 6c 6f 63 61 74   ┆ For an array, memory is allocat┆
0x07da0…07dc0 65 64 20 66 72 6f 6d 20 6c 6f 77 20 74 6f 20 68 69 67 68 20 61 64 64 72 65 73 73 65 73 20 66 6f   ┆ed from low to high addresses fo┆
0x07dc0…07de0 72 20 74 68 65 20 0a 65 6c 65 6d 65 6e 74 73 20 69 6e 20 69 6e 64 65 78 20 6f 72 64 65 72 2c 20   ┆r the  elements in index order, ┆
0x07de0…07e00 61 6e 64 20 66 6f 72 20 61 20 72 65 63 6f 72 64 2c 20 6d 65 6d 6f 72 79 20 69 73 20 61 6c 6c 6f   ┆and for a record, memory is allo┆
0x07e00…07e20 63 61 74 65 64 20 66 72 6f 6d 20 0a 6c 6f 77 20 74 6f 20 68 69 67 68 20 61 64 64 72 65 73 73 65   ┆cated from  low to high addresse┆
0x07e20…07e40 73 20 66 6f 72 20 74 68 65 20 66 69 65 6c 64 73 20 69 6e 20 74 68 65 20 6f 72 64 65 72 20 74 68   ┆s for the fields in the order th┆
0x07e40…07e60 65 79 20 61 72 65 20 64 65 63 6c 61 72 65 64 20 69 6e 20 0a 74 68 65 20 72 65 63 6f 72 64 20 74   ┆ey are declared in  the record t┆
0x07e60…07e80 79 70 65 20 64 65 66 69 6e 69 74 69 6f 6e 2e 20 0d 0a 0d 0a 0d 0a 8c 8a 90 0a 0d 0a 16 53 44 0d   ┆ype definition.       їіљ    SD ┆
0x07e80…07ea0 0a 41 72 72 61 79 73 20 61 6e 64 20 52 65 63 6f 72 64 73 2c 20 4e 6f 74 20 50 61 63 6b 65 64 20   ┆ Arrays and Records, Not Packed ┆
0x07ea0…07ec0 20 20 20 20 20 0d 0a 46 6f 72 20 61 6e 20 61 72 72 61 79 20 6f 72 20 72 65 63 6f 72 64 20 74 79   ┆       For an array or record ty┆
0x07ec0…07ee0 70 65 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 70 61 63 6b 65 64 2c 20 6d 65 6d 6f 72 79 20 61   ┆pe which is not packed, memory a┆
0x07ee0…07f00 6c 6c 6f 63 61 74 69 6f 6e 20 0a 66 6f 72 20 74 68 65 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 74 61   ┆llocation  for the components ta┆
0x07f00…07f20 6b 65 73 20 70 6c 61 63 65 20 69 6e 20 70 72 65 63 69 73 65 6c 79 20 74 68 65 20 73 61 6d 65 20   ┆kes place in precisely the same ┆
0x07f20…07f40 66 61 73 68 69 6f 6e 20 61 73 20 0a 61 6c 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79   ┆fashion as  allocation of memory┆
0x07f40…07f60 20 66 6f 72 20 64 65 63 6c 61 72 65 64 20 76 61 72 69 61 62 6c 65 73 20 69 6e 20 61 20 73 74 61   ┆ for declared variables in a sta┆
0x07f60…07f80 63 6b 20 66 72 61 6d 65 2c 20 69 2e 65 2e 3a 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 66 72 6f 6d   ┆ck frame, i.e.:          - ёfrom┆
0x07f80…07fa0 20 6c 6f 77 20 74 6f 20 68 69 67 68 20 61 64 64 72 65 73 73 65 73 2c 20 0d 0a 20 20 20 2d 20 84   ┆ low to high addresses,      - ё┆
0x07fa0…07fc0 61 6e 20 69 6e 74 65 67 72 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 70 65 72 20   ┆an integral number of bytes per ┆
0x07fc0…07fe0 63 6f 6d 70 6f 6e 65 6e 74 2c 20 0d 0a 20 20 20 2d 20 84 61 6c 69 67 6e 6d 65 6e 74 20 28 72 65   ┆component,      - ёalignment (re┆
0x07fe0…08000 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 61   ┆lative to the beginning of the a┆
0x08000…08020 72 72 61 79 20 6f 72 20 72 65 63 6f 72 64 20 61 6e 64 20 0a 19 85 80 80 62 79 20 69 6d 70 6c 69   ┆rray or record and   Ёђђby impli┆
0x08020…08040 63 61 74 69 6f 6e 20 61 6c 73 6f 20 69 6e 20 61 62 73 6f 6c 75 74 20 6d 65 6d 6f 72 79 29 20 61   ┆cation also in absolut memory) a┆
0x08040…08060 73 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 73 75 62 73 65 63 74 69 6f 6e 20 0a 19 85 80 80 33   ┆s described in subsection   Ёђђ3┆
0x08060…08080 2e 32 2e 31 2c 20 0d 0a 20 20 20 2d 20 84 72 69 67 68 74 20 6a 75 73 74 69 66 69 63 61 74 69 6f   ┆.2.1,      - ёright justificatio┆
0x08080…080a0 6e 20 6f 66 20 65 61 63 68 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 74 79 70 65 20 63 6f 6d 70 6f   ┆n of each enumeration type compo┆
0x080a0…080c0 6e 65 6e 74 20 77 69 74 68 69 6e 20 0a 19 85 80 80 74 68 65 20 61 6c 6c 6f 63 61 74 65 64 20 62   ┆nent within   Ёђђthe allocated b┆
0x080c0…080e0 79 74 65 20 6f 72 20 77 6f 72 64 2e 20 0d 0a 0d 0a 45 78 61 6d 70 6c 65 3a 20 57 69 74 68 20 74   ┆yte or word.     Example: With t┆
0x080e0…08100 68 65 20 72 65 63 6f 72 64 20 74 79 70 65 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 0d 0a 0d 0a 54   ┆he record type definition:     T┆
0x08100…08120 59 50 45 20 20 20 20 20 20 72 3d 52 45 43 4f 52 44 61 3a 20 63 68 61 72 3b 62 2c 63 3a 20 30 2e   ┆YPE      r=RECORDa: char;b,c: 0.┆
0x08120…08140 2e 37 3b 64 3a 20 69 6e 74 65 67 65 72 3b 65 3a 20 72 65 66 65 72 65 6e 63 65 20 20 20 20 20 20   ┆.7;d: integer;e: reference      ┆
0x08140…08160 0a 45 4e 44 3b 20 0d 0a 0d 0a 46 69 67 2e 20 32 20 28 73 20 69 73 20 65 76 65 6e 29 20 73 68 6f   ┆ END;     Fig. 2 (s is even) sho┆
0x08160…08180 77 73 20 74 68 65 20 6c 61 79 6f 75 74 20 6f 66 20 61 20 76 61 72 69 61 62 6c 65 20 6f 66 20 74   ┆ws the layout of a variable of t┆
0x08180…081a0 79 70 65 20 72 2e 20 0d 0a 0d 0a 42 79 20 73 75 6d 6d 61 74 69 6f 6e 20 28 6f 72 20 6d 75 6c 74   ┆ype r.     By summation (or mult┆
0x081a0…081c0 69 70 6c 69 63 61 74 69 6f 6e 29 20 74 68 65 20 6d 65 6d 6f 72 79 20 72 65 71 75 69 72 65 6d 65   ┆iplication) the memory requireme┆
0x081c0…081e0 6e 74 20 6f 66 20 61 6e 20 61 72 72 61 79 20 0a 6f 72 20 72 65 63 6f 72 64 20 74 79 70 65 20 6d   ┆nt of an array  or record type m┆
0x081e0…08200 61 79 20 62 65 20 64 65 74 65 72 6d 69 6e 65 64 20 66 72 6f 6d 20 74 68 65 20 61 62 6f 76 65 20   ┆ay be determined from the above ┆
0x08200…08220 72 75 6c 65 73 20 66 6f 72 20 73 75 62 2d 0a 61 6c 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 6d 65 6d   ┆rules for sub- allocation of mem┆
0x08220…08240 6f 72 79 20 66 6f 72 20 63 6f 6d 70 6f 6e 65 6e 74 73 2e 20 46 6f 72 20 74 68 65 20 72 65 63 6f   ┆ory for components. For the reco┆
0x08240…08260 72 64 20 74 79 70 65 20 69 6e 20 74 68 65 20 0a 65 78 61 6d 70 6c 65 20 4d 28 72 29 3d 31 33 2c   ┆rd type in the  example M(r)=13,┆
0x08260…08280 20 62 65 63 61 75 73 65 20 74 68 65 20 73 74 61 72 74 20 61 64 64 72 65 73 73 20 69 73 20 65 76   ┆ because the start address is ev┆
0x08280…082a0 65 6e 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 50 61 63 6b 65 64 20 41 72 72 61 79 73 20 61   ┆en.          SD  Packed Arrays a┆
0x082a0…082c0 6e 64 20 52 65 63 6f 72 64 73 20 0d 0a 49 6e 20 74 68 65 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f 63   ┆nd Records   In the memory alloc┆
0x082c0…082e0 61 74 65 64 20 66 6f 72 20 61 20 76 61 72 69 61 62 6c 65 20 6f 66 20 61 20 70 61 63 6b 65 64 20   ┆ated for a variable of a packed ┆
0x082e0…08300 61 72 72 61 79 20 6f 72 20 72 65 63 6f 72 64 20 0a 74 79 70 65 20 73 65 76 65 72 61 6c 20 63 6f   ┆array or record  type several co┆
0x08300…08320 6e 73 65 63 75 74 69 76 65 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 6d 61 79 20 62 65 20 70 61 63 6b   ┆nsecutive components may be pack┆
0x08320…08340 65 64 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 62 79 74 65 20 0a 6f 72 20 77 6f 72 64 2e 20   ┆ed into a single byte  or word. ┆
0x08340…08360 4f 6e 6c 79 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 6f 66 20 74 79 70 65 73 20 77 69 74 68 20 73 69   ┆Only components of types with si┆
0x08360…08380 7a 65 20 6c 65 73 73 20 74 68 61 6e 20 31 36 20 28 62 69 74 73 29 20 28 66 6f 72 20 0a 61 72 72   ┆ze less than 16 (bits) (for  arr┆
0x08380…083a0 61 79 73 3a 20 36 20 62 69 74 73 29 20 61 72 65 20 63 61 6e 64 69 64 61 74 65 73 20 66 6f 72 20   ┆ays: 6 bits) are candidates for ┆
0x083a0…083c0 70 61 63 6b 69 6e 67 2e 20 50 61 63 6b 69 6e 67 20 6f 66 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 0a   ┆packing. Packing of components  ┆
0x083c0…083e0 61 6c 77 61 79 73 20 73 74 61 72 74 73 20 66 72 6f 6d 20 62 69 74 20 30 20 28 4d 53 42 29 20 6f   ┆always starts from bit 0 (MSB) o┆
0x083e0…08400 66 20 61 20 62 79 74 65 2c 20 61 6e 64 20 65 61 63 68 20 63 6f 6d 70 6f 6e 65 6e 74 20 69 73 20   ┆f a byte, and each component is ┆
0x08400…08420 0a 61 6c 6c 6f 63 61 74 65 64 20 61 73 20 6d 61 6e 79 20 62 69 74 73 20 61 73 20 69 6e 64 69 63   ┆ allocated as many bits as indic┆
0x08420…08440 61 74 65 64 20 62 79 20 69 74 73 20 73 69 7a 65 2e 20 57 68 65 6e 20 69 74 20 69 73 20 6e 6f 74   ┆ated by its size. When it is not┆
0x08440…08460 20 0a 70 6f 73 73 69 62 6c 65 20 74 6f 20 66 69 74 20 61 6e 79 20 6d 6f 72 65 20 63 6f 6d 70 6f   ┆  possible to fit any more compo┆
0x08460…08480 6e 65 6e 74 73 20 77 69 74 68 6f 75 74 20 63 72 6f 73 73 69 6e 67 20 74 77 6f 20 62 79 74 65 20   ┆nents without crossing two byte ┆
0x08480…084a0 0a 62 6f 75 6e 64 61 72 69 65 73 2c 20 70 61 63 6b 69 6e 67 20 73 74 6f 70 73 20 61 6e 64 20 61   ┆ boundaries, packing stops and a┆
0x084a0…084c0 6c 6c 6f 63 61 74 69 6f 6e 20 69 73 20 72 65 73 75 6d 65 64 20 66 72 6f 6d 20 74 68 65 20 6e 65   ┆llocation is resumed from the ne┆
0x084c0…084e0 78 74 20 0a 62 79 74 65 20 62 6f 75 6e 64 61 72 79 2c 20 69 2e 65 2e 20 62 79 74 65 2d 20 61 6c   ┆xt  byte boundary, i.e. byte- al┆
0x084e0…08500 69 6e 67 6d 65 6e 74 20 74 61 6b 65 73 20 70 6c 61 63 65 2e 20 42 79 20 74 68 69 73 20 72 75 6c   ┆ingment takes place. By this rul┆
0x08500…08520 65 20 75 6e 75 73 65 64 20 0a 73 70 61 63 65 20 6d 61 79 20 62 65 20 6c 65 66 74 20 69 6e 20 74   ┆e unused  space may be left in t┆
0x08520…08540 68 65 20 6c 65 61 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 73 20 6f 66 20 74 68 65   ┆he least significant bits of the┆
0x08540…08560 20 62 79 74 65 2c 20 77 68 65 72 65 20 0a 62 79 74 65 2d 61 6c 69 67 6e 6d 65 6e 74 20 74 6f 6f   ┆ byte, where  byte-alignment too┆
0x08560…08580 6b 20 70 6c 61 63 65 2e 20 0d 0a 0d 0a 4e 6f 74 69 63 65 20 74 68 61 74 20 69 6e 20 74 68 65 20   ┆k place.     Notice that in the ┆
0x08580…085a0 63 75 72 72 65 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 6e 6c 79 20 63 6f 6d 70   ┆current implementation only comp┆
0x085a0…085c0 6f 6e 65 6e 74 73 20 6f 66 20 0a 65 6e 75 6d 65 72 61 74 69 6f 6e 20 74 79 70 65 73 20 61 72 65   ┆onents of  enumeration types are┆
0x085c0…085e0 20 63 61 6e 64 69 64 61 74 65 73 20 66 6f 72 20 70 61 63 6b 69 6e 67 2e 20 0d 0a 0d 0a 54 68 65   ┆ candidates for packing.     The┆
0x085e0…08600 20 6d 65 6d 6f 72 79 20 72 65 71 75 69 72 65 6d 65 6e 74 20 6f 66 20 61 20 70 61 63 6b 65 64 20   ┆ memory requirement of a packed ┆
0x08600…08620 72 65 63 6f 72 64 20 6f 72 20 61 72 72 61 79 20 74 79 70 65 20 69 73 20 61 6c 77 61 79 73 20 0a   ┆record or array type is always  ┆
0x08620…08640 61 74 20 6c 65 61 73 74 20 31 20 62 79 74 65 2e 20 0d 0a 0d 0a 45 78 61 6d 70 6c 65 3a 20 54 68   ┆at least 1 byte.     Example: Th┆
0x08640…08660 65 20 6c 61 79 6f 75 74 20 6f 66 20 76 61 72 69 61 62 6c 65 73 20 6f 66 20 74 68 65 20 66 6f 6c   ┆e layout of variables of the fol┆
0x08660…08680 6c 6f 77 69 6e 67 20 70 61 63 6b 65 64 20 72 65 63 6f 72 64 20 74 79 70 65 20 0a 69 73 20 73 68   ┆lowing packed record type  is sh┆
0x08680…086a0 6f 77 6e 20 69 6e 20 66 69 67 2e 20 33 2e 20 0d 0a 0d 0a 54 59 50 45 20 20 20 20 20 20 71 3d 50   ┆own in fig. 3.     TYPE      q=P┆
0x086a0…086c0 41 43 4b 45 44 20 52 45 43 4f 52 44 61 3a 20 63 68 61 72 3b 62 2c 63 3a 20 30 2e 2e 37 3b 64 3a   ┆ACKED RECORDa: char;b,c: 0..7;d:┆
0x086c0…086e0 20 69 6e 74 65 67 65 72 3b 65 3a 20 72 65 66 65 72 65 6e 63 65 20 20 20 20 20 20 0a 45 4e 44 3b   ┆ integer;e: reference       END;┆
0x086e0…08700 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 8c   ┆                               ї┆
0x08700…08720 8c c8 0a 06 46 69 67 2e 20 20 33 2e 20 4d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 20 66 6f 72 20 70   ┆ї╚  Fig.  3. Memory layout for p┆
0x08720…08740 61 63 6b 65 64 20 72 65 63 6f 72 64 2e 20 4d 28 71 29 3d 31 31 20 0d 0a 0d 0a 0d 0a 16 53 44 0d   ┆acked record. M(q)=11        SD ┆
0x08740…08760 0a 53 65 74 1f 54 79 70 65 73 20 20 20 20 20 20 20 0d 0a 54 68 65 20 6d 65 6d 6f 72 79 20 72 65   ┆ Set Types         The memory re┆
0x08760…08780 71 75 69 72 65 6d 65 6e 74 20 6f 66 20 61 20 73 65 74 20 74 79 70 65 20 69 73 20 61 6c 77 61 79   ┆quirement of a set type is alway┆
0x08780…087a0 73 20 61 6e 20 65 76 65 6e 20 6e 75 6d 62 65 72 20 28 6f 66 20 0a 62 79 74 65 73 29 2c 20 69 2e   ┆s an even number (of  bytes), i.┆
0x087a0…087c0 65 2e 20 61 6e 20 69 6e 74 65 67 72 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 77 6f 72 64 73 20 61   ┆e. an integral number of words a┆
0x087c0…087e0 72 65 20 61 6c 6c 6f 63 61 74 65 64 20 66 6f 72 20 65 61 63 68 20 0a 76 61 72 69 61 62 6c 65 20   ┆re allocated for each  variable ┆
0x087e0…08800 6f 66 20 61 20 73 65 74 20 74 79 70 65 2e 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 77 6f 72   ┆of a set type. The number of wor┆
0x08800…08820 64 73 20 75 73 65 64 20 69 73 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 0a 6e 75 6d 62 65 72 20   ┆ds used is the smallest  number ┆
0x08820…08840 77 68 69 63 68 20 77 69 6c 6c 20 61 63 63 6f 6d 6f 64 61 74 65 20 74 68 65 20 62 69 74 20 76 65   ┆which will accomodate the bit ve┆
0x08840…08860 63 74 6f 72 20 75 73 65 64 20 74 6f 20 72 65 70 72 65 73 65 6e 74 20 76 61 6c 75 65 73 20 0a 6f   ┆ctor used to represent values  o┆
0x08860…08880 66 20 74 68 65 20 73 65 74 20 74 79 70 65 2c 20 63 66 2e 20 73 75 62 73 65 63 74 69 6f 6e 20 33   ┆f the set type, cf. subsection 3┆
0x08880…088a0 2e 31 2e 33 2e 20 54 68 65 20 62 69 74 20 76 65 63 74 6f 72 20 69 73 20 6c 61 69 64 20 6f 75 74   ┆.1.3. The bit vector is laid out┆
0x088a0…088c0 20 77 69 74 68 20 0a 69 6e 64 65 78 20 30 20 69 6e 20 74 68 65 20 6d 6f 73 74 20 73 69 67 6e 69   ┆ with  index 0 in the most signi┆
0x088c0…088e0 66 69 63 61 6e 74 20 62 69 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 77 6f 72 64 2e 20 54 68   ┆ficant bit of the first word. Th┆
0x088e0…08900 65 20 6c 61 73 74 20 77 6f 72 64 20 0a 6d 61 79 20 63 6f 6e 74 61 69 6e 20 61 6e 20 75 6e 75 73   ┆e last word  may contain an unus┆
0x08900…08920 65 64 20 70 6f 72 74 69 6f 6e 20 69 6e 20 69 74 73 20 6c 65 61 73 74 20 73 69 67 6e 69 66 69 63   ┆ed portion in its least signific┆
0x08920…08940 61 6e 74 20 62 69 74 20 70 6f 73 69 74 69 6f 6e 73 2e 20 0a 45 78 61 6d 70 6c 65 3a 20 53 65 65   ┆ant bit positions.  Example: See┆
0x08940…08960 20 66 69 67 2e 20 34 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d   ┆ fig. 4.                        ┆
0x08960…08980 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 06 46 69 67 2e 20 20 34 2e 20 4c 61 79 6f 75 74 20 6f 66 20 61   ┆            Fig.  4. Layout of a┆
0x08980…089a0 20 76 61 72 69 61 62 6c 65 20 6f 66 20 74 68 65 20 74 79 70 65 20 20 06 73 65 74 20 6f 66 20 30   ┆ variable of the type   set of 0┆
0x089a0…089c0 2e 2e 35 30 3b 20 0a 31 33 20 62 69 74 73 20 61 72 65 20 75 6e 75 73 65 64 2e 20 54 68 65 20 06   ┆..50;  13 bits are unused. The  ┆
0x089c0…089e0 6d 65 6d 6f 72 79 20 72 65 71 75 69 72 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 74 79 70 65 20 69   ┆memory requirement of the type i┆
0x089e0…08a00 73 20 38 2e 20 0d 0a 16 53 41 0d 0a 41 56 41 49 4c 41 42 4c 45 20 52 4f 55 54 49 4e 45 53 20 20   ┆s 8.    SA  AVAILABLE ROUTINES  ┆
0x08a00…08a20 20 20 20 20 20 0d 0a 49 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 65 63 74 69 6f 6e 73   ┆       In the following sections┆
0x08a20…08a40 20 61 6c 6c 20 61 76 61 69 6c 61 62 6c 65 20 72 6f 75 74 69 6e 65 73 20 61 72 65 20 64 65 73 63   ┆ all available routines are desc┆
0x08a40…08a60 72 69 62 65 64 2e 20 54 68 65 20 0a 72 6f 75 74 69 6e 65 73 20 61 72 65 20 67 72 6f 75 70 65 64   ┆ribed. The  routines are grouped┆
0x08a60…08a80 20 74 6f 67 65 74 68 65 72 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 63 6f 6d 6d 6f 6e 20 66 75   ┆ together according to common fu┆
0x08a80…08aa0 6e 63 74 69 6f 6e 61 6c 20 0a 63 68 61 72 61 63 74 65 72 69 73 74 69 63 73 3a 20 0d 0a 0d 0a 20   ┆nctional  characteristics:      ┆
0x08aa0…08ac0 20 20 20 20 52 6f 75 74 69 6e 65 73 20 66 6f 72 20 50 72 6f 63 65 73 73 20 43 6f 6e 74 72 6f 6c   ┆    Routines for Process Control┆
0x08ac0…08ae0 2c 20 20 20 20 20 20 43 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 52 6f 75 74 69 6e 65 73 2c 20 20   ┆,      Communication Routines,  ┆
0x08ae0…08b00 20 20 20 20 0a 52 6f 75 74 69 6e 65 73 20 66 6f 72 20 4d 65 73 73 61 67 65 20 4d 61 6e 69 70 75   ┆     Routines for Message Manipu┆
0x08b00…08b20 6c 61 74 69 6f 6e 2c 20 20 20 20 20 20 43 6f 6e 76 65 72 73 69 6f 6e 20 61 6e 64 20 41 72 69 74   ┆lation,      Conversion and Arit┆
0x08b20…08b40 68 6d 65 74 69 63 20 0a 52 6f 75 74 69 6e 65 73 2c 20 20 20 20 20 20 4d 69 73 63 65 6c 6c 61 6e   ┆hmetic  Routines,      Miscellan┆
0x08b40…08b60 65 6f 75 73 20 52 6f 75 74 69 6e 65 73 2c 20 20 20 20 20 20 52 6f 75 74 69 6e 65 73 20 66 6f 72   ┆eous Routines,      Routines for┆
0x08b60…08b80 20 4f 70 65 72 61 74 6f 72 20 0a 43 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 2c 20 20 20 20 20 20 44   ┆ Operator  Communication,      D┆
0x08b80…08ba0 72 69 76 65 72 20 49 6e 70 75 74 2f 4f 75 74 70 75 74 20 52 6f 75 74 69 6e 65 73 2e 20 0d 0a 0d   ┆river Input/Output Routines.    ┆
0x08ba0…08bc0 0a 49 6e 20 74 68 65 20 64 65 73 63 72 69 70 74 69 6f 6e 73 20 6f 6e 65 20 6f 75 74 20 6f 66 20   ┆ In the descriptions one out of ┆
0x08bc0…08be0 74 68 72 65 65 20 61 74 74 72 69 62 75 74 65 73 20 69 73 20 6c 69 73 74 65 64 3a 20 0d 0a 0d 0a   ┆three attributes is listed:     ┆
0x08be0…08c00 50 72 65 64 65 66 69 6e 65 64 3a 20 54 68 65 20 72 6f 75 74 69 6e 65 20 69 73 20 70 72 65 64 65   ┆Predefined: The routine is prede┆
0x08c00…08c20 66 69 6e 65 64 20 61 6e 64 20 6d 61 79 20 62 65 20 75 6e 64 65 72 73 74 6f 6f 64 20 61 73 20 70   ┆fined and may be understood as p┆
0x08c20…08c40 61 72 74 20 0a 6f 66 20 74 68 65 20 6c 61 6e 67 75 61 67 65 2e 20 0d 0a 0d 0a 4e 6f 74 20 70 72   ┆art  of the language.     Not pr┆
0x08c40…08c60 65 64 65 66 69 6e 65 64 3a 20 54 68 65 20 72 6f 75 74 69 6e 65 20 6d 75 73 74 20 62 65 20 64 65   ┆edefined: The routine must be de┆
0x08c60…08c80 63 6c 61 72 65 64 20 69 6e 20 74 68 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 70 61 72 74 20 0a   ┆clared in the declaration part  ┆
0x08c80…08ca0 6f 66 20 61 20 70 72 6f 67 72 61 6d 20 6f 72 20 69 6e 20 61 20 75 73 65 72 20 64 65 66 69 6e 65   ┆of a program or in a user define┆
0x08ca0…08cc0 64 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 49 4f   ┆d environment.     Defined in IO┆
0x08cc0…08ce0 45 4e 56 49 52 3a 20 54 68 65 20 72 6f 75 74 69 6e 65 20 69 73 20 64 65 63 6c 61 72 65 64 20 69   ┆ENVIR: The routine is declared i┆
0x08ce0…08d00 6e 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 0a 49 4f 45 4e 56 49 52 2c 20 77 68 69 63   ┆n the environment  IOENVIR, whic┆
0x08d00…08d20 68 20 6d 61 79 20 62 65 20 75 73 65 64 20 69 6e 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   ┆h may be used in the compilation┆
0x08d20…08d40 20 66 6f 72 20 61 63 63 65 73 73 20 6f 66 20 74 68 65 20 0a 72 6f 75 74 69 6e 65 2e 20 0d 0a 0d   ┆ for access of the  routine.    ┆
0x08d40…08d60 0a 0d 0a 8c 89 f8 0a 0d 0a 16 53 42 0d 0a 52 6f 75 74 69 6e 65 73 20 66 6f 72 20 50 72 6f 63 65   ┆   їЅЭ    SB  Routines for Proce┆
0x08d60…08d80 73 73 20 43 6f 6e 74 72 6f 6c 20 20 20 20 20 20 20 20 0d 0a 54 68 69 73 20 73 65 63 74 69 6f 6e   ┆ss Control          This section┆
0x08d80…08da0 20 64 65 73 63 72 69 62 65 73 20 74 68 65 20 72 6f 75 74 69 6e 65 73 20 66 6f 72 20 63 6f 6e 74   ┆ describes the routines for cont┆
0x08da0…08dc0 72 6f 6c 20 6f 66 20 70 72 6f 63 65 73 73 65 73 20 61 6e 64 20 0a 70 72 6f 63 65 73 73 20 69 6e   ┆rol of processes and  process in┆
0x08dc0…08de0 63 61 72 6e 61 74 69 6f 6e 73 2e 20 45 78 63 65 70 74 69 6f 6e 20 68 61 6e 64 6c 69 6e 67 20 69   ┆carnations. Exception handling i┆
0x08de0…08e00 73 20 64 65 73 63 72 69 62 65 64 2c 20 61 6e 64 20 61 20 62 61 73 69 63 20 0a 64 65 62 75 67 20   ┆s described, and a basic  debug ┆
0x08e00…08e20 74 6f 6f 6c 20 28 54 52 41 43 45 29 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 42 72 65 61 6b   ┆tool (TRACE).          SC  Break┆
0x08e20…08e40 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 62 72 65 61 6b 28 56 41 52 20 73 68 3a 20 73 68 61 64 6f   ┆   PROCEDURE break(VAR sh: shado┆
0x08e40…08e60 77 3b 20 65 78 63 6f 64 65 3a 20 69 6e 74 65 67 65 72 29 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69   ┆w; excode: integer);     Predefi┆
0x08e60…08e80 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 73 74 6f 70 73 20 74 68 65 20 63 68 69 6c 64   ┆ned.          - ёstops the child┆
0x08e80…08ea0 20 61 6e 64 20 73 74 61 72 74 73 20 69 74 20 69 6e 20 74 68 65 20 65 78 63 65 70 74 69 6f 6e 20   ┆ and starts it in the exception ┆
0x08ea0…08ec0 70 72 6f 63 65 64 75 72 65 20 28 73 65 65 20 0a 19 85 80 80 45 58 43 45 50 54 49 4f 4e 29 2e 20   ┆procedure (see   ЁђђEXCEPTION). ┆
0x08ec0…08ee0 49 66 20 30 20 3c 3d 20 65 78 63 6f 64 65 20 61 6e 64 20 65 78 63 6f 64 65 20 3c 3d 20 62 72 65   ┆If 0 <= excode and excode <= bre┆
0x08ee0…08f00 61 6b 5f 62 79 5f 66 61 74 68 65 72 2c 20 74 68 65 20 0a 19 85 80 80 63 68 69 6c 64 20 77 69 6c   ┆ak_by_father, the   Ёђђchild wil┆
0x08f00…08f20 6c 20 67 6f 20 69 6e 74 6f 20 74 68 65 20 65 78 69 74 20 73 74 61 74 65 3b 20 6f 74 68 65 72 77   ┆l go into the exit state; otherw┆
0x08f20…08f40 69 73 65 20 74 68 65 20 63 68 69 6c 64 20 77 69 6c 6c 20 0a 19 85 80 80 63 6f 6e 74 69 6e 75 65   ┆ise the child will   Ёђђcontinue┆
0x08f40…08f60 2e 20 0d 0a 16 53 43 0d 0a 43 72 65 61 74 65 0d 0a 46 55 4e 43 54 49 4f 4e 20 63 72 65 61 74 65   ┆.    SC  Create  FUNCTION create┆
0x08f60…08f80 20 28 69 6e 63 61 72 6e 61 74 69 6f 6e 5f 6e 61 6d 65 3a 20 61 6c 66 61 3b 20 20 20 20 20 20 20   ┆ (incarnation_name: alfa;       ┆
0x08f80…08fa0 20 70 72 6f 63 65 73 73 20 6e 61 6d 65 20 0a 28 61 63 74 75 61 6c 20 70 61 72 61 6d 65 74 65 72   ┆ process name  (actual parameter┆
0x08fa0…08fc0 73 29 3b 20 20 20 20 20 20 20 20 56 41 52 20 73 68 3a 20 73 68 61 64 6f 77 3b 20 20 20 20 20 20   ┆s);        VAR sh: shadow;      ┆
0x08fc0…08fe0 20 20 73 69 7a 65 3a 20 69 6e 74 65 67 65 72 29 3a 20 0a 69 6e 74 65 67 65 72 3b 20 0d 0a 0d 0a   ┆  size: integer):  integer;     ┆
0x08fe0…09000 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 41 20 6e 65 77 20 69 6e   ┆Predefined.          - ёA new in┆
0x09000…09020 63 61 72 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 6c 69 6e 6b 65 64 20   ┆carnation of the process linked ┆
0x09020…09040 74 6f 20 27 70 72 6f 63 65 73 73 20 6e 61 6d 65 27 20 69 73 20 0a 19 85 80 80 63 72 65 61 74 65   ┆to 'process name' is   Ёђђcreate┆
0x09040…09060 64 2e 20 54 68 65 20 27 73 69 7a 65 27 20 70 61 72 61 6d 65 74 65 72 20 73 70 65 63 69 66 69 65   ┆d. The 'size' parameter specifie┆
0x09060…09080 73 20 74 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 73 74 6f 72 61 67 65 20 0a 19 85 80 80 66 6f 72   ┆s the amount of storage   Ёђђfor┆
0x09080…090a0 20 68 6f 6c 64 69 6e 67 20 74 68 65 20 72 75 6e 74 69 6d 65 20 73 74 61 63 6b 2e 20 54 68 65 20   ┆ holding the runtime stack. The ┆
0x090a0…090c0 73 74 61 63 6b 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 77 69 74 68 20 74 68 65 20 0a 19   ┆stack is initialized with the   ┆
0x090c0…090e0 85 80 80 61 63 74 75 61 6c 20 70 61 72 61 6d 65 74 65 72 73 20 61 6e 64 20 76 61 72 69 6f 75 73   ┆Ёђђactual parameters and various┆
0x090e0…09100 20 61 64 6d 69 6e 69 73 74 72 61 74 69 76 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 54 68 65   ┆ administrative information. The┆
0x09100…09120 20 0a 19 85 80 80 69 6e 63 61 72 6e 61 74 69 6f 6e 20 6e 61 6d 65 20 66 69 65 6c 64 20 69 6e 20   ┆   Ёђђincarnation name field in ┆
0x09120…09140 74 68 65 20 73 74 61 63 6b 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 74 6f 20 0a 19 85 80   ┆the stack is initialized to   Ёђ┆
0x09140…09160 80 27 69 6e 63 61 72 6e 61 74 69 6f 6e 5f 6e 61 6d 65 27 20 61 6e 64 20 74 68 65 20 73 74 61 74   ┆ђ'incarnation_name' and the stat┆
0x09160…09180 65 20 74 6f 20 73 74 6f 70 70 65 64 2e 20 0d 0a 0d 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 72   ┆e to stopped.     The function r┆
0x09180…091a0 65 74 75 72 6e 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 65 73 75 6c 74 73 3a 20 0d 0a   ┆eturns the following results:   ┆
0x091a0…091c0 0d 0a 52 65 73 75 6c 74 73 20 20 4d 65 61 6e 69 6e 67 20 1f 1f 1f 1f 30 1f 1f 1f 1f 4f 6b 2c 20   ┆  Results  Meaning     0    Ok, ┆
0x091c0…091e0 69 6e 63 61 72 6e 61 74 69 6f 6e 20 63 72 65 61 74 65 64 20 1f 1f 1f 1f 31 1f 1f 1f 1f 54 68 65   ┆incarnation created     1    The┆
0x091e0…09200 20 0a 73 68 61 64 6f 77 20 76 61 72 69 61 62 6c 65 20 77 61 73 20 6e 6f 74 20 6e 69 6c 20 1f 1f   ┆  shadow variable was not nil   ┆
0x09200…09220 1f 1f 32 1f 1f 1f 1f 54 68 65 20 70 72 6f 63 65 73 73 20 77 61 73 20 6e 6f 74 20 6c 69 6e 6b 65   ┆  2    The process was not linke┆
0x09220…09240 64 20 0a 1f 1f 1f 1f 33 1f 1f 1f 1f 4e 6f 20 73 74 6f 72 61 67 65 20 6f 72 20 64 65 6d 61 6e 64   ┆d      3    No storage or demand┆
0x09240…09260 65 64 20 73 69 7a 65 20 74 6f 6f 20 73 6d 61 6c 6c 20 0d 0a 0d 0a 54 68 65 20 27 73 69 7a 65 27   ┆ed size too small     The 'size'┆
0x09260…09280 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 69 6e 64 69 63 61 74 65 64 20 69 6e 20 77 6f 72 64 73   ┆ parameter is indicated in words┆
0x09280…092a0 2e 20 54 68 65 20 6d 61 78 69 6d 75 6d 20 73 69 7a 65 20 61 6e 20 0a 69 6e 63 61 72 6e 61 74 69   ┆. The maximum size an  incarnati┆
0x092a0…092c0 6f 6e 20 73 74 61 63 6b 20 63 61 6e 20 74 61 6b 65 20 69 73 20 33 32 20 4b 20 77 6f 72 64 73 2c   ┆on stack can take is 32 K words,┆
0x092c0…092e0 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 61 6c 6c 6f 63 61 74 65 64 20 69 66 20 0a 27 73 69   ┆ which will be allocated if  'si┆
0x092e0…09300 7a 65 27 20 69 73 20 6e 65 67 61 74 69 76 65 2e 20 0d 0a 0d 0a 49 66 20 27 73 69 7a 65 27 20 65   ┆ze' is negative.     If 'size' e┆
0x09300…09320 71 75 61 6c 73 20 7a 65 72 6f 2c 20 61 20 63 6f 6d 70 69 6c 65 72 20 63 61 6c 63 75 6c 61 74 65   ┆quals zero, a compiler calculate┆
0x09320…09340 64 20 64 65 66 61 75 6c 74 20 63 72 65 61 74 65 20 73 69 7a 65 20 77 69 6c 6c 20 0a 62 65 20 75   ┆d default create size will  be u┆
0x09340…09360 73 65 64 2e 20 0d 0a 0d 0a 43 6f 6e 73 75 6c 74 20 61 70 70 65 6e 64 69 78 20 42 2e 31 20 6f 70   ┆sed.     Consult appendix B.1 op┆
0x09360…09380 74 69 6f 6e 20 73 74 61 63 6b 2e 3c 61 70 70 65 74 69 74 65 3e 20 66 6f 72 20 63 61 6c 63 75 6c   ┆tion stack.<appetite> for calcul┆
0x09380…093a0 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 0a 64 65 66 61 75 6c 74 20 63 72 65 61 74 65 20 73 69 7a   ┆ation of the  default create siz┆
0x093a0…093c0 65 2e 20 0d 0a 0d 0a 0d 0a 0d 0a a1 45 78 61 6d 70 6c 65 20 20 31 2e 20 20 43 52 45 41 54 45 20   ┆e.         АExample  1.  CREATE ┆
0x093c0…093e0 e1 20 20 50 52 4f 43 45 53 53 20 65 78 61 6d 70 6c 65 31 20 28 56 41 52 20 6d 79 73 65 6d 20 3a   ┆р  PROCESS example1 (VAR mysem :┆
0x093e0…09400 20 0a 73 65 6d 61 70 68 6f 72 65 29 3b 20 20 20 20 20 43 4f 4e 53 54 20 20 20 20 20 73 69 7a 65   ┆  semaphore);     CONST     size┆
0x09400…09420 20 3d 20 32 33 38 3b 20 20 20 20 20 6f 6b 20 20 20 3d 20 30 3b 20 20 20 20 20 56 41 52 20 20 20   ┆ = 238;     ok   = 0;     VAR   ┆
0x09420…09440 20 20 0a 63 68 69 6c 64 73 65 6d 20 3a 20 73 65 6d 61 70 68 6f 72 65 3b 20 20 20 20 20 73 68 20   ┆   childsem : semaphore;     sh ┆
0x09440…09460 20 20 20 20 20 20 3a 20 73 68 61 64 6f 77 3b 20 20 20 20 20 50 52 4f 43 45 53 53 20 0a 65 78 61   ┆      : shadow;     PROCESS  exa┆
0x09460…09480 6d 70 6c 65 31 31 20 28 56 41 52 20 73 31 2c 20 73 32 20 3a 20 73 65 6d 61 70 68 6f 72 65 29 3b   ┆mple11 (VAR s1, s2 : semaphore);┆
0x09480…094a0 20 20 20 42 45 47 49 4e 20 20 20 20 20 20 20 28 2a 20 62 6f 64 79 20 6f 66 20 0a 69 6e 74 65 72   ┆   BEGIN       (* body of  inter┆
0x094a0…094c0 6e 61 6c 20 70 72 6f 63 65 73 73 20 2a 29 20 20 20 45 4e 44 3b 20 20 20 20 20 42 45 47 49 4e 20   ┆nal process *)   END;     BEGIN ┆
0x094c0…094e0 20 20 20 20 49 46 20 63 72 65 61 74 65 20 28 27 63 68 69 6c 64 27 2c 20 0a 8c 8a c0 0a 65 78 61   ┆    IF create ('child',  їі└ exa┆
0x094e0…09500 6d 70 6c 65 31 31 20 28 6d 79 73 65 6d 2c 20 63 68 69 6c 64 73 65 6d 29 2c 20 20 20 20 20 20 20   ┆mple11 (mysem, childsem),       ┆
0x09500…09520 73 68 2c 20 73 69 7a 65 29 20 3d 20 6f 6b 20 54 48 45 4e 3b 20 20 20 45 4e 44 3b 20 28 2a 20 0a   ┆sh, size) = ok THEN;   END; (*  ┆
0x09520…09540 65 78 61 6d 70 6c 65 31 20 2a 29 20 20 20 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 45 78 63   ┆example1 *)   .          SC  Exc┆
0x09540…09560 65 70 74 69 6f 6e 20 20 20 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 65 78 63 65 70 74 69   ┆eption         PROCEDURE excepti┆
0x09560…09580 6f 6e 20 28 65 78 63 6f 64 65 3a 20 69 6e 74 65 67 65 72 29 3b 20 0d 0a 0d 0a 0d 0a 20 20 20 2d   ┆on (excode: integer);          -┆
0x09580…095a0 20 84 41 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 6f 66 20 73 75 63 68 20 61 20 70 72 6f 63 65 64   ┆ ёA declaration of such a proced┆
0x095a0…095c0 75 72 65 20 63 61 75 73 65 73 20 74 68 65 20 72 75 6e 74 69 6d 65 20 73 79 73 74 65 6d 20 74 6f   ┆ure causes the runtime system to┆
0x095c0…095e0 20 0a 19 85 80 80 63 61 6c 6c 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 2c 20 77 68 65 6e 20 61   ┆   Ёђђcall the procedure, when a┆
0x095e0…09600 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 2e 20 0d 0a 0d 0a 49 66 20 74 68 65 20 75   ┆n exception occurs.     If the u┆
0x09600…09620 73 65 72 20 68 61 73 20 6e 6f 74 20 64 65 63 6c 61 72 65 64 20 61 6e 20 65 78 63 65 70 74 69 6f   ┆ser has not declared an exceptio┆
0x09620…09640 6e 20 70 72 6f 63 65 64 75 72 65 2c 20 61 20 73 74 61 6e 64 61 72 64 20 0a 65 78 63 65 70 74 69   ┆n procedure, a standard  excepti┆
0x09640…09660 6f 6e 20 70 72 6f 63 65 64 75 72 65 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64 2e 20 54 68 65   ┆on procedure will be called. The┆
0x09660…09680 20 73 74 61 6e 64 61 72 64 20 70 72 6f 63 65 64 75 72 65 20 6d 61 79 20 61 6c 73 6f 20 0a 62 65   ┆ standard procedure may also  be┆
0x09680…096a0 20 63 61 6c 6c 65 64 20 61 73 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 54 52 41 43 45 2e 20   ┆ called as the procedure TRACE. ┆
0x096a0…096c0 0d 0a 0d 0a 54 68 65 20 73 74 61 6e 64 61 72 64 20 65 78 63 65 70 74 69 6f 6e 20 70 72 6f 63 65   ┆    The standard exception proce┆
0x096c0…096e0 64 75 72 65 20 61 63 74 69 76 61 74 65 73 20 74 68 65 20 65 78 63 65 70 74 69 6f 6e 20 70 72 6f   ┆dure activates the exception pro┆
0x096e0…09700 63 65 73 73 20 0a 77 68 69 63 68 20 70 72 6f 64 75 63 65 73 20 6f 75 74 70 75 74 20 77 69 74 68   ┆cess  which produces output with┆
0x09700…09720 20 74 68 65 20 66 6f 72 6d 61 74 3a 20 0d 0a 0d 0a 73 79 73 74 65 6d 20 63 6c 6f 63 6b 20 69 6e   ┆ the format:     system clock in┆
0x09720…09740 63 61 72 6e 61 74 69 6f 6e 20 6e 61 6d 65 20 3e 3e 20 65 78 63 65 70 74 69 6f 6e 2c 20 65 78 63   ┆carnation name >> exception, exc┆
0x09740…09760 6f 64 65 3d 63 6f 64 65 3a 20 65 72 72 6f 72 20 74 65 78 74 20 0a 67 66 3d 20 2e 2e 2e 2e 2e 2c   ┆ode=code: error text  gf= .....,┆
0x09760…09780 20 74 6f 70 3d 20 2e 2e 2e 2e 2c 20 63 6f 64 65 3d 20 2e 2e 2e 20 63 61 6c 6c 65 64 20 66 72 6f   ┆ top= ...., code= ... called fro┆
0x09780…097a0 6d 3a 20 2e 2e 2e 2e 2e 2c 20 69 63 3d 20 2e 2e 2e 2e 2c 20 6c 69 6e 65 20 2e 2e 2e 2d 2e 2e 2e   ┆m: ....., ic= ...., line ...-...┆
0x097a0…097c0 20 2c 20 64 61 74 65 20 20 20 20 0a 2e 20 20 20 20 2e 20 20 20 20 2e 20 0d 0a 0d 0a 0d 0a 20 20   ┆ , date     .    .    .         ┆
0x097c0…097e0 20 2d 20 84 27 73 79 73 74 65 6d 20 63 6c 6f 63 6b 27 20 69 73 20 74 68 65 20 63 75 72 72 65 6e   ┆ - ё'system clock' is the curren┆
0x097e0…09800 74 20 76 61 6c 75 65 20 6f 66 20 67 6c 6f 62 61 6c 20 64 61 74 65 20 61 6e 64 20 74 69 6d 65 20   ┆t value of global date and time ┆
0x09800…09820 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 27 63 6f 64 65 27 20 61 6e 64 20 27 65 72 72 6f 72 20 74 65   ┆         - ё'code' and 'error te┆
0x09820…09840 78 74 27 20 61 72 65 20 74 68 65 20 61 63 74 75 61 6c 20 65 78 63 65 70 74 69 6f 6e 20 63 6f 64   ┆xt' are the actual exception cod┆
0x09840…09860 65 20 61 6e 64 20 74 68 65 20 0a 19 85 80 80 6d 65 61 6e 69 6e 67 20 6f 66 20 74 68 65 20 63 6f   ┆e and the   Ёђђmeaning of the co┆
0x09860…09880 64 65 3b 20 73 6f 6d 65 20 6f 66 20 74 68 65 20 74 65 78 74 73 20 69 6e 63 6c 75 64 65 20 69 6e   ┆de; some of the texts include in┆
0x09880…098a0 66 6f 72 6d 61 74 69 6f 6e 20 0a 19 85 80 80 61 62 6f 75 74 20 74 68 65 20 6f 70 65 72 61 6e 64   ┆formation   Ёђђabout the operand┆
0x098a0…098c0 73 20 77 68 69 63 68 20 63 61 75 73 65 64 20 74 68 65 20 65 78 63 65 70 74 69 6f 6e 2e 20 28 54   ┆s which caused the exception. (T┆
0x098c0…098e0 68 65 20 70 6f 73 73 69 62 6c 65 20 0a 19 85 80 80 74 65 78 74 73 20 6d 61 79 20 62 65 20 73 65   ┆he possible   Ёђђtexts may be se┆
0x098e0…09900 65 6e 20 69 6e 20 61 70 70 65 6e 64 69 78 20 4c 29 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 27   ┆en in appendix L).          - ё'┆
0x09900…09920 67 66 27 20 61 6e 64 20 27 74 6f 70 27 20 61 72 65 20 73 74 61 63 6b 20 72 65 66 65 72 65 6e 63   ┆gf' and 'top' are stack referenc┆
0x09920…09940 65 73 2c 20 61 6e 64 20 74 68 65 20 6e 75 6d 62 65 72 20 61 66 74 65 72 20 27 63 6f 64 65 27 20   ┆es, and the number after 'code' ┆
0x09940…09960 0a 19 85 80 80 69 73 20 74 68 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 77 68 69 63 68 20 63 61   ┆  Ёђђis the instruction which ca┆
0x09960…09980 75 73 65 64 20 74 68 65 20 65 78 63 65 70 74 69 6f 6e 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84   ┆used the exception.          - ё┆
0x09980…099a0 54 68 65 20 6c 69 73 74 20 6f 66 20 27 63 61 6c 6c 65 64 20 66 72 6f 6d 2e 2e 2e 27 20 69 73 20   ┆The list of 'called from...' is ┆
0x099a0…099c0 74 68 65 20 64 79 6e 61 6d 69 63 20 63 68 61 69 6e 20 6f 66 20 72 6f 75 74 69 6e 65 20 0a 19 85   ┆the dynamic chain of routine   Ё┆
0x099c0…099e0 80 80 61 63 74 69 76 61 74 69 6f 6e 73 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 27 69 63 27 20   ┆ђђactivations.          - ё'ic' ┆
0x099e0…09a00 61 6e 64 20 27 6c 69 6e 65 20 2e 2e 2e 2d 2e 2e 2e 27 20 61 72 65 20 61 6e 20 69 64 65 6e 74 69   ┆and 'line ...-...' are an identi┆
0x09a00…09a20 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 61 6c 6c 73 2e 20 0d 0a 0d 0a 0d 0a 20 20 20   ┆fication of the calls.          ┆
0x09a20…09a40 2d 20 84 27 64 61 74 65 27 20 69 73 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 64 61 74   ┆- ё'date' is the compilation dat┆
0x09a40…09a60 65 20 6f 66 20 74 68 65 20 6d 6f 64 75 6c 65 73 20 69 6e 20 71 75 65 73 74 69 6f 6e 2e 20 0d 0a   ┆e of the modules in question.   ┆
0x09a60…09a80 0d 0a 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 69 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 73   ┆  Furthermore, if the process is┆
0x09a80…09aa0 20 65 78 74 65 72 6e 61 6c 20 6c 69 6e 6b 65 64 2c 20 70 72 69 6e 74 6f 75 74 20 6f 66 20 64 61   ┆ external linked, printout of da┆
0x09aa0…09ac0 74 65 2c 20 74 69 6d 65 2c 20 0a 61 6e 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 73 6f   ┆te, time,  and version of the so┆
0x09ac0…09ae0 75 72 63 65 20 69 73 20 61 70 70 65 6e 64 65 64 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 4c   ┆urce is appended.          SC  L┆
0x09ae0…09b00 69 6e 6b 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 6c 69 6e 6b 20 28 65 78 74 65 72 6e 61 6c 5f 6e   ┆ink    FUNCTION link (external_n┆
0x09b00…09b20 61 6d 65 3a 20 61 6c 66 61 3b 20 70 72 6f 63 65 73 73 20 6e 61 6d 65 29 3a 20 69 6e 74 65 67 65   ┆ame: alfa; process name): intege┆
0x09b20…09b40 72 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 54   ┆r;     Predefined.          - ёT┆
0x09b40…09b60 68 65 20 70 72 6f 63 65 73 73 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 27 65 78 74 65 72 6e   ┆he process identified by 'extern┆
0x09b60…09b80 61 6c 5f 6e 61 6d 65 27 20 69 73 20 73 65 61 72 63 68 65 64 20 66 6f 72 20 69 6e 20 74 68 65 20   ┆al_name' is searched for in the ┆
0x09b80…09ba0 0a 19 85 80 80 4c 49 4e 4b 45 52 20 63 61 74 61 6c 6f 67 2e 20 49 66 20 66 6f 75 6e 64 20 74 68   ┆  ЁђђLINKER catalog. If found th┆
0x09ba0…09bc0 65 20 70 72 6f 63 65 73 73 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 0a 19 85 80 80 27 65 78   ┆e process identified by   Ёђђ'ex┆
0x09bc0…09be0 74 65 72 6e 61 6c 5f 6e 61 6d 65 27 20 69 73 20 6c 69 6e 6b 65 64 20 74 6f 20 27 70 72 6f 63 65   ┆ternal_name' is linked to 'proce┆
0x09be0…09c00 73 73 20 6e 61 6d 65 27 2e 20 0d 0a 0d 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72   ┆ss name'.     The function retur┆
0x09c00…09c20 6e 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 65 73 75 6c 74 73 3a 20 0d 0a 0d 0a 8c 8b   ┆ns the following results:     їІ┆
0x09c20…09c40 e8 0a 52 65 73 75 6c 74 73 20 20 4d 65 61 6e 69 6e 67 20 1f 1f 1f 1f 30 1f 1f 1f 1f 50 72 6f 63   ┆У Results  Meaning     0    Proc┆
0x09c40…09c60 65 73 73 20 6c 69 6e 6b 65 64 20 1f 1f 1f 1f 31 1f 1f 1f 1f 50 72 6f 63 65 73 73 20 6e 61 6d 65   ┆ess linked     1    Process name┆
0x09c60…09c80 20 77 69 74 68 20 0a 27 65 78 74 65 72 6e 61 6c 5f 6e 61 6d 65 27 20 77 61 73 20 6e 6f 74 20 1f   ┆ with  'external_name' was not  ┆
0x09c80…09ca0 1f 1f 1f 1f 1f 1f 1f 1f 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 4c 49 4e 4b 45 52 20 63 61 74 61   ┆        found in the LINKER cata┆
0x09ca0…09cc0 6c 6f 67 2e 20 0a 1f 1f 1f 1f 33 1f 1f 1f 1f 50 72 6f 63 65 73 73 20 77 69 74 68 20 6e 61 6d 65   ┆log.      3    Process with name┆
0x09cc0…09ce0 20 27 65 78 74 65 72 6e 61 6c 5f 6e 61 6d 65 27 20 69 73 20 69 6e 20 74 68 65 20 0a 1f 1f 1f 1f   ┆ 'external_name' is in the      ┆
0x09ce0…09d00 1f 1f 1f 1f 1f 4c 49 4e 4b 45 52 20 63 61 74 61 6c 6f 67 2c 20 62 75 74 20 74 68 65 20 6e 75 6d   ┆     LINKER catalog, but the num┆
0x09d00…09d20 62 65 72 20 6f 66 20 70 61 72 61 6d 65 74 65 72 73 20 1f 1f 1f 1f 1f 1f 1f 1f 1f 6f 72 20 0a 74   ┆ber of parameters          or  t┆
0x09d20…09d40 68 65 20 74 79 70 65 20 6f 66 20 70 61 72 61 6d 65 74 65 72 73 20 64 6f 20 6e 6f 20 6d 61 74 63   ┆he type of parameters do no matc┆
0x09d40…09d60 68 2e 20 1f 1f 1f 1f 36 1f 1f 1f 1f 41 20 70 72 6f 63 65 73 73 20 69 73 20 61 6c 72 65 61 64 79   ┆h.     6    A process is already┆
0x09d60…09d80 20 0a 6c 69 6e 6b 65 64 20 74 6f 20 70 72 6f 63 65 73 73 20 6e 61 6d 65 2e 20 0d 0a 0d 0a 0d 0a   ┆  linked to process name.       ┆
0x09d80…09da0 0d 0a a1 45 78 61 6d 70 6c 65 20 20 32 2e 20 20 4c 49 4e 4b 20 e1 20 20 50 52 4f 43 45 53 53 20   ┆  АExample  2.  LINK р  PROCESS ┆
0x09da0…09dc0 65 78 61 6d 70 6c 65 32 3b 20 20 20 20 20 43 4f 4e 53 54 20 20 20 20 20 0a 64 65 66 61 75 6c 74   ┆example2;     CONST      default┆
0x09dc0…09de0 5f 73 69 7a 65 20 3d 20 30 3b 20 20 20 20 20 6f 6b 20 3d 20 30 3b 20 20 20 20 20 56 41 52 20 20   ┆_size = 0;     ok = 0;     VAR  ┆
0x09de0…09e00 20 20 20 73 65 6d 20 3a 20 73 65 6d 61 70 68 6f 72 65 3b 20 20 20 20 20 73 68 20 20 3a 20 0a 73   ┆   sem : semaphore;     sh  :  s┆
0x09e00…09e20 68 61 64 6f 77 3b 20 20 20 20 20 50 52 4f 43 45 53 53 20 65 78 61 6d 70 6c 65 32 31 20 28 56 41   ┆hadow;     PROCESS example21 (VA┆
0x09e20…09e40 52 20 73 20 3a 20 73 65 6d 61 70 68 6f 72 65 29 3b 20 20 20 45 58 54 45 52 4e 41 4c 3b 20 20 20   ┆R s : semaphore);   EXTERNAL;   ┆
0x09e40…09e60 0a 42 45 47 49 4e 20 20 20 20 20 49 46 20 6c 69 6e 6b 20 28 27 70 72 6f 67 72 61 6d 32 31 27 2c   ┆ BEGIN     IF link ('program21',┆
0x09e60…09e80 20 65 78 61 6d 70 6c 65 32 31 29 20 3d 20 6f 6b 20 54 48 45 4e 20 20 20 20 20 20 20 49 46 20 0a   ┆ example21) = ok THEN       IF  ┆
0x09e80…09ea0 63 72 65 61 74 65 20 28 27 63 68 69 6c 64 27 2c 20 65 78 61 6d 70 6c 65 32 31 20 28 73 65 6d 29   ┆create ('child', example21 (sem)┆
0x09ea0…09ec0 2c 20 20 20 20 20 20 20 20 20 73 68 2c 20 64 65 66 61 75 6c 74 5f 73 69 7a 65 29 20 3d 20 6f 6b   ┆,         sh, default_size) = ok┆
0x09ec0…09ee0 20 54 48 45 4e 20 20 20 0a 45 4e 44 3b 20 28 2a 20 65 78 61 6d 70 6c 65 32 20 2a 29 20 20 20 2e   ┆ THEN    END; (* example2 *)   .┆
0x09ee0…09f00 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 50 69 33 5f 67 65 74 20 20 20 20 20 20 20 20 20 0d 0a   ┆          SC  Pi3_get           ┆
0x09f00…09f20 46 55 4e 43 54 49 4f 4e 20 70 69 33 5f 67 65 74 20 28 70 72 6f 63 65 73 73 20 6e 61 6d 65 3b 20   ┆FUNCTION pi3_get (process name; ┆
0x09f20…09f40 20 20 20 20 20 70 61 67 65 6e 6f 20 3a 20 69 6e 74 65 67 65 72 3b 20 20 20 20 20 20 56 41 52 20   ┆     pageno : integer;      VAR ┆
0x09f40…09f60 0a 62 75 66 66 65 72 20 3a 20 72 65 66 65 72 65 6e 63 65 29 20 3a 20 69 6e 74 65 67 65 72 3b 20   ┆ buffer : reference) : integer; ┆
0x09f60…09f80 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84   ┆    Not predefined.          - ё┆
0x09f80…09fa0 50 61 67 65 20 6e 75 6d 62 65 72 20 27 70 61 67 65 6e 6f 27 20 69 73 20 72 65 74 75 72 6e 65 64   ┆Page number 'pageno' is returned┆
0x09fa0…09fc0 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 20 69 6e 20 6c 6f 63 61 74 69 6f 6e 73 20 0a 19 85 80   ┆ in the buffer in locations   Ёђ┆
0x09fc0…09fe0 80 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 27 66 69 72 73 74 27 20 61 6e 64 20 27 6c   ┆ђspecified by the 'first' and 'l┆
0x09fe0…0a000 61 73 74 27 20 61 74 74 72 69 62 75 74 65 73 2e 20 27 4e 65 78 74 27 20 69 73 20 69 6e 69 74 69   ┆ast' attributes. 'Next' is initi┆
0x0a000…0a020 61 6c 69 7a 65 64 20 0a 19 85 80 80 74 6f 20 74 68 65 20 74 6f 70 20 69 6e 64 65 78 20 6f 66 20   ┆alized   Ёђђto the top index of ┆
0x0a020…0a040 74 68 65 20 61 63 74 75 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 74 72 61 6e 73   ┆the actual number of bytes trans┆
0x0a040…0a060 66 65 72 72 65 64 2e 20 0d 0a 0d 0a 52 65 73 75 6c 74 73 20 20 4d 65 61 6e 69 6e 67 20 1f 1f 1f   ┆ferred.     Results  Meaning    ┆
0x0a060…0a080 1f 30 1f 1f 1f 1f 4f 4b 20 1f 1f 1f 1f 31 1f 1f 1f 1f 54 68 65 20 70 72 6f 63 65 73 73 20 69 73   ┆ 0    OK     1    The process is┆
0x0a080…0a0a0 20 6e 6f 74 20 6c 69 6e 6b 65 64 2e 20 0a 1f 1f 1f 1f 32 1f 1f 1f 1f 49 6c 6c 65 67 61 6c 20 6b   ┆ not linked.      2    Illegal k┆
0x0a0a0…0a0c0 69 6e 64 2e 20 54 68 65 20 70 72 6f 63 65 73 73 20 69 73 20 6e 6f 74 20 20 1f 1f 1f 1f 1f 1f 1f   ┆ind. The process is not         ┆
0x0a0c0…0a0e0 1f 1f 6c 69 6e 6b 65 64 20 62 79 20 61 20 63 61 6c 6c 20 0a 6f 66 20 50 49 33 4c 49 4e 4b 2e 20   ┆  linked by a call  of PI3LINK. ┆
0x0a0e0…0a100 1f 1f 1f 1f 33 1f 1f 1f 1f 4c 61 73 74 20 70 61 67 65 2e 20 54 68 65 20 62 75 66 66 65 72 20 63   ┆    3    Last page. The buffer c┆
0x0a100…0a120 6f 6e 74 61 69 6e 73 20 1f 1f 1f 1f 1f 1f 1f 1f 1f 74 68 65 20 0a 6c 61 73 74 20 70 61 67 65 20   ┆ontains          the  last page ┆
0x0a120…0a140 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 2e 20 1f 1f 1f 1f 34 1f 1f 1f 1f 49 6c 6c 65 67 61 6c   ┆of the program.     4    Illegal┆
0x0a140…0a160 20 70 61 67 65 2e 20 27 50 61 67 65 6e 6f 27 20 69 73 20 6f 75 74 73 69 64 65 20 0a 1f 1f 1f 1f   ┆ page. 'Pageno' is outside      ┆
0x0a160…0a180 1f 1f 1f 1f 1f 74 68 65 20 72 61 6e 67 65 20 31 2e 2e 6c 61 73 74 70 61 67 65 2e 20 0d 0a 0d 0a   ┆     the range 1..lastpage.     ┆
0x0a180…0a1a0 0d 0a 0d 0a 16 53 43 0d 0a 50 69 33 5f 6c 69 6e 6b 20 20 20 20 20 20 20 20 0d 0a 46 55 4e 43 54   ┆     SC  Pi3_link          FUNCT┆
0x0a1a0…0a1c0 49 4f 4e 20 70 69 33 5f 6c 69 6e 6b 20 28 65 78 74 65 72 6e 61 6c 5f 6e 61 6d 65 20 3a 20 61 6c   ┆ION pi3_link (external_name : al┆
0x0a1c0…0a1e0 66 61 3b 20 20 20 20 20 20 70 72 6f 63 65 73 73 20 6e 61 6d 65 29 20 3a 20 0a 69 6e 74 65 67 65   ┆fa;      process name) :  intege┆
0x0a1e0…0a200 72 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20   ┆r;     Not predefined.          ┆
0x0a200…0a220 2d 20 84 54 68 65 20 70 72 6f 67 72 61 6d 20 6f 66 20 6b 69 6e 64 20 44 41 54 41 20 69 64 65 6e   ┆- ёThe program of kind DATA iden┆
0x0a220…0a240 74 69 66 69 65 64 20 62 79 20 27 65 78 74 65 72 6e 61 6c 6e 61 6d 65 27 20 69 73 20 0a 19 85 80   ┆tified by 'externalname' is   Ёђ┆
0x0a240…0a260 80 73 65 61 72 63 68 65 64 20 66 6f 72 20 69 6e 20 74 68 65 20 4c 49 4e 4b 45 52 20 63 61 74 61   ┆ђsearched for in the LINKER cata┆
0x0a260…0a280 6c 6f 67 2e 20 49 66 20 66 6f 75 6e 64 2c 20 74 68 65 20 70 72 6f 67 72 61 6d 20 0a 19 85 80 80   ┆log. If found, the program   Ёђђ┆
0x0a280…0a2a0 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 27 65 78 74 65 72 6e 61 6c 6e 61 6d 65 27 20 69 73 20   ┆identified by 'externalname' is ┆
0x0a2a0…0a2c0 6c 69 6e 6b 65 64 20 74 6f 20 27 70 72 6f 63 65 73 73 20 6e 61 6d 65 27 2e 20 0d 0a 0d 0a 54 68   ┆linked to 'process name'.     Th┆
0x0a2c0…0a2e0 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 73 61 6d 65 20 72 65 73 75   ┆e function returns the same resu┆
0x0a2e0…0a300 6c 74 73 20 61 73 20 74 68 65 20 70 72 65 64 65 66 69 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 0a   ┆lts as the predefined function  ┆
0x0a300…0a320 4c 49 4e 4b 2e 20 0d 0a 16 53 43 0d 0a 52 65 6d 6f 76 65 0d 0a 50 52 4f 43 45 44 55 52 45 20 72   ┆LINK.    SC  Remove  PROCEDURE r┆
0x0a320…0a340 65 6d 6f 76 65 20 28 56 41 52 20 73 68 3a 20 73 68 61 64 6f 77 29 3b 20 0d 0a 0d 0a 50 72 65 64   ┆emove (VAR sh: shadow);     Pred┆
0x0a340…0a360 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 8c 8a a8 0a 0d 0a 20 20 20 2d 20 84 27 52 65 6d 6f 76 65 27   ┆efined.     їіе      - ё'Remove'┆
0x0a360…0a380 20 74 65 72 6d 69 6e 61 74 65 73 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 68 69   ┆ terminates execution of the chi┆
0x0a380…0a3a0 6c 64 2c 20 77 68 69 63 68 20 63 61 6e 6e 6f 74 20 62 65 20 0a 19 85 80 80 72 65 73 75 6d 65 64   ┆ld, which cannot be   Ёђђresumed┆
0x0a3a0…0a3c0 2e 20 27 52 65 6d 6f 76 65 27 20 61 6c 73 6f 20 72 65 6d 6f 76 65 73 20 61 6c 6c 20 69 6e 63 61   ┆. 'Remove' also removes all inca┆
0x0a3c0…0a3e0 72 6e 61 74 69 6f 6e 73 20 63 6f 6e 74 72 6f 6c 6c 65 64 20 62 79 20 0a 19 85 80 80 74 68 65 20   ┆rnations controlled by   Ёђђthe ┆
0x0a3e0…0a400 63 68 69 6c 64 2c 20 74 68 65 69 72 20 63 68 69 6c 64 72 65 6e 20 65 74 63 2e 20 41 6c 6c 20 74   ┆child, their children etc. All t┆
0x0a400…0a420 68 65 20 72 65 73 6f 75 72 63 65 73 20 6f 66 20 74 68 65 20 63 68 69 6c 64 20 61 72 65 20 0a 19   ┆he resources of the child are   ┆
0x0a420…0a440 85 80 80 64 65 61 6c 6c 6f 63 61 74 65 64 2e 20 0d 0a 0d 0a 54 68 65 20 6f 77 6e 65 72 20 61 6e   ┆Ёђђdeallocated.     The owner an┆
0x0a440…0a460 64 20 61 6e 73 77 65 72 20 73 65 6d 61 70 68 6f 72 65 73 20 6f 66 20 6d 65 73 73 61 67 65 73 20   ┆d answer semaphores of messages ┆
0x0a460…0a480 69 6e 20 61 6c 6c 20 64 65 63 6c 61 72 65 64 20 70 6f 6f 6c 20 0a 76 61 72 69 61 62 6c 65 73 20   ┆in all declared pool  variables ┆
0x0a480…0a4a0 61 72 65 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 74 6f 20 61 20 64 65 61 6c 6c 6f 63 61 74 69 6f   ┆are initialized to a deallocatio┆
0x0a4a0…0a4c0 6e 20 73 65 6d 61 70 68 6f 72 65 20 63 6f 6e 74 72 6f 6c 6c 65 64 20 62 79 20 74 68 65 20 0a 41   ┆n semaphore controlled by the  A┆
0x0a4c0…0a4e0 4c 4c 4f 43 41 54 4f 52 2e 20 41 6c 6c 20 6d 65 73 73 61 67 65 73 20 69 6e 20 72 65 66 65 72 65   ┆LLOCATOR. All messages in refere┆
0x0a4e0…0a500 6e 63 65 2c 20 73 65 6d 61 70 68 6f 72 65 20 61 6e 64 20 70 6f 6f 6c 20 76 61 72 69 61 62 6c 65   ┆nce, semaphore and pool variable┆
0x0a500…0a520 73 20 0a 61 72 65 20 72 65 74 75 72 6e 65 64 20 77 69 74 68 20 75 32 20 3d 20 31 20 28 6e 6f 74   ┆s  are returned with u2 = 1 (not┆
0x0a520…0a540 20 70 72 6f 63 65 73 73 65 64 29 2e 20 0d 0a 0d 0a 54 68 65 20 73 68 61 64 6f 77 20 76 61 72 69   ┆ processed).     The shadow vari┆
0x0a540…0a560 61 62 6c 65 20 6d 75 73 74 20 72 65 66 65 72 20 74 6f 20 61 20 70 72 6f 63 65 73 73 20 69 6e 63   ┆able must refer to a process inc┆
0x0a560…0a580 61 72 6e 61 74 69 6f 6e 20 28 63 68 69 6c 64 29 2c 20 0a 6f 74 68 65 72 77 69 73 65 20 61 6e 20   ┆arnation (child),  otherwise an ┆
0x0a580…0a5a0 65 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 2e 20 0d 0a 0d 0a 41 66 74 65 72 20 74 68 65 20   ┆exception occurs.     After the ┆
0x0a5a0…0a5c0 63 61 6c 6c 20 74 68 65 20 73 68 61 64 6f 77 20 76 61 72 69 61 62 6c 65 20 69 73 20 6e 69 6c 2e   ┆call the shadow variable is nil.┆
0x0a5c0…0a5e0 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 53 65 74 70 72 69 6f 72 69 74 79 20 20 20 20 20 0d 0a   ┆          SC  Setpriority       ┆
0x0a5e0…0a600 50 52 4f 43 45 44 55 52 45 20 73 65 74 70 72 69 6f 72 69 74 79 20 28 70 72 69 6f 72 69 74 79 20   ┆PROCEDURE setpriority (priority ┆
0x0a600…0a620 3a 20 69 6e 74 65 67 65 72 29 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a   ┆: integer);     Predefined.     ┆
0x0a620…0a640 0d 0a 20 20 20 2d 20 84 63 68 61 6e 67 65 73 20 74 68 65 20 70 72 69 6f 72 69 74 79 20 6f 66 20   ┆     - ёchanges the priority of ┆
0x0a640…0a660 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20   ┆the calling process incarnation ┆
0x0a660…0a680 69 6e 73 69 64 65 20 74 68 65 20 0a 19 85 80 80 70 72 69 6f 72 69 74 79 20 63 6c 61 73 73 65 73   ┆inside the   Ёђђpriority classes┆
0x0a680…0a6a0 20 49 49 20 61 6e 64 20 49 49 49 20 72 75 6e 6e 69 6e 67 20 6f 6e 20 69 6e 74 65 72 72 75 70 74   ┆ II and III running on interrupt┆
0x0a6a0…0a6c0 69 6f 6e 20 6c 65 76 65 6c 20 30 2e 20 0d 0a 0d 0a 41 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63   ┆ion level 0.     An exception oc┆
0x0a6c0…0a6e0 63 75 72 73 20 69 66 3a 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 27 70 72 69 6f 72 69 74 79 27 20   ┆curs if:          - ё'priority' ┆
0x0a6e0…0a700 3c 20 6d 69 6e 70 72 69 6f 72 69 74 79 20 0d 0a 20 20 20 2d 20 84 27 70 72 69 6f 72 69 74 79 27   ┆< minpriority      - ё'priority'┆
0x0a700…0a720 20 3e 20 6d 61 78 70 72 69 6f 72 69 74 79 20 0d 0a 20 20 20 2d 20 84 63 61 6c 6c 65 64 20 69 6e   ┆ > maxpriority      - ёcalled in┆
0x0a720…0a740 20 61 20 63 68 61 6e 6e 65 6c 20 73 74 61 74 65 6d 65 6e 74 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43   ┆ a channel statement          SC┆
0x0a740…0a760 0d 0a 53 74 61 72 74 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 74 61 72 74 20 28 56 41 52 20 73   ┆  Start   PROCEDURE start (VAR s┆
0x0a760…0a780 68 3a 20 73 68 61 64 6f 77 3b 20 20 20 20 20 20 20 20 70 72 69 6f 72 69 74 79 3a 20 69 6e 74 65   ┆h: shadow;        priority: inte┆
0x0a780…0a7a0 67 65 72 29 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d   ┆ger);     Predefined.          -┆
0x0a7a0…0a7c0 20 84 61 63 74 69 76 61 74 65 73 20 61 20 63 68 69 6c 64 2c 20 77 68 69 63 68 20 68 61 73 20 62   ┆ ёactivates a child, which has b┆
0x0a7c0…0a7e0 65 65 6e 20 63 72 65 61 74 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 43 52 45 41 54   ┆een created by calling the CREAT┆
0x0a7e0…0a800 45 20 0a 19 85 80 80 72 6f 75 74 69 6e 65 2c 20 6f 72 20 77 68 69 63 68 20 68 61 73 20 62 65 65   ┆E   Ёђђroutine, or which has bee┆
0x0a800…0a820 6e 20 73 74 6f 70 70 65 64 20 62 79 20 61 20 63 61 6c 6c 20 6f 66 20 74 68 65 20 53 54 4f 50 20   ┆n stopped by a call of the STOP ┆
0x0a820…0a840 0a 19 85 80 80 70 72 6f 63 65 64 75 72 65 2e 20 0d 0a 0d 0a 49 66 20 74 68 65 20 63 68 69 6c 64   ┆  Ёђђprocedure.     If the child┆
0x0a840…0a860 20 69 73 20 61 6c 72 65 61 64 79 20 73 74 61 72 74 65 64 2c 20 74 68 65 20 70 72 6f 63 65 64 75   ┆ is already started, the procedu┆
0x0a860…0a880 72 65 20 63 61 6c 6c 20 69 73 20 64 75 6d 6d 79 2e 20 0d 0a 0d 0a 49 66 20 27 70 72 69 6f 72 69   ┆re call is dummy.     If 'priori┆
0x0a880…0a8a0 74 79 27 20 3d 20 30 2c 20 74 68 65 20 63 68 69 6c 64 20 65 6e 74 65 72 73 20 74 68 65 20 63 6f   ┆ty' = 0, the child enters the co┆
0x0a8a0…0a8c0 72 6f 75 74 69 6e 65 20 63 6c 61 73 73 20 28 63 6c 61 73 73 20 49 49 29 2e 20 49 66 20 0a 27 70   ┆routine class (class II). If  'p┆
0x0a8c0…0a8e0 72 69 6f 72 69 74 79 27 20 3c 20 30 2c 20 74 68 65 20 63 68 69 6c 64 20 65 6e 74 65 72 73 20 74   ┆riority' < 0, the child enters t┆
0x0a8e0…0a900 68 65 20 74 69 6d 65 20 73 6c 69 63 65 20 63 6c 61 73 73 20 28 63 6c 61 73 73 20 49 49 49 29 2e   ┆he time slice class (class III).┆
0x0a900…0a920 20 0d 0a 0d 0a 49 66 20 74 68 65 20 61 63 74 69 76 61 74 69 6f 6e 20 69 73 20 61 63 74 75 61 6c   ┆     If the activation is actual┆
0x0a920…0a940 6c 79 20 61 20 72 65 61 63 74 69 76 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 68 69 6c 64 2c 20   ┆ly a reactivation of the child, ┆
0x0a940…0a960 74 68 65 20 63 68 69 6c 64 20 0a 63 6f 75 6c 64 20 68 61 76 65 20 62 65 65 6e 20 77 61 69 74 69   ┆the child  could have been waiti┆
0x0a960…0a980 6e 67 20 61 74 20 61 20 73 65 6d 61 70 68 6f 72 65 2e 20 49 6e 20 74 68 61 74 20 63 61 73 65 20   ┆ng at a semaphore. In that case ┆
0x0a980…0a9a0 74 68 65 20 57 41 49 54 20 0a 73 74 61 74 65 6d 65 6e 74 20 77 69 6c 6c 20 62 65 20 72 65 70 65   ┆the WAIT  statement will be repe┆
0x0a9a0…0a9c0 61 74 65 64 2e 20 0d 0a 0d 0a 49 66 20 74 68 65 20 63 68 69 6c 64 20 77 61 73 20 73 74 6f 70 70   ┆ated.     If the child was stopp┆
0x0a9c0…0a9e0 65 64 20 61 74 20 61 6e 20 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c 20 67 72 65 61   ┆ed at an interruption level grea┆
0x0a9e0…0aa00 74 65 72 20 74 68 61 6e 20 7a 65 72 6f 2c 20 0a 74 68 65 20 63 68 69 6c 64 20 69 73 20 73 63 68   ┆ter than zero,  the child is sch┆
0x0aa00…0aa20 65 64 75 6c 65 64 20 64 69 72 65 63 74 6c 79 20 74 6f 20 74 68 65 20 6f 6c 64 20 69 6e 74 65 72   ┆eduled directly to the old inter┆
0x0aa20…0aa40 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c 20 61 6e 64 20 0a 61 63 74 69 76 61 74 65 64 20 61 73 20   ┆ruption level and  activated as ┆
0x0aa40…0aa60 69 66 20 61 20 74 69 6d 65 6f 75 74 20 68 61 73 20 6f 63 63 75 72 72 65 64 2e 20 0d 0a 0d 0a 8c   ┆if a timeout has occurred.     ї┆
0x0aa60…0aa80 8b 88 0a 41 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 2c 20 69 66 20 74 68 65 20 73   ┆Іѕ An exception occurs, if the s┆
0x0aa80…0aaa0 68 61 64 6f 77 20 76 61 72 69 61 62 6c 65 20 69 73 20 6e 69 6c 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16   ┆hadow variable is nil.          ┆
0x0aaa0…0aac0 53 43 0d 0a 53 74 6f 70 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 74 6f 70 20 28 56 41 52 20   ┆SC  Stop    PROCEDURE stop (VAR ┆
0x0aac0…0aae0 73 68 3a 20 73 68 61 64 6f 77 29 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d   ┆sh: shadow);     Predefined.    ┆
0x0aae0…0ab00 0a 0d 0a 20 20 20 2d 20 84 73 74 6f 70 73 20 61 20 63 68 69 6c 64 2e 20 54 68 65 20 61 73 73 6f   ┆      - ёstops a child. The asso┆
0x0ab00…0ab20 63 69 61 74 65 64 20 73 75 62 74 72 65 65 20 2d 20 69 66 20 61 6e 79 20 2d 20 69 73 20 a1 6e 6f   ┆ciated subtree - if any - is Аno┆
0x0ab20…0ab40 74 e1 20 73 74 6f 70 70 65 64 2e 20 0d 0a 0d 0a 49 66 20 74 68 65 20 63 68 69 6c 64 20 69 73 20   ┆tр stopped.     If the child is ┆
0x0ab40…0ab60 61 6c 72 65 61 64 79 20 73 74 6f 70 70 65 64 2c 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 69   ┆already stopped, the procedure i┆
0x0ab60…0ab80 73 20 64 75 6d 6d 79 2e 20 0d 0a 0d 0a 54 68 65 20 63 68 69 6c 64 20 69 73 20 64 65 61 63 74 69   ┆s dummy.     The child is deacti┆
0x0ab80…0aba0 76 61 74 65 64 20 61 6e 64 20 70 6f 73 73 69 62 6c 79 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20   ┆vated and possibly removed from ┆
0x0aba0…0abc0 74 68 65 20 73 65 6d 61 70 68 6f 72 65 20 0a 77 68 65 72 65 20 74 68 65 20 63 68 69 6c 64 20 69   ┆the semaphore  where the child i┆
0x0abc0…0abe0 73 20 77 61 69 74 69 6e 67 2e 20 0d 0a 0d 0a 49 66 20 74 68 65 20 63 68 69 6c 64 20 69 73 20 77   ┆s waiting.     If the child is w┆
0x0abe0…0ac00 61 69 74 69 6e 67 20 66 6f 72 20 69 6e 74 65 72 72 75 70 74 20 6f 6e 20 61 6e 20 69 6e 74 65 72   ┆aiting for interrupt on an inter┆
0x0ac00…0ac20 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c 20 67 72 65 61 74 65 72 20 0a 74 68 61 6e 20 7a 65 72 6f   ┆ruption level greater  than zero┆
0x0ac20…0ac40 2c 20 74 68 65 20 63 68 69 6c 64 20 69 73 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68 65 20   ┆, the child is removed from the ┆
0x0ac40…0ac60 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c 2e 20 0d 0a 0d 0a 49 66 20 74 68 65 20 73   ┆interruption level.     If the s┆
0x0ac60…0ac80 68 61 64 6f 77 20 76 61 72 69 61 62 6c 65 20 69 73 20 6e 69 6c 2c 20 61 6e 20 65 78 63 65 70 74   ┆hadow variable is nil, an except┆
0x0ac80…0aca0 69 6f 6e 20 6f 63 63 75 72 73 2e 20 0d 0a 16 53 43 0d 0a 54 72 61 63 65 20 0d 0a 50 52 4f 43 45   ┆ion occurs.    SC  Trace   PROCE┆
0x0aca0…0acc0 44 55 52 45 20 74 72 61 63 65 20 28 65 78 63 6f 64 65 20 3a 20 69 6e 74 65 67 65 72 29 3b 20 0d   ┆DURE trace (excode : integer);  ┆
0x0acc0…0ace0 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 63 61 6c 6c 73   ┆   Predefined.          - ёcalls┆
0x0ace0…0ad00 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 65 78 63 65 70 74 69 6f 6e 20 72 6f 75 74 69 6e 65 20   ┆ the standard exception routine ┆
0x0ad00…0ad20 61 6e 64 20 67 65 6e 65 72 61 74 65 73 20 74 68 65 20 73 61 6d 65 20 6b 69 6e 64 20 0a 19 85 80   ┆and generates the same kind   Ёђ┆
0x0ad20…0ad40 80 6f 66 20 6f 75 74 70 75 74 20 6f 6e 20 74 68 65 20 63 6f 6e 73 6f 6c 65 20 61 73 20 74 68 65   ┆ђof output on the console as the┆
0x0ad40…0ad60 20 65 71 75 69 76 61 6c 65 6e 74 20 65 78 63 65 70 74 69 6f 6e 2e 20 54 68 65 20 0a 19 85 80 80   ┆ equivalent exception. The   Ёђђ┆
0x0ad60…0ad80 70 72 6f 67 72 61 6d 20 61 6c 77 61 79 73 20 63 6f 6e 74 69 6e 75 65 73 20 65 78 65 63 75 74 69   ┆program always continues executi┆
0x0ad80…0ada0 6f 6e 20 61 66 74 65 72 20 74 68 65 20 63 61 6c 6c 2c 20 73 6f 20 27 74 72 61 63 65 27 20 0a 19   ┆on after the call, so 'trace'   ┆
0x0ada0…0adc0 85 80 80 6d 61 79 20 62 65 20 75 73 65 64 20 66 6f 72 20 74 65 73 74 6f 75 74 70 75 74 20 67 65   ┆Ёђђmay be used for testoutput ge┆
0x0adc0…0ade0 6e 65 72 61 74 69 6f 6e 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 55 6e 6c 69 6e 6b 0d 0a 46   ┆neration.          SC  Unlink  F┆
0x0ade0…0ae00 55 4e 43 54 49 4f 4e 20 75 6e 6c 69 6e 6b 20 28 70 72 6f 63 65 73 73 20 6e 61 6d 65 29 3a 20 69   ┆UNCTION unlink (process name): i┆
0x0ae00…0ae20 6e 74 65 67 65 72 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20   ┆nteger;     Predefined.         ┆
0x0ae20…0ae40 20 2d 20 84 54 68 65 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 70 72 6f 63 65 73 73 20 6c 69 6e 6b   ┆ - ёThe link to the process link┆
0x0ae40…0ae60 65 64 20 74 6f 20 70 72 6f 63 65 73 73 20 6e 61 6d 65 20 69 73 20 64 65 6c 65 74 65 64 2c 20 69   ┆ed to process name is deleted, i┆
0x0ae60…0ae80 66 20 0a 19 85 80 80 74 68 65 72 65 20 65 78 69 73 74 73 20 61 20 6c 69 6e 6b 20 61 6e 64 20 6e   ┆f   Ёђђthere exists a link and n┆
0x0ae80…0aea0 6f 20 69 6e 63 61 72 6e 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 65 78   ┆o incarnations of the process ex┆
0x0aea0…0aec0 69 73 74 2e 20 0d 0a 0d 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68   ┆ist.     The function returns th┆
0x0aec0…0aee0 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 65 73 75 6c 74 73 3a 20 0d 0a 0d 0a 52 65 73 75 6c 74 73   ┆e following results:     Results┆
0x0aee0…0af00 20 20 4d 65 61 6e 69 6e 67 20 1f 1f 1f 1f 30 1f 1f 1f 1f 50 72 6f 63 65 73 73 20 75 6e 6c 69 6e   ┆  Meaning     0    Process unlin┆
0x0af00…0af20 6b 65 64 20 73 75 63 63 65 73 73 66 75 6c 6c 79 2e 20 1f 1f 1f 1f 31 1f 1f 1f 1f 4e 6f 20 0a 70   ┆ked successfully.     1    No  p┆
0x0af20…0af40 72 6f 63 65 73 73 20 77 61 73 20 6c 69 6e 6b 65 64 20 74 6f 20 70 72 6f 63 65 73 73 20 6e 61 6d   ┆rocess was linked to process nam┆
0x0af40…0af60 65 2e 20 1f 1f 1f 1f 32 1f 1f 1f 1f 49 6e 63 61 72 6e 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20   ┆e.     2    Incarnations of the ┆
0x0af60…0af80 0a 70 72 6f 63 65 73 73 20 61 72 65 20 65 78 69 73 74 69 6e 67 2e 20 0d 0a 0d 0a 0d 0a 0d 0a a1   ┆ process are existing.         А┆
0x0af80…0afa0 45 78 61 6d 70 6c 65 20 20 33 2e 20 20 55 4e 4c 49 4e 4b 20 e1 20 20 50 52 4f 43 45 53 53 20 65   ┆Example  3.  UNLINK р  PROCESS e┆
0x0afa0…0afc0 78 61 6d 70 6c 65 33 3b 20 20 20 20 20 43 4f 4e 53 54 20 20 20 20 20 0a 64 65 66 61 75 6c 74 5f   ┆xample3;     CONST      default_┆
0x0afc0…0afe0 73 69 7a 65 20 3d 20 30 3b 20 20 20 20 20 6f 6b 20 3d 20 30 3b 20 20 20 20 20 56 41 52 20 20 20   ┆size = 0;     ok = 0;     VAR   ┆
0x0afe0…0b000 20 20 73 65 6d 20 3a 20 73 65 6d 61 70 68 6f 72 65 3b 20 20 20 20 20 73 68 20 20 3a 20 0a 73 68   ┆  sem : semaphore;     sh  :  sh┆
0x0b000…0b020 61 64 6f 77 3b 20 20 20 20 20 50 52 4f 43 45 53 53 20 65 78 61 6d 70 6c 65 33 31 20 28 56 41 52   ┆adow;     PROCESS example31 (VAR┆
0x0b020…0b040 20 73 20 3a 20 73 65 6d 61 70 68 6f 72 65 29 3b 20 20 20 45 58 54 45 52 4e 41 4c 3b 20 20 20 20   ┆ s : semaphore);   EXTERNAL;    ┆
0x0b040…0b060 20 0a 42 45 47 49 4e 20 20 20 20 20 49 46 20 6c 69 6e 6b 20 28 27 70 72 6f 67 72 61 6d 33 31 27   ┆  BEGIN     IF link ('program31'┆
0x0b060…0b080 2c 20 65 78 61 6d 70 6c 65 33 31 29 20 3d 20 6f 6b 20 54 48 45 4e 20 20 20 20 20 20 20 42 45 47   ┆, example31) = ok THEN       BEG┆
0x0b080…0b0a0 49 4e 20 20 20 20 20 20 20 20 20 0a 8c 8a a8 0a 49 46 20 63 72 65 61 74 65 20 28 27 63 68 69 6c   ┆IN          їіе IF create ('chil┆
0x0b0a0…0b0c0 64 27 2c 20 65 78 61 6d 70 6c 65 33 31 20 28 73 65 6d 29 2c 20 20 20 20 20 20 20 20 20 20 20 73   ┆d', example31 (sem),           s┆
0x0b0c0…0b0e0 68 2c 20 64 65 66 61 75 6c 74 5f 73 69 7a 65 29 20 3d 20 6f 6b 20 0a 54 48 45 4e 20 42 45 47 49   ┆h, default_size) = ok  THEN BEGI┆
0x0b0e0…0b100 4e 20 20 20 72 65 6d 6f 76 65 20 28 73 68 29 3b 20 20 20 49 46 20 75 6e 6c 69 6e 6b 20 28 65 78   ┆N   remove (sh);   IF unlink (ex┆
0x0b100…0b120 61 6d 70 6c 65 33 31 29 20 3d 20 6f 6b 20 54 48 45 4e 3b 20 0a 45 4e 44 3b 20 20 20 20 20 20 20   ┆ample31) = ok THEN;  END;       ┆
0x0b120…0b140 45 4e 44 3b 20 20 20 45 4e 44 3b 20 28 2a 20 65 78 61 6d 70 6c 65 33 20 2a 29 20 20 20 2e 20 0d   ┆END;   END; (* example3 *)   .  ┆
0x0b140…0b160 0a 0d 0a 0d 0a 16 53 42 0d 0a 43 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 52 6f 75 74 69 6e 65 73   ┆      SB  Communication Routines┆
0x0b160…0b180 20 20 20 20 0d 0a 54 68 65 73 65 20 72 6f 75 74 69 6e 65 73 20 61 72 65 20 75 73 65 64 20 66 6f   ┆      These routines are used fo┆
0x0b180…0b1a0 72 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 70 72 6f 63 65 73 73 20   ┆r communication between process ┆
0x0b1a0…0b1c0 0a 69 6e 63 61 72 6e 61 74 69 6f 6e 73 2e 20 54 68 65 20 73 74 61 74 65 20 6f 66 20 73 65 6d 61   ┆ incarnations. The state of sema┆
0x0b1c0…0b1e0 70 68 6f 72 65 2c 20 70 6f 6f 6c 20 61 6e 64 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62   ┆phore, pool and reference variab┆
0x0b1e0…0b200 6c 65 73 20 0a 6d 61 79 20 62 65 20 74 65 73 74 65 64 2c 20 65 74 63 2e 20 41 74 74 65 6e 74 69   ┆les  may be tested, etc. Attenti┆
0x0b200…0b220 6f 6e 20 73 68 6f 75 6c 64 20 62 65 20 70 61 69 64 20 74 6f 20 74 68 65 20 66 61 63 74 2c 20 74   ┆on should be paid to the fact, t┆
0x0b220…0b240 68 61 74 20 74 68 65 20 0a 72 6f 75 74 69 6e 65 73 20 41 4c 4c 4f 43 20 61 6e 64 20 52 45 4c 45   ┆hat the  routines ALLOC and RELE┆
0x0b240…0b260 41 53 45 20 69 6e 20 73 65 63 74 69 6f 6e 20 35 2e 33 20 61 6c 73 6f 20 6d 61 79 20 69 6e 66 65   ┆ASE in section 5.3 also may infe┆
0x0b260…0b280 72 20 0a 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20   ┆r  communications equivalent to ┆
0x0b280…0b2a0 57 41 49 54 2c 20 53 49 47 4e 41 4c 2c 20 6f 72 20 52 45 54 55 52 4e 2e 20 0d 0a 0d 0a 0d 0a 0d   ┆WAIT, SIGNAL, or RETURN.        ┆
0x0b2a0…0b2c0 0a 16 53 43 0d 0a 44 65 66 69 6e 65 74 69 6d 65 72 20 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52   ┆  SC  Definetimer       PROCEDUR┆
0x0b2c0…0b2e0 45 20 64 65 66 69 6e 65 74 69 6d 65 72 20 28 6f 6e 6f 66 66 20 3a 20 62 6f 6f 6c 65 61 6e 29 3b   ┆E definetimer (onoff : boolean);┆
0x0b2e0…0b300 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 27 64 65   ┆     Predefined.          - ё'de┆
0x0b300…0b320 66 69 6e 65 74 69 6d 65 72 20 28 74 72 75 65 29 27 20 69 6e 63 6c 75 64 65 73 20 74 68 65 20 69   ┆finetimer (true)' includes the i┆
0x0b320…0b340 6e 63 61 72 6e 61 74 69 6f 6e 20 69 6e 20 61 20 63 68 61 69 6e 2c 20 77 68 65 72 65 20 0a 19 85   ┆ncarnation in a chain, where   Ё┆
0x0b340…0b360 80 80 63 6f 75 6e 74 20 64 6f 77 6e 20 6f 66 20 4f 57 4e 2e 54 49 4d 45 52 20 69 73 20 64 6f 6e   ┆ђђcount down of OWN.TIMER is don┆
0x0b360…0b380 65 20 6f 6e 63 65 20 70 65 72 20 73 65 63 6f 6e 64 2e 20 54 68 65 20 63 61 6c 6c 20 0a 19 85 80   ┆e once per second. The call   Ёђ┆
0x0b380…0b3a0 80 27 64 65 66 69 6e 65 74 69 6d 65 72 20 28 66 61 6c 73 65 29 27 20 72 65 6d 6f 76 65 73 20 74   ┆ђ'definetimer (false)' removes t┆
0x0b3a0…0b3c0 68 65 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 63 68 61 69 6e 2c 20 61   ┆he incarnation from the chain, a┆
0x0b3c0…0b3e0 6e 64 20 0a 19 85 80 80 63 6f 75 6e 74 20 64 6f 77 6e 20 69 73 20 73 74 6f 70 70 65 64 2e 20 0d   ┆nd   Ёђђcount down is stopped.  ┆
0x0b3e0…0b400 0a 0d 0a 54 69 6d 65 6f 75 74 20 63 61 6e 20 6f 6e 6c 79 20 74 61 6b 65 20 70 6c 61 63 65 20 61   ┆   Timeout can only take place a┆
0x0b400…0b420 66 74 65 72 20 74 68 65 20 63 61 6c 6c 20 27 64 65 66 69 6e 65 74 69 6d 65 72 20 28 74 72 75 65   ┆fter the call 'definetimer (true┆
0x0b420…0b440 29 27 2e 20 41 74 20 0a 6d 6f 73 74 20 6f 6e 65 20 63 61 6c 6c 20 6f 66 20 64 65 66 69 6e 65 74   ┆)'. At  most one call of definet┆
0x0b440…0b460 69 6d 65 72 20 63 61 6e 20 62 65 20 70 72 6f 63 65 73 73 65 64 20 65 61 63 68 20 35 30 20 6d 73   ┆imer can be processed each 50 ms┆
0x0b460…0b480 65 63 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 44 65 6c 65 74 65 5f 73 65 6d 61 70 68 6f 72   ┆ec.          SC  Delete_semaphor┆
0x0b480…0b4a0 65 0d 0a 46 55 4e 43 54 49 4f 4e 20 64 65 6c 65 74 65 5f 73 65 6d 61 70 68 6f 72 65 20 28 20 20   ┆e  FUNCTION delete_semaphore (  ┆
0x0b4a0…0b4c0 20 20 20 20 76 61 72 20 73 5f 6e 61 6d 65 20 3a 20 21 20 61 6c 66 61 29 20 3a 20 69 6e 74 65 67   ┆    var s_name : ! alfa) : integ┆
0x0b4c0…0b4e0 65 72 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84   ┆er;     Predefined.          - ё┆
0x0b4e0…0b500 53 65 61 72 63 68 65 73 20 74 68 65 20 73 65 6d 61 70 68 6f 72 65 20 63 61 74 61 6c 6f 67 20 6f   ┆Searches the semaphore catalog o┆
0x0b500…0b520 66 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 69 6e 63 61 72 6e 61 74 69 6f 6e 2c 20 61 6e 64 20 0a   ┆f the calling incarnation, and  ┆
0x0b520…0b540 19 85 80 80 64 65 6c 65 74 65 73 20 74 68 65 20 65 6e 74 72 79 2c 20 69 66 20 66 6f 75 6e 64 2e   ┆ Ёђђdeletes the entry, if found.┆
0x0b540…0b560 20 0d 0a 0d 0a 52 65 73 75 6c 74 73 20 20 4d 65 61 6e 69 6e 67 20 1f 1f 1f 1f 30 1f 1f 1f 1f 4f   ┆     Results  Meaning     0    O┆
0x0b560…0b580 4b 20 1f 1f 1f 1f 31 1f 1f 1f 1f 4e 6f 74 20 66 6f 75 6e 64 2e 20 4e 6f 20 73 65 6d 61 70 68 6f   ┆K     1    Not found. No semapho┆
0x0b580…0b5a0 72 65 20 69 73 20 0a 63 61 74 61 2d 20 6c 6f 67 75 65 64 20 75 6e 64 65 72 20 74 68 65 20 73 70   ┆re is  cata- logued under the sp┆
0x0b5a0…0b5c0 65 63 69 66 69 65 64 20 6e 61 6d 65 2e 20 0d 0a 16 53 43 0d 0a 4c 6f 63 6b 65 64 0d 0a 46 55 4e   ┆ecified name.    SC  Locked  FUN┆
0x0b5c0…0b5e0 43 54 49 4f 4e 20 6c 6f 63 6b 65 64 20 28 56 41 52 20 73 65 6d 3a 20 73 65 6d 61 70 68 6f 72 65   ┆CTION locked (VAR sem: semaphore┆
0x0b5e0…0b600 29 3a 62 6f 6f 6c 65 61 6e 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d   ┆):boolean;     Predefined.      ┆
0x0b600…0b620 0a 20 20 20 2d 20 84 72 65 74 75 72 6e 73 20 74 68 65 20 76 61 6c 75 65 20 74 72 75 65 2c 20 69   ┆    - ёreturns the value true, i┆
0x0b620…0b640 66 20 74 68 65 20 73 65 6d 61 70 68 6f 72 65 20 69 73 20 6c 6f 63 6b 65 64 2c 20 6f 74 68 65 72   ┆f the semaphore is locked, other┆
0x0b640…0b660 77 69 73 65 20 0a 19 85 80 80 66 61 6c 73 65 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 4c 6f   ┆wise   Ёђђfalse.          SC  Lo┆
0x0b660…0b680 63 6b 74 65 73 74 20 20 20 20 20 20 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 6c 6f 63 6b 74 65 73   ┆cktest          FUNCTION locktes┆
0x0b680…0b6a0 74 20 28 56 41 52 20 72 3a 20 72 65 66 65 72 65 6e 63 65 29 3a 20 62 6f 6f 6c 65 61 6e 3b 20 0d   ┆t (VAR r: reference): boolean;  ┆
0x0b6a0…0b6c0 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 8c 8a d8 0a 0d 0a 20 20 20   ┆   Not predefined.     їіп      ┆
0x0b6c0…0b6e0 2d 20 84 72 65 74 75 72 6e 73 20 74 68 65 20 76 61 6c 75 65 20 74 72 75 65 20 69 66 20 74 68 65   ┆- ёreturns the value true if the┆
0x0b6e0…0b700 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 6c 6f 63 6b 65 64 2c 20 0a   ┆ reference variable is locked,  ┆
0x0b700…0b720 19 85 80 80 6f 74 68 65 72 77 69 73 65 20 66 61 6c 73 65 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43   ┆ Ёђђotherwise false.          SC┆
0x0b720…0b740 0d 0a 4e 61 6d 65 5f 73 65 6d 61 70 68 6f 72 65 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 6e 61 6d   ┆  Name_semaphore    FUNCTION nam┆
0x0b740…0b760 65 5f 73 65 6d 61 70 68 6f 72 65 20 20 20 28 56 41 52 20 73 3a 20 73 65 6d 61 70 68 6f 72 65 3b   ┆e_semaphore   (VAR s: semaphore;┆
0x0b760…0b780 20 73 5f 6e 61 6d 65 3a 20 61 6c 66 61 29 3a 20 0a 69 6e 74 65 67 65 72 3b 20 0d 0a 0d 0a 4e 6f   ┆ s_name: alfa):  integer;     No┆
0x0b780…0b7a0 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 43 61 74 61 6c 6f   ┆t predefined.          - ёCatalo┆
0x0b7a0…0b7c0 67 75 65 73 20 74 68 65 20 73 65 6d 61 70 68 6f 72 65 20 75 6e 64 65 72 20 74 68 65 20 73 70 65   ┆gues the semaphore under the spe┆
0x0b7c0…0b7e0 63 69 66 69 65 64 20 6e 61 6d 65 2e 20 0d 0a 0d 0a 52 65 73 75 6c 74 73 20 20 4d 65 61 6e 69 6e   ┆cified name.     Results  Meanin┆
0x0b7e0…0b800 67 20 1f 1f 1f 1f 30 1f 1f 1f 1f 4f 4b 2c 20 74 68 65 20 73 65 6d 61 70 68 6f 72 65 20 69 73 20   ┆g     0    OK, the semaphore is ┆
0x0b800…0b820 63 61 74 61 6c 6f 67 75 65 64 20 0a 1f 1f 1f 1f 1f 1f 1f 1f 1f 75 6e 64 65 72 20 74 68 65 20 73   ┆catalogued           under the s┆
0x0b820…0b840 70 65 63 69 66 69 65 64 20 6e 61 6d 65 2e 20 1f 1f 1f 1f 31 1f 1f 1f 1f 4f 76 65 72 6c 61 70 2c   ┆pecified name.     1    Overlap,┆
0x0b840…0b860 20 61 20 73 65 6d 61 70 68 6f 72 65 20 69 73 20 0a 61 6c 72 65 61 64 79 20 63 61 74 61 6c 6f 67   ┆ a semaphore is  already catalog┆
0x0b860…0b880 75 65 64 20 1f 1f 1f 1f 1f 1f 1f 1f 1f 75 6e 64 65 72 20 74 68 65 20 73 70 65 63 69 66 69 65 64   ┆ued          under the specified┆
0x0b880…0b8a0 20 6e 61 6d 65 2e 20 1f 1f 1f 1f 32 1f 1f 1f 1f 4e 6f 20 0a 72 65 73 6f 75 72 63 65 73 2c 20 74   ┆ name.     2    No  resources, t┆
0x0b8a0…0b8c0 68 65 20 73 65 6d 61 70 68 6f 72 65 20 63 61 6e 6e 6f 74 20 1f 1f 1f 1f 1f 1f 1f 1f 1f 62 65 20   ┆he semaphore cannot          be ┆
0x0b8c0…0b8e0 63 61 74 61 6c 6f 67 75 65 64 20 62 65 63 61 75 73 65 20 6f 66 20 0a 6c 61 63 6b 20 6f 66 20 1f   ┆catalogued because of  lack of  ┆
0x0b8e0…0b900 1f 1f 1f 1f 1f 1f 1f 1f 6d 65 6d 6f 72 79 20 72 65 73 6f 75 72 63 65 73 2e 20 0d 0a 0d 0a 0d 0a   ┆        memory resources.       ┆
0x0b900…0b920 0d 0a 16 53 43 0d 0a 4e 69 6c 20 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 6e 69 6c 20 28 56 41 52   ┆   SC  Nil     FUNCTION nil (VAR┆
0x0b920…0b940 20 72 3a 20 1f 6e 69 6c 74 79 70 65 29 3a 20 62 6f 6f 6c 65 61 6e 3b 20 0d 0a 0d 0a 50 72 65 64   ┆ r:  niltype): boolean;     Pred┆
0x0b940…0b960 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 72 65 74 75 72 6e 73 20 74 68 65 20   ┆efined.          - ёreturns the ┆
0x0b960…0b980 76 61 6c 75 65 20 74 72 75 65 2c 20 69 66 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 27 72 27   ┆value true, if the parameter 'r'┆
0x0b980…0b9a0 20 69 73 20 6e 69 6c 2c 20 6f 74 68 65 72 77 69 73 65 20 0a 19 85 80 80 66 61 6c 73 65 2e 20 27   ┆ is nil, otherwise   Ёђђfalse. '┆
0x0b9a0…0b9c0 4e 69 6c 74 79 70 65 27 20 6d 61 79 20 62 65 20 74 68 65 20 74 79 70 65 73 20 72 65 66 65 72 65   ┆Niltype' may be the types refere┆
0x0b9c0…0b9e0 6e 63 65 2c 20 73 68 61 64 6f 77 2c 20 6f 72 20 61 6e 79 20 0a 19 85 80 80 70 6f 69 6e 74 65 72   ┆nce, shadow, or any   Ёђђpointer┆
0x0b9e0…0ba00 20 74 79 70 65 2c 20 65 2e 67 2e 20 1f 73 65 6d 61 70 68 6f 72 65 2e 20 0d 0a 0d 0a 0d 0a 0d 0a   ┆ type, e.g.  semaphore.         ┆
0x0ba00…0ba20 16 53 43 0d 0a 4f 70 65 6e 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 6f 70 65 6e 20 28 56 41 52 20   ┆ SC  Open    FUNCTION open (VAR ┆
0x0ba20…0ba40 73 65 6d 3a 20 73 65 6d 61 70 68 6f 72 65 29 3a 20 62 6f 6f 6c 65 61 6e 3b 20 0d 0a 0d 0a 50 72   ┆sem: semaphore): boolean;     Pr┆
0x0ba40…0ba60 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 72 65 74 75 72 6e 73 20 74 68   ┆edefined.          - ёreturns th┆
0x0ba60…0ba80 65 20 76 61 6c 75 65 20 74 72 75 65 2c 20 69 66 20 74 68 65 20 73 65 6d 61 70 68 6f 72 65 20 69   ┆e value true, if the semaphore i┆
0x0ba80…0baa0 73 20 6f 70 65 6e 2c 20 6f 74 68 65 72 77 69 73 65 20 66 61 6c 73 65 2e 20 0d 0a 0d 0a 0d 0a 0d   ┆s open, otherwise false.        ┆
0x0baa0…0bac0 0a 16 53 43 0d 0a 4f 77 6e 65 72 74 65 73 74 20 20 20 20 20 20 20 0d 0a 46 55 4e 43 54 49 4f 4e   ┆  SC  Ownertest         FUNCTION┆
0x0bac0…0bae0 20 6f 77 6e 65 72 74 65 73 74 20 28 56 41 52 20 70 3a 20 70 6f 6f 6c 20 31 3b 20 56 41 52 20 72   ┆ ownertest (VAR p: pool 1; VAR r┆
0x0bae0…0bb00 3a 20 72 65 66 65 72 65 6e 63 65 29 3a 20 62 6f 6f 6c 65 61 6e 3b 20 0d 0a 0d 0a 50 72 65 64 65   ┆: reference): boolean;     Prede┆
0x0bb00…0bb20 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 72 65 74 75 72 6e 73 20 74 68 65 20 76   ┆fined.          - ёreturns the v┆
0x0bb20…0bb40 61 6c 75 65 20 74 72 75 65 2c 20 69 66 20 74 68 65 20 6d 65 73 73 61 67 65 20 72 65 66 65 72 65   ┆alue true, if the message refere┆
0x0bb40…0bb60 6e 63 65 73 20 62 79 20 27 72 27 20 0a 19 85 80 80 6f 72 69 67 69 6e 61 74 65 73 20 66 72 6f 6d   ┆nces by 'r'   Ёђђoriginates from┆
0x0bb60…0bb80 20 74 68 65 20 70 6f 6f 6c 20 27 70 27 2c 20 6f 74 68 65 72 77 69 73 65 20 66 61 6c 73 65 2e 20   ┆ the pool 'p', otherwise false. ┆
0x0bb80…0bba0 0d 0a 0d 0a 41 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 20 69 66 20 74 68 65 20 72   ┆    An exception occurs if the r┆
0x0bba0…0bbc0 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 6e 69 6c 2e 20 0d 0a 0d 0a 0d 0a   ┆eference variable is nil.       ┆
0x0bbc0…0bbe0 8c 8a d8 0a 0d 0a 16 53 43 0d 0a 50 61 73 73 69 76 65 20 20 20 20 20 20 20 20 20 0d 0a 46 55 4e   ┆їіп    SC  Passive           FUN┆
0x0bbe0…0bc00 43 54 49 4f 4e 20 70 61 73 73 69 76 65 20 28 56 41 52 20 73 65 6d 3a 20 73 65 6d 61 70 68 6f 72   ┆CTION passive (VAR sem: semaphor┆
0x0bc00…0bc20 65 29 3a 20 62 6f 6f 6c 65 61 6e 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d   ┆e): boolean;     Predefined.    ┆
0x0bc20…0bc40 0a 0d 0a 20 20 20 2d 20 84 72 65 74 75 72 6e 73 20 74 68 65 20 76 61 6c 75 65 20 74 72 75 65 2c   ┆      - ёreturns the value true,┆
0x0bc40…0bc60 20 69 66 20 74 68 65 20 73 65 6d 61 70 68 6f 72 65 20 69 73 20 70 61 73 73 69 76 65 2c 20 6f 74   ┆ if the semaphore is passive, ot┆
0x0bc60…0bc80 68 65 72 77 69 73 65 20 0a 19 85 80 80 66 61 6c 73 65 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d   ┆herwise   Ёђђfalse.          SC ┆
0x0bc80…0bca0 0a 52 65 66 20 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 72 65 66 20 28 56 41 52 20 73 65 6d 3a 20   ┆ Ref     FUNCTION ref (VAR sem: ┆
0x0bca0…0bcc0 73 65 6d 61 70 68 6f 72 65 29 3a 20 1f 73 65 6d 61 70 68 6f 72 65 3b 20 0d 0a 0d 0a 50 72 65 64   ┆semaphore):  semaphore;     Pred┆
0x0bcc0…0bce0 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 72 65 74 75 72 6e 73 20 61 20 70 6f   ┆efined.          - ёreturns a po┆
0x0bce0…0bd00 69 6e 74 65 72 20 76 61 6c 75 65 20 74 6f 20 74 68 65 20 70 6f 69 6e 74 65 64 20 6f 62 6a 65 63   ┆inter value to the pointed objec┆
0x0bd00…0bd20 74 20 27 73 65 6d 27 2e 20 27 52 65 66 27 20 63 61 6e 20 0a 19 85 80 80 6f 6e 6c 79 20 62 65 20   ┆t 'sem'. 'Ref' can   Ёђђonly be ┆
0x0bd20…0bd40 61 70 70 6c 69 65 64 20 74 6f 20 76 61 72 69 61 62 6c 65 73 20 6f 66 20 74 79 70 65 20 73 65 6d   ┆applied to variables of type sem┆
0x0bd40…0bd60 61 70 68 6f 72 65 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 52 65 74 75 72 6e 0d 0a 50 52 4f   ┆aphore.          SC  Return  PRO┆
0x0bd60…0bd80 43 45 44 55 52 45 20 72 65 74 75 72 6e 20 28 56 41 52 20 72 3a 20 72 65 66 65 72 65 6e 63 65 29   ┆CEDURE return (VAR r: reference)┆
0x0bd80…0bda0 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 73 69   ┆;     Predefined.          - ёsi┆
0x0bda0…0bdc0 67 6e 61 6c 73 20 74 68 65 20 6d 65 73 73 61 67 65 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20   ┆gnals the message referenced by ┆
0x0bdc0…0bde0 27 72 27 20 74 6f 20 74 68 65 20 61 6e 6f 6e 79 6d 6f 75 73 20 61 6e 73 77 65 72 20 0a 19 85 80   ┆'r' to the anonymous answer   Ёђ┆
0x0bde0…0be00 80 73 65 6d 61 70 68 6f 72 65 2e 20 0d 0a 0d 0a 41 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63   ┆ђsemaphore.     An exception occ┆
0x0be00…0be20 75 72 73 20 69 66 3a 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 74 68 65 20 72 65 66 65 72 65 6e 63   ┆urs if:          - ёthe referenc┆
0x0be20…0be40 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 6e 69 6c 2e 20 0d 0a 20 20 20 2d 20 84 74 68 65 20 72   ┆e variable is nil.      - ёthe r┆
0x0be40…0be60 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 6c 6f 63 6b 65 64 2e 20 0d 0a 0d   ┆eference variable is locked.    ┆
0x0be60…0be80 0a 0d 0a 0d 0a 16 53 43 0d 0a 53 65 61 72 63 68 5f 73 65 6d 61 70 68 6f 72 65 0d 0a 46 55 4e 43   ┆      SC  Search_semaphore  FUNC┆
0x0be80…0bea0 54 49 4f 4e 20 73 65 61 72 63 68 5f 73 65 6d 61 70 68 6f 72 65 20 28 73 5f 6e 61 6d 65 3a 20 61   ┆TION search_semaphore (s_name: a┆
0x0bea0…0bec0 6c 66 61 29 3a 20 1f 73 65 6d 61 70 68 6f 72 65 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66   ┆lfa):  semaphore;     Not predef┆
0x0bec0…0bee0 69 6e 65 64 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 52 65 74 72 69 65 76 65 73 20 61 20 70 6f 69   ┆ined          - ёRetrieves a poi┆
0x0bee0…0bf00 6e 74 65 72 20 76 61 6c 75 65 20 6f 66 20 61 20 63 61 74 61 6c 6f 67 75 65 64 20 73 65 6d 61 70   ┆nter value of a catalogued semap┆
0x0bf00…0bf20 68 6f 72 65 2e 20 54 68 65 20 0a 19 85 80 80 72 65 74 72 69 65 76 61 6c 20 69 73 20 64 69 72 65   ┆hore. The   Ёђђretrieval is dire┆
0x0bf20…0bf40 63 74 65 64 20 66 72 6f 6d 20 74 68 65 20 6c 65 61 76 65 73 20 74 6f 20 74 68 65 20 72 6f 6f 74   ┆cted from the leaves to the root┆
0x0bf40…0bf60 20 6f 66 20 74 68 65 20 0a 19 85 80 80 69 6e 63 61 72 6e 61 74 69 6f 6e 20 74 72 65 65 2c 20 73   ┆ of the   Ёђђincarnation tree, s┆
0x0bf60…0bf80 74 61 72 74 69 6e 67 20 61 74 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 69 6e 63 61 72 6e 61 74 69   ┆tarting at the calling incarnati┆
0x0bf80…0bfa0 6f 6e 2e 20 41 20 6e 69 6c 20 76 61 6c 75 65 20 0a 19 85 80 80 69 73 20 72 65 74 75 72 6e 65 64   ┆on. A nil value   Ёђђis returned┆
0x0bfa0…0bfc0 2c 20 69 66 20 6e 6f 20 63 61 74 61 6c 6f 67 75 65 64 20 73 65 6d 61 70 68 6f 72 65 20 77 69 74   ┆, if no catalogued semaphore wit┆
0x0bfc0…0bfe0 68 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 6e 61 6d 65 20 0a 19 85 80 80 69 73 20 66 6f 75   ┆h the specified name   Ёђђis fou┆
0x0bfe0…0c000 6e 64 2e 20 27 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 53 65 6e 64 6c 69 6e 6b 65 72 20 20 20   ┆nd. '          SC  Sendlinker   ┆
0x0c000…0c020 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 65 6e 64 6c 69 6e 6b 65 72 20 28 56 41 52 20 72   ┆     PROCEDURE sendlinker (VAR r┆
0x0c020…0c040 20 3a 20 72 65 66 65 72 65 6e 63 65 29 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d   ┆ : reference);     Predefined.  ┆
0x0c040…0c060 0a 0d 0a 8c 8b 88 0a 0d 0a 20 20 20 2d 20 84 73 69 67 6e 61 6c 73 20 74 68 65 20 6d 65 73 73 61   ┆   їІѕ      - ёsignals the messa┆
0x0c060…0c080 67 65 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 27 72 27 20 74 6f 20 74 68 65 20 4c 49 4e 4b   ┆ge referenced by 'r' to the LINK┆
0x0c080…0c0a0 45 52 20 70 72 6f 63 65 73 73 2e 20 4e 6f 20 0a 19 85 80 80 77 61 69 74 20 69 73 20 70 65 72 66   ┆ER process. No   Ёђђwait is perf┆
0x0c0a0…0c0c0 6f 72 6d 65 64 20 69 6e 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 2e 20 0d 0a 0d 0a 41 6e 20 65   ┆ormed in the procedure.     An e┆
0x0c0c0…0c0e0 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 20 69 66 3a 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84   ┆xception occurs if:          - ё┆
0x0c0e0…0c100 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 6e 69 6c 2e 20 0d   ┆the reference variable is nil.  ┆
0x0c100…0c120 0a 20 20 20 2d 20 84 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 69 73   ┆    - ёthe reference variable is┆
0x0c120…0c140 20 6c 6f 63 6b 65 64 2e 20 0d 0a 0d 0a a1 55 73 65 72 1f 46 69 65 6c 64 73 20 20 20 4d 65 73 73   ┆ locked.     АUser Fields   Mess┆
0x0c140…0c160 61 67 65 20 20 20 20 20 41 6e 73 77 65 72 20 e1 20 20 20 20 75 31 20 20 20 20 20 20 20 20 66 75   ┆age     Answer р    u1        fu┆
0x0c160…0c180 6e 63 74 69 6f 6e 20 20 20 20 0a 75 6e 63 68 61 6e 67 65 64 20 20 20 20 20 75 32 20 20 20 20 20   ┆nction     unchanged     u2     ┆
0x0c180…0c1a0 20 20 20 75 6e 75 73 65 64 20 20 20 20 20 20 72 65 73 75 6c 74 20 20 20 20 20 75 33 20 20 20 20   ┆   unused      result     u3    ┆
0x0c1a0…0c1c0 20 20 20 20 70 61 72 61 6d 20 20 20 20 20 20 20 0a 75 6e 63 68 61 6e 67 65 64 20 20 20 20 20 75   ┆    param        unchanged     u┆
0x0c1c0…0c1e0 34 20 20 20 20 20 20 20 20 75 6e 75 73 65 64 20 20 20 20 20 20 75 6e 63 68 61 6e 67 65 64 20 0d   ┆4        unused      unchanged  ┆
0x0c1e0…0c200 0a 0d 0a 41 6e 20 75 6e 6b 6e 6f 77 6e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 72 65 74 75 72 6e   ┆   An unknown function is return┆
0x0c200…0c220 65 64 20 77 69 74 68 20 72 65 73 75 6c 74 20 3d 20 36 2e 20 0d 0a 0d 0a 52 65 73 75 6c 74 20 3d   ┆ed with result = 6.     Result =┆
0x0c220…0c240 20 36 20 69 73 20 61 6c 73 6f 20 72 65 74 75 72 6e 65 64 2c 20 69 66 20 74 68 65 20 6d 65 73 73   ┆ 6 is also returned, if the mess┆
0x0c240…0c260 61 67 65 20 63 61 6e 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 61 20 70 72 6f 70 65 72 20 0a 72 65 73   ┆age cannot contain a proper  res┆
0x0c260…0c280 75 6c 74 20 72 65 63 6f 72 64 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 20 4c 6f 6f 6b 75 70   ┆ult record.          SD   Lookup┆
0x0c280…0c2a0 5f 6e 61 6d 65 20 20 20 20 0d 0a a1 55 73 65 72 1f 46 69 65 6c 64 73 20 20 20 4d 65 73 73 61 67   ┆_name      АUser Fields   Messag┆
0x0c2a0…0c2c0 65 20 20 20 20 20 41 6e 73 77 65 72 20 e1 20 20 20 20 75 31 20 20 20 20 20 20 20 20 33 20 33 20   ┆e     Answer р    u1        3 3 ┆
0x0c2c0…0c2e0 20 20 20 20 75 32 20 20 20 20 20 20 20 20 0a 75 6e 75 73 65 64 20 20 20 20 20 20 72 65 73 75 6c   ┆    u2         unused      resul┆
0x0c2e0…0c300 74 20 20 20 20 20 75 33 20 20 20 20 20 20 20 20 75 6e 75 73 65 64 20 20 20 20 20 20 75 6e 63 68   ┆t     u3        unused      unch┆
0x0c300…0c320 61 6e 67 65 64 20 20 20 20 20 75 34 20 20 20 20 20 20 20 20 0a 75 6e 75 73 65 64 20 20 20 20 20   ┆anged     u4         unused     ┆
0x0c320…0c340 20 75 6e 63 68 61 6e 67 65 64 20 0d 0a 0d 0a a1 44 61 74 61 62 75 66 66 65 72 20 e1 41 20 6d 65   ┆ unchanged     АDatabuffer рA me┆
0x0c340…0c360 73 73 61 67 65 20 6f 66 20 74 68 65 20 70 72 65 64 65 66 69 6e 65 64 20 74 79 70 65 20 0a 27 6c   ┆ssage of the predefined type  'l┆
0x0c360…0c380 6f 6f 6b 75 70 5f 64 65 73 63 72 69 70 74 6f 72 5f 73 65 67 6d 65 6e 74 27 20 28 63 68 61 70 74   ┆ookup_descriptor_segment' (chapt┆
0x0c380…0c3a0 65 72 20 34 29 2e 20 0d 0a 0d 0a 54 68 65 20 4c 49 4e 4b 45 52 20 63 61 74 61 6c 6f 67 20 69 73   ┆er 4).     The LINKER catalog is┆
0x0c3a0…0c3c0 20 73 65 61 72 63 68 65 64 20 66 6f 72 20 61 20 70 72 6f 67 72 61 6d 20 77 69 74 68 20 6e 61 6d   ┆ searched for a program with nam┆
0x0c3c0…0c3e0 65 20 27 6e 61 6d 65 27 2e 20 0a 53 6f 6d 65 20 76 61 6c 75 65 73 20 6f 66 20 27 6e 61 6d 65 27   ┆e 'name'.  Some values of 'name'┆
0x0c3e0…0c400 20 68 61 76 65 20 73 70 65 63 69 61 6c 20 65 66 66 65 63 74 73 2c 20 62 79 20 73 65 6e 64 69 6e   ┆ have special effects, by sendin┆
0x0c400…0c420 67 20 6f 75 74 70 75 74 20 0a 64 69 72 65 63 74 6c 79 20 74 6f 20 74 68 65 20 4f 50 45 52 41 54   ┆g output  directly to the OPERAT┆
0x0c420…0c440 4f 52 20 73 65 6d 61 70 68 6f 72 65 2c 20 62 65 66 6f 72 65 20 72 65 74 75 72 6e 69 6e 67 20 74   ┆OR semaphore, before returning t┆
0x0c440…0c460 68 65 20 72 65 71 75 65 73 74 2e 20 49 66 20 0a 74 68 65 20 6e 61 6d 65 20 63 6f 6e 74 61 69 6e   ┆he request. If  the name contain┆
0x0c460…0c480 73 20 61 20 77 69 6c 64 20 63 68 61 72 61 63 74 65 72 20 22 2a 22 2c 20 74 68 65 20 77 68 6f 6c   ┆s a wild character "*", the whol┆
0x0c480…0c4a0 65 20 4c 49 4e 4b 45 52 20 63 61 74 61 6c 6f 67 20 69 73 20 0a 73 63 61 6e 6e 65 64 2e 20 50 72   ┆e LINKER catalog is  scanned. Pr┆
0x0c4a0…0c4c0 6f 67 72 61 6d 73 20 61 72 65 20 6c 69 73 74 65 64 20 69 66 20 74 68 65 20 6e 61 6d 65 20 73 61   ┆ograms are listed if the name sa┆
0x0c4c0…0c4e0 74 69 73 66 69 65 73 20 61 20 27 77 69 6c 64 20 63 68 61 72 61 63 74 65 72 20 0a 63 6f 6d 70 61   ┆tisfies a 'wild character  compa┆
0x0c4e0…0c500 72 65 27 2e 20 28 53 65 65 20 74 68 65 20 72 6f 75 74 69 6e 65 20 57 49 4c 44 5f 43 4f 4d 50 41   ┆re'. (See the routine WILD_COMPA┆
0x0c500…0c520 52 45 29 2e 20 49 66 20 74 68 65 20 6e 61 6d 65 20 69 73 20 0a 27 50 52 4f 43 45 53 53 27 20 61   ┆RE). If the name is  'PROCESS' a┆
0x0c520…0c540 6c 6c 20 70 72 6f 67 72 61 6d 73 20 6f 66 20 6b 69 6e 64 20 70 72 6f 63 65 73 73 20 61 72 65 20   ┆ll programs of kind process are ┆
0x0c540…0c560 6c 69 73 74 65 64 2e 20 49 66 20 74 68 65 20 6e 61 6d 65 20 69 73 20 0a 27 50 52 4f 43 45 44 55   ┆listed. If the name is  'PROCEDU┆
0x0c560…0c580 52 45 27 20 6f 72 20 27 46 55 4e 43 54 49 4f 4e 27 2c 20 61 6c 6c 20 70 72 6f 67 72 61 6d 73 20   ┆RE' or 'FUNCTION', all programs ┆
0x0c580…0c5a0 6f 66 20 6b 69 6e 64 20 70 72 6f 63 65 64 75 72 65 20 6f 72 20 0a 66 75 6e 63 74 69 6f 6e 20 61   ┆of kind procedure or  function a┆
0x0c5a0…0c5c0 72 65 20 6c 69 73 74 65 64 2e 20 0d 0a 0d 0a 52 65 73 75 6c 74 73 20 20 4d 65 61 6e 69 6e 67 20   ┆re listed.     Results  Meaning ┆
0x0c5c0…0c5e0 1f 1f 1f 1f 30 1f 1f 1f 1f 4f 4b 2e 20 41 20 70 72 6f 67 72 61 6d 20 77 69 74 68 20 6e 61 6d 65   ┆    0    OK. A program with name┆
0x0c5e0…0c600 20 27 6e 61 6d 65 27 20 69 73 20 66 6f 75 6e 64 20 0a 69 6e 20 74 68 65 20 1f 1f 1f 1f 1f 1f 1f   ┆ 'name' is found  in the        ┆
0x0c600…0c620 1f 1f 4c 49 4e 4b 45 52 20 63 61 74 61 6c 6f 67 2e 20 49 6e 20 74 68 65 20 61 6e 73 77 65 72 2c   ┆  LINKER catalog. In the answer,┆
0x0c620…0c640 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 0a 1f 1f 1f 1f 1f 1f 1f 1f 1f 66 69 65 6c 64 73 20   ┆ the remaining           fields ┆
0x0c640…0c660 6f 66 20 74 68 65 20 74 79 70 65 20 27 6c 6f 6f 6b 75 70 5f 64 65 73 63 72 69 70 74 6f 72 5f 73   ┆of the type 'lookup_descriptor_s┆
0x0c660…0c680 65 67 6d 65 6e 74 27 20 1f 1f 1f 1f 1f 1f 1f 1f 1f 61 72 65 20 0a 69 6e 69 74 69 61 6c 69 7a 65   ┆egment'          are  initialize┆
0x0c680…0c6a0 64 2e 20 1f 1f 1f 1f 31 1f 1f 1f 1f 4e 6f 20 70 72 6f 67 72 61 6d 20 77 69 74 68 20 6e 61 6d 65   ┆d.     1    No program with name┆
0x0c6a0…0c6c0 20 27 6e 61 6d 65 27 20 69 73 20 66 6f 75 6e 64 20 69 6e 20 0a 1f 1f 1f 1f 1f 1f 1f 1f 1f 74 68   ┆ 'name' is found in           th┆
0x0c6c0…0c6e0 65 20 4c 49 4e 4b 45 52 20 63 61 74 61 6c 6f 67 2e 20 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 43 68 65   ┆e LINKER catalog.        SD  Che┆
0x0c6e0…0c700 63 6b 0d 0a a1 55 73 65 72 1f 46 69 65 6c 64 73 20 20 20 4d 65 73 73 61 67 65 20 20 20 41 6e 73   ┆ck  АUser Fields   Message   Ans┆
0x0c700…0c720 77 65 72 20 e1 20 20 20 20 75 31 20 20 20 20 20 20 20 20 37 20 20 20 20 20 20 20 20 20 37 20 20   ┆wer р    u1        7         7  ┆
0x0c720…0c740 20 20 20 75 32 20 20 20 20 20 20 20 20 0a 75 6e 75 73 65 64 20 20 20 20 72 65 73 75 6c 74 20 20   ┆   u2         unused    result  ┆
0x0c740…0c760 20 20 20 75 33 20 20 20 20 20 20 20 20 6d 6f 64 75 6c 65 20 20 20 20 6d 6f 64 75 6c 65 20 20 20   ┆   u3        module    module   ┆
0x0c760…0c780 20 20 75 34 20 20 20 20 20 20 20 20 0a 75 6e 75 73 65 64 20 20 20 20 75 6e 63 68 61 6e 67 65 64   ┆  u4         unused    unchanged┆
0x0c780…0c7a0 20 a1 44 61 74 61 20 62 75 66 66 65 72 20 e1 41 20 6d 65 73 73 61 67 65 20 6f 66 20 73 69 7a 65   ┆ АData buffer рA message of size┆
0x0c7a0…0c7c0 20 36 34 20 77 6f 72 64 73 20 0a 28 6d 69 6e 69 6d 75 6d 29 2e 20 0d 0a 0d 0a 41 20 63 72 63 31   ┆ 64 words  (minimum).     A crc1┆
0x0c7c0…0c7e0 36 20 63 68 65 63 6b 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 6f 6e 20 74 68 65 20 6d 6f 64 75   ┆6 check is performed on the modu┆
0x0c7e0…0c800 6c 65 2e 20 0d 0a 0d 0a a1 4e 6f 74 65 3a e1 20 54 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20   ┆le.     АNote:р The size of the ┆
0x0c800…0c820 6d 65 73 73 61 67 65 20 6d 75 73 74 20 62 65 20 61 74 20 6c 65 61 73 74 20 36 34 20 77 6f 72 64   ┆message must be at least 64 word┆
0x0c820…0c840 73 2e 20 0d 0a 0d 0a 8c 8a c0 0a 54 68 65 20 70 6f 6c 79 6e 6f 6d 69 75 6d 20 75 73 65 64 20 69   ┆s.     їі└ The polynomium used i┆
0x0c840…0c860 73 3a 20 0d 0a 0d 0a 20 20 20 20 20 78 20 31 36 20 2b 20 78 20 31 32 20 2b 20 78 20 35 20 2b 20   ┆s:          x 16 + x 12 + x 5 + ┆
0x0c860…0c880 31 20 0d 0a 0d 0a 77 69 74 68 20 72 65 6d 61 69 6e 64 65 72 20 3d 20 2d 31 20 61 73 20 69 6e 69   ┆1     with remainder = -1 as ini┆
0x0c880…0c8a0 74 69 61 6c 20 76 61 6c 75 65 2e 20 0d 0a 0d 0a 54 68 65 20 6d 6f 64 75 6c 65 20 6d 75 73 74 20   ┆tial value.     The module must ┆
0x0c8a0…0c8c0 68 61 76 65 20 74 68 65 20 66 6f 72 6d 61 74 3a 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d   ┆have the format:                ┆
0x0c8c0…0c8e0 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d   ┆                                ┆
              […0x1…]
0x0c900…0c920 0a 0d 0a 54 68 65 20 73 75 6d 73 20 69 6e 63 6c 75 64 65 20 74 68 65 20 27 41 41 41 41 27 20 61   ┆   The sums include the 'AAAA' a┆
0x0c920…0c940 6e 64 20 27 46 46 46 46 27 20 77 6f 72 64 73 2e 20 54 68 65 20 73 75 6d 20 77 6f 72 64 73 20 0a   ┆nd 'FFFF' words. The sum words  ┆
0x0c940…0c960 74 68 65 6d 73 65 6c 76 65 73 20 61 72 65 20 6e 6f 74 20 69 6e 63 6c 75 64 65 64 2e 20 0d 0a 0d   ┆themselves are not included.    ┆
0x0c960…0c980 0a 54 68 65 20 73 75 6d 20 63 68 65 63 6b 20 69 6e 20 74 68 65 20 6d 6f 64 75 6c 65 20 61 6e 64   ┆ The sum check in the module and┆
0x0c980…0c9a0 20 74 68 65 20 63 6f 6d 70 75 74 65 64 20 73 75 6d 20 61 72 65 20 64 65 6c 69 76 65 72 65 64 20   ┆ the computed sum are delivered ┆
0x0c9a0…0c9c0 69 6e 20 0a 74 68 65 20 6d 65 73 73 61 67 65 20 61 73 3a 20 0d 0a 0d 0a 8c 89 f8 0a 41 52 52 41   ┆in  the message as:     їЅЭ ARRA┆
0x0c9c0…0c9e0 59 20 28 31 2e 2e 33 32 29 20 4f 46 20 20 20 20 52 45 43 4f 52 44 20 20 20 20 20 20 20 70 72 6f   ┆Y (1..32) OF    RECORD       pro┆
0x0c9e0…0ca00 6d 73 75 6d 2c 20 20 20 20 20 20 20 65 78 70 65 63 74 65 64 3a 20 0a 69 6e 74 65 67 65 72 3b 20   ┆msum,       expected:  integer; ┆
0x0ca00…0ca20 20 20 20 45 4e 44 3b 20 0d 0a 0d 0a 52 65 73 75 6c 74 73 20 20 4d 65 61 6e 69 6e 67 20 1f 1f 1f   ┆   END;     Results  Meaning    ┆
0x0ca20…0ca40 1f 30 1f 1f 1f 1f 54 68 65 20 63 68 65 63 6b 20 73 75 6d 20 76 61 6c 75 65 73 20 61 72 65 20 72   ┆ 0    The check sum values are r┆
0x0ca40…0ca60 65 74 75 72 6e 65 64 20 20 0a 1f 1f 1f 1f 1f 1f 1f 1f 1f 69 6e 20 74 68 65 20 64 61 74 61 20 62   ┆eturned            in the data b┆
0x0ca60…0ca80 75 66 66 65 72 2e 20 1f 1f 1f 1f 31 1f 1f 1f 1f 54 68 65 20 6d 6f 64 75 6c 65 20 69 73 20 65 6d   ┆uffer.     1    The module is em┆
0x0ca80…0caa0 70 74 79 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 53 65 6e 64 74 69 6d 65 72 20 20 20 20 20   ┆pty.          SC  Sendtimer     ┆
0x0caa0…0cac0 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 65 6e 64 74 69 6d 65 72 20 28 56 41 52 20 72 20 3a   ┆    PROCEDURE sendtimer (VAR r :┆
0x0cac0…0cae0 20 72 65 66 65 72 65 6e 63 65 29 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d   ┆ reference);     Predefined.    ┆
0x0cae0…0cb00 0a 0d 0a 20 20 20 2d 20 84 73 69 67 6e 61 6c 73 20 74 68 65 20 6d 65 73 73 61 67 65 20 72 65 66   ┆      - ёsignals the message ref┆
0x0cb00…0cb20 65 72 65 6e 63 65 64 20 62 79 20 27 72 27 20 74 6f 20 74 68 65 20 54 49 4d 45 52 20 70 72 6f 63   ┆erenced by 'r' to the TIMER proc┆
0x0cb20…0cb40 65 73 73 2e 20 4e 6f 20 0a 19 85 80 80 77 61 69 74 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 69   ┆ess. No   Ёђђwait is performed i┆
0x0cb40…0cb60 6e 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 2e 20 0d 0a 0d 0a 41 6e 20 65 78 63 65 70 74 69 6f   ┆n the procedure.     An exceptio┆
0x0cb60…0cb80 6e 20 6f 63 63 75 72 73 20 69 66 3a 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 74 68 65 20 72 65 66   ┆n occurs if:          - ёthe ref┆
0x0cb80…0cba0 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 6e 69 6c 20 0d 0a 20 20 20 2d 20 84 74   ┆erence variable is nil      - ёt┆
0x0cba0…0cbc0 68 65 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 6c 6f 63 6b 65 64 20   ┆he reference variable is locked ┆
0x0cbc0…0cbe0 0d 0a 0d 0a 49 66 20 74 68 65 20 62 75 66 66 65 72 20 63 61 6e 6e 6f 74 20 63 6f 6e 74 61 69 6e   ┆    If the buffer cannot contain┆
0x0cbe0…0cc00 20 61 20 6d 65 73 73 61 67 65 20 6f 66 20 74 68 65 20 70 72 65 64 65 66 69 6e 65 64 20 74 79 70   ┆ a message of the predefined typ┆
0x0cc00…0cc20 65 20 0a 27 64 65 6c 61 79 74 79 70 65 27 20 28 63 68 61 70 74 65 72 20 34 29 20 77 68 65 6e 20   ┆e  'delaytype' (chapter 4) when ┆
0x0cc20…0cc40 64 65 6d 61 6e 64 65 64 2c 20 74 68 65 20 6d 65 73 73 61 67 65 20 69 73 20 72 65 66 75 73 65 64   ┆demanded, the message is refused┆
0x0cc40…0cc60 20 0a 69 6d 6d 65 64 69 61 74 65 6c 79 20 77 69 74 68 20 75 32 3d 34 20 28 75 6e 69 6e 74 65 6c   ┆  immediately with u2=4 (unintel┆
0x0cc60…0cc80 6c 69 67 69 62 6c 65 29 2e 20 55 6e 64 65 66 69 6e 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 61 72   ┆ligible). Undefined functions ar┆
0x0cc80…0cca0 65 20 0a 70 72 6f 63 65 73 73 65 64 20 61 73 20 61 20 67 65 74 20 63 6c 6f 63 6b 20 6d 65 73 73   ┆e  processed as a get clock mess┆
0x0cca0…0ccc0 61 67 65 2e 20 0d 0a 0d 0a 54 68 65 20 73 75 62 72 65 63 6f 72 64 20 63 6f 6e 73 69 73 74 69 6e   ┆age.     The subrecord consistin┆
0x0ccc0…0cce0 67 20 6f 66 20 74 68 65 20 66 69 65 6c 64 73 20 27 70 72 65 76 5f 64 61 74 65 27 2c 20 27 70 72   ┆g of the fields 'prev_date', 'pr┆
0x0cce0…0cd00 65 76 5f 74 69 6d 65 27 2c 20 61 6e 64 20 0a 27 70 72 65 76 5f 73 65 63 73 27 20 69 73 20 63 61   ┆ev_time', and  'prev_secs' is ca┆
0x0cd00…0cd20 6c 6c 65 64 20 27 62 75 66 66 65 72 20 74 69 6d 65 27 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a   ┆lled 'buffer time'.             ┆
0x0cd20…0cd40 0d 0a 16 53 44 0d 0a 20 53 68 6f 72 74 1f 44 65 6c 61 79 1f 4d 65 73 73 61 67 65 20 20 20 20 20   ┆   SD   Short Delay Message     ┆
0x0cd40…0cd60 20 0d 0a 0d 0a 0d 0a a1 55 73 65 72 1f 46 69 65 6c 64 73 20 20 20 4d 65 73 73 61 67 65 20 20 20   ┆       АUser Fields   Message   ┆
0x0cd60…0cd80 20 20 41 6e 73 77 65 72 20 e1 20 20 20 20 75 31 20 20 20 20 20 20 20 20 35 20 28 31 2b 34 2a 31   ┆  Answer р    u1        5 (1+4*1┆
0x0cd80…0cda0 29 20 20 20 35 20 20 20 20 20 0a 75 32 20 20 20 20 20 20 20 20 64 65 6c 61 79 31 28 3c 3e 30 29   ┆)   5      u2        delay1(<>0)┆
0x0cda0…0cdc0 20 72 65 73 75 6c 74 20 20 20 20 20 75 33 20 20 20 20 20 20 20 20 64 65 6c 61 79 32 20 20 20 20   ┆ result     u3        delay2    ┆
0x0cdc0…0cde0 20 20 30 20 20 20 20 20 75 34 20 20 20 20 20 20 20 20 0a 75 6e 75 73 65 64 20 20 20 20 20 20 75   ┆  0     u4         unused      u┆
0x0cde0…0ce00 6e 63 68 61 6e 67 65 64 20 0d 0a 0d 0a a1 44 61 74 61 1f 62 75 66 66 65 72 20 e1 4e 6f 74 20 75   ┆nchanged     АData buffer рNot u┆
0x0ce00…0ce20 73 65 64 2e 20 0d 0a 0d 0a a1 46 75 6e 63 74 69 6f 6e 20 e1 52 65 74 75 72 6e 73 20 74 68 65 20   ┆sed.     АFunction рReturns the ┆
0x0ce20…0ce40 6d 65 73 73 61 67 65 20 61 66 74 65 72 20 64 65 6c 61 79 31 20 2a 20 32 20 2a 2a 20 64 65 6c 61   ┆message after delay1 * 2 ** dela┆
0x0ce40…0ce60 79 32 20 6d 73 65 63 2e 20 0a 27 64 65 6c 61 79 31 27 20 61 6e 64 20 27 64 65 6c 61 79 32 27 20   ┆y2 msec.  'delay1' and 'delay2' ┆
0x0ce60…0ce80 6d 75 73 74 20 66 75 6c 66 69 6c 6c 20 74 68 65 20 72 65 6c 61 74 69 6f 6e 20 27 64 65 6c 61 79   ┆must fulfill the relation 'delay┆
0x0ce80…0cea0 31 2a 32 2a 2a 64 65 6c 61 79 32 20 3c 3d 20 0a 36 35 35 33 35 27 2e 20 0d 0a 0d 0a 52 65 73 75   ┆1*2**delay2 <=  65535'.     Resu┆
0x0cea0…0cec0 6c 74 73 20 20 4d 65 61 6e 69 6e 67 20 1f 1f 1f 1f 30 1f 1f 1f 1f 4f 4b 2e 20 1f 1f 1f 1f 31 1f   ┆lts  Meaning     0    OK.     1 ┆
0x0cec0…0cee0 1f 1f 1f 4e 6f 74 20 70 72 6f 63 65 73 73 65 64 2e 20 1f 1f 1f 1f 1f 1f 1f 1f 1f 54 68 65 20 0a   ┆   Not processed.          The  ┆
0x0cee0…0cf00 6d 65 73 73 61 67 65 20 69 73 20 72 65 67 72 65 74 74 65 64 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a   ┆message is regretted.           ┆
0x0cf00…0cf20 0d 0a 8c 8a c0 0a 0d 0a 16 53 44 0d 0a 20 4c 6f 6e 67 1f 41 62 73 6f 6c 75 74 65 1f 44 65 6c 61   ┆  їі└    SD   Long Absolute Dela┆
0x0cf20…0cf40 79 1f 4d 65 73 73 61 67 65 20 20 20 20 20 20 20 20 0d 0a 0d 0a 0d 0a a1 55 73 65 72 1f 46 69 65   ┆y Message              АUser Fie┆
0x0cf40…0cf60 6c 64 73 20 20 20 4d 65 73 73 61 67 65 20 20 20 20 20 41 6e 73 77 65 72 20 e1 20 20 20 20 75 31   ┆lds   Message     Answer р    u1┆
0x0cf60…0cf80 20 20 20 20 20 20 20 20 31 33 20 28 31 2b 34 2a 33 29 20 20 31 33 20 20 20 20 20 0a 75 32 20 20   ┆        13 (1+4*3)  13      u2  ┆
0x0cf80…0cfa0 20 20 20 20 20 20 75 6e 75 73 65 64 20 20 20 20 20 20 72 65 73 75 6c 74 20 20 20 20 20 75 33 20   ┆      unused      result     u3 ┆
0x0cfa0…0cfc0 20 20 20 20 20 20 20 75 6e 75 73 65 64 20 20 20 20 20 20 30 20 20 20 20 20 75 34 20 20 20 20 20   ┆       unused      0     u4     ┆
0x0cfc0…0cfe0 20 20 20 0a 75 6e 75 73 65 64 20 20 20 20 20 20 75 6e 63 68 61 6e 67 65 64 20 0d 0a 0d 0a a1 44   ┆    unused      unchanged     АD┆
0x0cfe0…0d000 61 74 61 1f 62 75 66 66 65 72 20 e1 54 68 65 20 62 75 66 66 65 72 20 69 73 20 73 75 70 70 6f 73   ┆ata buffer рThe buffer is suppos┆
0x0d000…0d020 65 64 20 74 6f 20 68 6f 6c 64 20 61 20 6d 65 73 73 61 67 65 20 6f 66 20 74 79 70 65 20 0a 27 64   ┆ed to hold a message of type  'd┆
0x0d020…0d040 65 6c 61 79 74 79 70 65 27 20 28 63 68 61 70 74 65 72 20 34 29 2e 20 0d 0a 0d 0a a1 46 75 6e 63   ┆elaytype' (chapter 4).     АFunc┆
0x0d040…0d060 74 69 6f 6e 20 e1 54 68 65 20 62 75 66 66 65 72 20 74 69 6d 65 20 69 73 20 73 65 74 20 74 6f 20   ┆tion рThe buffer time is set to ┆
0x0d060…0d080 27 62 75 66 66 65 72 20 74 69 6d 65 20 2b 20 69 6e 63 27 2e 20 49 66 20 74 68 65 20 6e 65 77 20   ┆'buffer time + inc'. If the new ┆
0x0d080…0d0a0 0a 62 75 66 66 65 72 20 74 69 6d 65 20 69 73 20 62 65 66 6f 72 65 20 67 6c 6f 62 61 6c 20 74 69   ┆ buffer time is before global ti┆
0x0d0a0…0d0c0 6d 65 2c 20 74 68 65 20 62 75 66 66 65 72 20 74 69 6d 65 20 69 73 20 73 65 74 20 65 71 75 61 6c   ┆me, the buffer time is set equal┆
0x0d0c0…0d0e0 20 74 6f 20 0a 67 6c 6f 62 61 6c 20 74 69 6d 65 20 61 6e 64 20 74 68 65 20 6d 65 73 73 61 67 65   ┆ to  global time and the message┆
0x0d0e0…0d100 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 6d 6d 65 64 69 61 74 65 6c 79 2c 20 6f 74 68 65 72 77   ┆ is returned immediately, otherw┆
0x0d100…0d120 69 73 65 20 74 68 65 20 0a 6d 65 73 73 61 67 65 20 69 73 20 72 65 74 75 72 6e 65 64 20 77 68 65   ┆ise the  message is returned whe┆
0x0d120…0d140 6e 20 67 6c 6f 62 61 6c 20 74 69 6d 65 20 70 61 73 73 65 73 20 74 68 65 20 6e 65 77 20 62 75 66   ┆n global time passes the new buf┆
0x0d140…0d160 66 65 72 20 74 69 6d 65 2e 20 0d 0a 0d 0a 52 65 73 75 6c 74 73 20 20 4d 65 61 6e 69 6e 67 20 1f   ┆fer time.     Results  Meaning  ┆
0x0d160…0d180 1f 1f 1f 30 1f 1f 1f 1f 4f 4b 2e 20 1f 1f 1f 1f 31 1f 1f 1f 1f 4e 6f 74 20 70 72 6f 63 65 73 73   ┆   0    OK.     1    Not process┆
0x0d180…0d1a0 65 64 2e 20 1f 1f 1f 1f 1f 1f 1f 1f 1f 54 68 65 20 0a 6d 65 73 73 61 67 65 20 69 73 20 72 65 67   ┆ed.          The  message is reg┆
0x0d1a0…0d1c0 72 65 74 74 65 64 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 20 53 65 74 1f 43 6c 6f 63 6b 1f   ┆retted.          SD   Set Clock ┆
0x0d1c0…0d1e0 41 62 73 6f 6c 75 74 65 1f 4d 65 73 73 61 67 65 20 20 20 20 20 20 20 20 20 0d 0a 0d 0a 0d 0a a1   ┆Absolute Message               А┆
0x0d1e0…0d200 55 73 65 72 1f 46 69 65 6c 64 73 20 20 20 4d 65 73 73 61 67 65 20 20 20 20 20 41 6e 73 77 65 72   ┆User Fields   Message     Answer┆
0x0d200…0d220 20 e1 20 20 20 20 75 31 20 20 20 20 20 20 20 20 32 20 28 32 2b 34 2a 30 29 20 20 20 32 20 20 20   ┆ р    u1        2 (2+4*0)   2   ┆
0x0d220…0d240 20 20 0a 75 32 20 20 20 20 20 20 20 20 75 6e 75 73 65 64 20 20 20 20 20 20 30 20 20 20 20 20 75   ┆   u2        unused      0     u┆
0x0d240…0d260 33 20 20 20 20 20 20 20 20 75 6e 75 73 65 64 20 20 20 20 20 20 30 20 20 20 20 20 75 34 20 20 20   ┆3        unused      0     u4   ┆
0x0d260…0d280 20 20 20 20 20 0a 75 6e 75 73 65 64 20 20 20 20 20 20 75 6e 63 68 61 6e 67 65 64 20 0d 0a 0d 0a   ┆      unused      unchanged     ┆
0x0d280…0d2a0 a1 44 61 74 61 1f 62 75 66 66 65 72 20 e1 54 68 65 20 62 75 66 66 65 72 20 69 73 20 73 75 70 70   ┆АData buffer рThe buffer is supp┆
0x0d2a0…0d2c0 6f 73 65 64 20 74 6f 20 68 6f 6c 64 20 61 20 6d 65 73 73 61 67 65 20 6f 66 20 74 79 70 65 20 0a   ┆osed to hold a message of type  ┆
0x0d2c0…0d2e0 27 64 65 6c 61 79 74 79 70 65 27 2e 20 0d 0a 0d 0a a1 46 75 6e 63 74 69 6f 6e 20 e1 47 6c 6f 62   ┆'delaytype'.     АFunction рGlob┆
0x0d2e0…0d300 61 6c 20 74 69 6d 65 20 69 73 20 61 73 73 69 67 6e 65 64 20 66 72 6f 6d 20 74 68 65 20 62 75 66   ┆al time is assigned from the buf┆
0x0d300…0d320 66 65 72 20 74 69 6d 65 2e 20 28 27 69 6e 63 27 20 69 73 20 6e 6f 74 20 0a 75 73 65 64 29 2e 20   ┆fer time. ('inc' is not  used). ┆
0x0d320…0d340 54 68 65 20 71 75 65 75 65 20 6f 66 20 6c 6f 6e 67 20 64 65 6c 61 79 20 6d 65 73 73 61 67 65 73   ┆The queue of long delay messages┆
0x0d340…0d360 20 69 73 20 73 63 61 6e 6e 65 64 20 66 6f 72 20 65 76 65 6e 74 75 61 6c 20 0a 72 65 74 75 72 6e   ┆ is scanned for eventual  return┆
0x0d360…0d380 73 2e 20 0d 0a 0d 0a 54 68 65 20 6d 65 73 73 61 67 65 20 69 73 20 72 65 74 75 72 6e 65 64 20 69   ┆s.     The message is returned i┆
0x0d380…0d3a0 6d 6d 65 64 69 61 74 65 6c 79 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 20   ┆mmediately.                SD   ┆
0x0d3a0…0d3c0 47 65 74 1f 43 6c 6f 63 6b 1f 4d 65 73 73 61 67 65 20 20 20 20 20 20 20 20 0d 0a 0d 0a 0d 0a a1   ┆Get Clock Message              А┆
0x0d3c0…0d3e0 55 73 65 72 1f 46 69 65 6c 64 73 20 20 20 4d 65 73 73 61 67 65 20 20 20 20 20 41 6e 73 77 65 72   ┆User Fields   Message     Answer┆
0x0d3e0…0d400 20 e1 20 20 20 20 75 31 20 20 20 20 20 20 20 20 31 20 28 31 2b 34 2a 30 29 20 20 20 31 20 20 20   ┆ р    u1        1 (1+4*0)   1   ┆
0x0d400…0d420 20 20 0a 75 32 20 20 20 20 20 20 20 20 75 6e 75 73 65 64 20 20 20 20 20 20 30 20 20 20 20 20 75   ┆   u2        unused      0     u┆
0x0d420…0d440 33 20 20 20 20 20 20 20 20 75 6e 75 73 65 64 20 20 20 20 20 20 30 20 20 20 20 20 75 34 20 20 20   ┆3        unused      0     u4   ┆
0x0d440…0d460 20 20 20 20 20 0a 75 6e 75 73 65 64 20 20 20 20 20 20 75 6e 63 68 61 6e 67 65 64 20 0d 0a 0d 0a   ┆      unused      unchanged     ┆
0x0d460…0d480 a1 44 61 74 61 1f 62 75 66 66 65 72 20 e1 41 20 6d 65 73 73 61 67 65 20 6f 66 20 74 79 70 65 20   ┆АData buffer рA message of type ┆
0x0d480…0d4a0 27 64 65 6c 61 79 74 79 70 65 27 2e 20 0d 0a 0d 0a a1 46 75 6e 63 74 69 6f 6e 20 e1 47 6c 6f 62   ┆'delaytype'.     АFunction рGlob┆
0x0d4a0…0d4c0 61 6c 20 74 69 6d 65 20 69 73 20 61 73 73 69 67 6e 65 64 20 74 6f 20 74 68 65 20 62 75 66 66 65   ┆al time is assigned to the buffe┆
0x0d4c0…0d4e0 72 20 74 69 6d 65 2e 20 28 27 69 6e 63 27 20 69 73 20 6e 6f 74 20 0a 75 73 65 64 29 2e 20 0d 0a   ┆r time. ('inc' is not  used).   ┆
0x0d4e0…0d500 0d 0a 8c 8a 90 0a 54 68 65 20 6d 65 73 73 61 67 65 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 6d   ┆  їіљ The message is returned im┆
0x0d500…0d520 6d 65 64 69 61 74 65 6c 79 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 20 4c 6f 6e 67 1f 52 65   ┆mediately.          SD   Long Re┆
0x0d520…0d540 6c 61 74 69 76 65 1f 44 65 6c 61 79 1f 4d 65 73 73 61 67 65 20 20 20 20 20 20 20 20 0d 0a 0d 0a   ┆lative Delay Message            ┆
0x0d540…0d560 0d 0a a1 55 73 65 72 1f 46 69 65 6c 64 73 20 20 20 4d 65 73 73 61 67 65 20 20 20 20 20 41 6e 73   ┆  АUser Fields   Message     Ans┆
0x0d560…0d580 77 65 72 20 e1 20 20 20 20 75 31 20 20 20 20 20 20 20 20 39 20 28 31 2b 34 2a 32 29 20 20 20 39   ┆wer р    u1        9 (1+4*2)   9┆
0x0d580…0d5a0 20 20 20 20 20 0a 75 32 20 20 20 20 20 20 20 20 75 6e 75 73 65 64 20 20 20 20 20 20 72 65 73 75   ┆      u2        unused      resu┆
0x0d5a0…0d5c0 6c 74 20 20 20 20 20 75 33 20 20 20 20 20 20 20 20 75 6e 75 73 65 64 20 20 20 20 20 20 30 20 20   ┆lt     u3        unused      0  ┆
0x0d5c0…0d5e0 20 20 20 75 34 20 20 20 20 20 20 20 20 0a 75 6e 75 73 65 64 20 20 20 20 20 20 75 6e 63 68 61 6e   ┆   u4         unused      unchan┆
0x0d5e0…0d600 67 65 64 20 0d 0a 0d 0a a1 44 61 74 61 1f 62 75 66 66 65 72 20 e1 41 20 6d 65 73 73 61 67 65 20   ┆ged     АData buffer рA message ┆
0x0d600…0d620 6f 66 20 74 79 70 65 20 27 64 65 6c 61 79 74 79 70 65 27 2e 20 0d 0a 0d 0a a1 46 75 6e 63 74 69   ┆of type 'delaytype'.     АFuncti┆
0x0d620…0d640 6f 6e 20 e1 54 68 65 20 62 75 66 66 65 72 20 74 69 6d 65 20 69 73 20 73 65 74 20 74 6f 20 27 67   ┆on рThe buffer time is set to 'g┆
0x0d640…0d660 6c 6f 62 61 6c 20 74 69 6d 65 20 2b 20 69 6e 63 27 2e 20 54 68 65 20 6d 65 73 73 61 67 65 20 69   ┆lobal time + inc'. The message i┆
0x0d660…0d680 73 20 0a 72 65 74 75 72 6e 65 64 2c 20 77 68 65 6e 20 67 6c 6f 62 61 6c 20 74 69 6d 65 20 70 61   ┆s  returned, when global time pa┆
0x0d680…0d6a0 73 73 65 73 20 74 68 65 20 6e 65 77 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 62 75 66 66 65 72   ┆sses the new value of the buffer┆
0x0d6a0…0d6c0 20 74 69 6d 65 2e 20 0d 0a 0d 0a 52 65 73 75 6c 74 73 20 20 4d 65 61 6e 69 6e 67 20 1f 1f 1f 1f   ┆ time.     Results  Meaning     ┆
0x0d6c0…0d6e0 30 1f 1f 1f 1f 4f 4b 2e 20 1f 1f 1f 1f 31 1f 1f 1f 1f 4e 6f 74 20 70 72 6f 63 65 73 73 65 64 2e   ┆0    OK.     1    Not processed.┆
0x0d6e0…0d700 20 1f 1f 1f 1f 1f 1f 1f 1f 1f 54 68 65 20 0a 6d 65 73 73 61 67 65 20 69 73 20 72 65 67 72 65 74   ┆          The  message is regret┆
0x0d700…0d720 74 65 64 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 20 53 65 74 1f 43 6c 6f   ┆ted.                SD   Set Clo┆
0x0d720…0d740 63 6b 1f 52 65 6c 61 74 69 76 65 1f 4d 65 73 73 61 67 65 20 20 20 20 20 20 20 20 20 0d 0a 0d 0a   ┆ck Relative Message             ┆
0x0d740…0d760 0d 0a a1 55 73 65 72 1f 46 69 65 6c 64 73 20 20 20 4d 65 73 73 61 67 65 20 20 20 20 20 41 6e 73   ┆  АUser Fields   Message     Ans┆
0x0d760…0d780 77 65 72 20 e1 20 20 20 20 75 31 20 20 20 20 20 20 20 20 36 20 28 32 2b 34 2a 31 29 20 20 20 36   ┆wer р    u1        6 (2+4*1)   6┆
0x0d780…0d7a0 20 20 20 20 20 0a 75 32 20 20 20 20 20 20 20 20 75 6e 75 73 65 64 20 20 20 20 20 20 30 20 20 20   ┆      u2        unused      0   ┆
0x0d7a0…0d7c0 20 20 75 33 20 20 20 20 20 20 20 20 75 6e 75 73 65 64 20 20 20 20 20 20 30 20 20 20 20 20 75 34   ┆  u3        unused      0     u4┆
0x0d7c0…0d7e0 20 20 20 20 20 20 20 20 0a 75 6e 75 73 65 64 20 20 20 20 20 20 75 6e 63 68 61 6e 67 65 64 20 0d   ┆         unused      unchanged  ┆
0x0d7e0…0d800 0a 0d 0a a1 44 61 74 61 1f 62 75 66 66 65 72 20 e1 41 20 6d 65 73 73 61 67 65 20 6f 66 20 74 79   ┆   АData buffer рA message of ty┆
0x0d800…0d820 70 65 20 27 64 65 6c 61 79 74 79 70 65 27 2e 20 0d 0a 0d 0a a1 46 75 6e 63 74 69 6f 6e 20 e1 47   ┆pe 'delaytype'.     АFunction рG┆
0x0d820…0d840 6c 6f 62 61 6c 20 74 69 6d 65 20 69 73 20 73 65 74 20 74 6f 20 27 67 6c 6f 62 61 6c 20 74 69 6d   ┆lobal time is set to 'global tim┆
0x0d840…0d860 65 20 2b 20 69 6e 63 27 2c 20 61 6e 64 20 74 68 65 20 62 75 66 66 65 72 20 0a 74 69 6d 65 20 69   ┆e + inc', and the buffer  time i┆
0x0d860…0d880 73 20 73 65 74 20 74 6f 20 74 68 69 73 20 6e 65 77 20 76 61 6c 75 65 20 6f 66 20 67 6c 6f 62 61   ┆s set to this new value of globa┆
0x0d880…0d8a0 6c 20 74 69 6d 65 2e 20 54 68 65 20 6d 65 73 73 61 67 65 20 69 73 20 72 65 74 75 72 6e 65 64 20   ┆l time. The message is returned ┆
0x0d8a0…0d8c0 0a 69 6d 6d 65 64 69 61 74 65 6c 79 2e 20 54 68 65 20 71 75 65 75 65 20 6f 66 20 6c 6f 6e 67 20   ┆ immediately. The queue of long ┆
0x0d8c0…0d8e0 64 65 6c 61 79 20 6d 65 73 73 61 67 65 73 20 69 73 20 73 63 61 6e 6e 65 64 20 66 6f 72 20 0a 65   ┆delay messages is scanned for  e┆
0x0d8e0…0d900 76 65 6e 74 75 61 6c 20 72 65 74 75 72 6e 73 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 20 53   ┆ventual returns.          SD   S┆
0x0d900…0d920 65 74 1f 43 6c 6f 63 6b 1f 49 6e 74 65 72 76 61 6c 1f 4d 65 73 73 61 67 65 20 20 20 20 20 20 20   ┆et Clock Interval Message       ┆
0x0d920…0d940 20 20 0d 0a 0d 0a 0d 0a a1 55 73 65 72 1f 46 69 65 6c 64 73 20 20 20 4d 65 73 73 61 67 65 20 20   ┆        АUser Fields   Message  ┆
0x0d940…0d960 20 20 20 20 41 6e 73 77 65 72 20 e1 20 20 20 20 75 31 20 20 20 20 20 20 20 20 34 20 28 30 2b 34   ┆    Answer р    u1        4 (0+4┆
0x0d960…0d980 2a 31 29 20 20 20 20 34 20 20 20 20 20 0a 75 32 20 20 20 20 20 20 20 20 75 6e 75 73 65 64 20 20   ┆*1)    4      u2        unused  ┆
0x0d980…0d9a0 20 20 20 20 20 30 20 20 20 20 20 75 33 20 20 20 20 20 20 20 20 6e 65 77 20 69 6e 74 65 72 76 61   ┆     0     u3        new interva┆
0x0d9a0…0d9c0 6c 20 6f 6c 64 20 69 6e 74 65 72 76 61 6c 20 20 20 20 20 0a 75 34 20 20 20 20 20 20 20 20 75 6e   ┆l old interval      u4        un┆
0x0d9c0…0d9e0 75 73 65 64 20 20 20 20 20 20 20 75 6e 63 68 61 6e 67 65 64 20 0d 0a 0d 0a a1 44 61 74 61 1f 62   ┆used       unchanged     АData b┆
0x0d9e0…0da00 75 66 66 65 72 20 e1 4e 6f 74 20 75 73 65 64 2e 20 0d 0a 0d 0a a1 46 75 6e 63 74 69 6f 6e 20 e1   ┆uffer рNot used.     АFunction р┆
0x0da00…0da20 43 6f 6e 74 72 6f 6c 73 20 74 68 65 20 73 70 65 65 64 20 6f 66 20 67 6c 6f 62 61 6c 20 74 69 6d   ┆Controls the speed of global tim┆
0x0da20…0da40 65 2e 20 46 6f 72 20 65 76 65 72 79 20 52 65 61 6c 20 54 69 6d 65 20 0a 43 6c 6f 63 6b 20 69 6e   ┆e. For every Real Time  Clock in┆
0x0da40…0da60 74 65 72 72 75 70 74 2c 20 67 6c 6f 62 61 6c 20 74 69 6d 65 20 69 73 20 69 6e 63 72 65 6d 65 6e   ┆terrupt, global time is incremen┆
0x0da60…0da80 74 65 64 20 62 79 20 27 67 6c 6f 62 61 6c 20 69 6e 74 65 72 76 61 6c 27 20 6d 73 65 63 2e 20 0a   ┆ted by 'global interval' msec.  ┆
0x0da80…0daa0 44 65 66 61 75 6c 74 20 3d 20 35 30 20 6d 73 65 63 2e 20 4f 6e 6c 79 20 6c 6f 6e 67 20 64 65 6c   ┆Default = 50 msec. Only long del┆
0x0daa0…0dac0 61 79 73 20 61 72 65 20 69 6e 66 6c 75 65 6e 63 65 64 20 62 79 20 72 65 64 65 66 69 6e 69 74 69   ┆ays are influenced by redefiniti┆
0x0dac0…0dae0 6f 6e 73 20 6f 66 20 0a 27 67 6c 6f 62 61 6c 20 69 6e 74 65 72 76 61 6c 27 2e 20 53 68 6f 72 74   ┆ons of  'global interval'. Short┆
0x0dae0…0db00 20 64 65 6c 61 79 73 20 61 6e 64 20 74 68 65 20 52 54 43 20 69 6e 74 65 72 72 75 70 74 20 66 72   ┆ delays and the RTC interrupt fr┆
0x0db00…0db20 65 71 75 65 6e 63 79 20 61 72 65 20 0a 6e 6f 74 20 64 69 73 74 75 72 62 65 64 2e 20 0d 0a 0d 0a   ┆equency are  not disturbed.     ┆
0x0db20…0db40 8c 8a a8 0a a1 4e 65 77 1f 69 6e 74 65 72 76 61 6c 20 e1 27 47 6c 6f 62 61 6c 20 69 6e 74 65 72   ┆їіе АNew interval р'Global inter┆
0x0db40…0db60 76 61 6c 27 20 69 73 20 73 65 74 20 74 6f 20 27 6e 65 77 20 69 6e 74 65 72 76 61 6c 27 20 28 6d   ┆val' is set to 'new interval' (m┆
0x0db60…0db80 73 65 63 2e 29 2e 20 0d 0a 0d 0a a1 4f 6c 64 1f 69 6e 74 65 72 76 61 6c 20 e1 27 47 6c 6f 62 61   ┆sec.).     АOld interval р'Globa┆
0x0db80…0dba0 6c 20 69 6e 74 65 72 76 61 6c 27 20 69 73 20 72 65 74 75 72 6e 65 64 2c 20 62 65 66 6f 72 65 20   ┆l interval' is returned, before ┆
0x0dba0…0dbc0 73 65 74 20 74 6f 20 27 6e 65 77 20 69 6e 74 65 72 76 61 6c 27 20 0a 66 6f 72 20 72 65 65 73 74   ┆set to 'new interval'  for reest┆
0x0dbc0…0dbe0 61 62 6c 69 73 68 6d 65 6e 74 20 70 75 72 70 6f 73 65 73 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d   ┆ablishment purposes.            ┆
0x0dbe0…0dc00 0a 0d 0a 16 53 44 0d 0a 20 52 65 67 72 65 74 1f 4d 65 73 73 61 67 65 20 0d 0a 0d 0a 0d 0a a1 55   ┆    SD   Regret Message       АU┆
0x0dc00…0dc20 73 65 72 1f 46 69 65 6c 64 73 20 20 20 4d 65 73 73 61 67 65 20 20 20 20 20 41 6e 73 77 65 72 20   ┆ser Fields   Message     Answer ┆
0x0dc20…0dc40 e1 20 20 20 20 75 31 20 20 20 20 20 20 20 20 31 32 20 28 30 2b 34 2a 33 29 20 20 31 32 20 20 20   ┆р    u1        12 (0+4*3)  12   ┆
0x0dc40…0dc60 20 20 0a 75 32 20 20 20 20 20 20 20 20 75 6e 75 73 65 64 20 20 20 20 20 20 30 20 20 20 20 20 75   ┆   u2        unused      0     u┆
0x0dc60…0dc80 33 20 20 20 20 20 20 20 20 75 6e 75 73 65 64 20 20 20 20 20 20 75 6e 63 68 61 6e 67 65 64 20 20   ┆3        unused      unchanged  ┆
0x0dc80…0dca0 20 20 20 0a 75 34 20 20 20 20 20 20 20 20 75 6e 75 73 65 64 20 20 20 20 20 20 75 6e 63 68 61 6e   ┆    u4        unused      unchan┆
0x0dca0…0dcc0 67 65 64 20 0d 0a 0d 0a a1 44 61 74 61 1f 62 75 66 66 65 72 20 e1 4e 6f 74 20 75 73 65 64 2e 20   ┆ged     АData buffer рNot used. ┆
0x0dcc0…0dce0 0d 0a 0d 0a a1 46 75 6e 63 74 69 6f 6e 20 e1 54 68 65 20 64 65 6c 61 79 20 71 75 65 75 65 73 20   ┆    АFunction рThe delay queues ┆
0x0dce0…0dd00 61 72 65 20 73 63 61 6e 6e 65 64 2e 20 49 66 20 61 20 6d 65 73 73 61 67 65 20 69 73 20 66 6f 75   ┆are scanned. If a message is fou┆
0x0dd00…0dd20 6e 64 20 77 69 74 68 20 0a 6d 61 74 63 68 69 6e 67 20 27 6f 77 6e 65 72 20 73 65 6d 61 70 68 6f   ┆nd with  matching 'owner semapho┆
0x0dd20…0dd40 72 65 27 2c 20 69 74 20 69 73 20 72 65 74 75 72 6e 65 64 20 77 69 74 68 20 72 65 73 75 6c 74 20   ┆re', it is returned with result ┆
0x0dd40…0dd60 3d 20 31 20 28 6e 6f 74 20 0a 70 72 6f 63 65 73 73 65 64 29 2e 20 54 68 65 20 72 65 67 72 65 74   ┆= 1 (not  processed). The regret┆
0x0dd60…0dd80 20 6d 65 73 73 61 67 65 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 6d 6d 65 64 69 61 74 65 6c 79   ┆ message is returned immediately┆
0x0dd80…0dda0 2e 20 41 74 20 6d 6f 73 74 20 6f 6e 65 20 0a 6d 65 73 73 61 67 65 20 69 73 20 72 65 67 72 65 74   ┆. At most one  message is regret┆
0x0dda0…0ddc0 74 65 64 20 70 65 72 20 27 72 65 67 72 65 74 20 6d 65 73 73 61 67 65 27 2e 20 0d 0a 16 53 43 0d   ┆ted per 'regret message'.    SC ┆
0x0ddc0…0dde0 0a 53 65 6e 73 65 73 65 6d 20 20 20 20 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 65 6e   ┆ Sensesem          PROCEDURE sen┆
0x0dde0…0de00 73 65 73 65 6d 20 28 56 41 52 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 3b 20 56 41 52 20 73 20   ┆sesem (VAR r : reference; VAR s ┆
0x0de00…0de20 3a 20 73 65 6d 61 70 68 6f 72 65 29 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a   ┆: semaphore);     Predefined.   ┆
0x0de20…0de40 0d 0a 0d 0a 20 20 20 2d 20 84 49 66 20 61 20 6d 65 73 73 61 67 65 20 69 73 20 70 65 6e 64 69 6e   ┆       - ёIf a message is pendin┆
0x0de40…0de60 67 20 61 74 20 74 68 65 20 73 65 6d 61 70 68 6f 72 65 2c 20 69 74 20 69 73 20 64 65 6c 69 76 65   ┆g at the semaphore, it is delive┆
0x0de60…0de80 64 20 69 6e 20 27 72 27 2c 20 0a 19 85 80 80 6f 74 68 65 72 77 69 73 65 20 27 72 27 20 72 65 6d   ┆d in 'r',   Ёђђotherwise 'r' rem┆
0x0de80…0dea0 61 69 6e 73 20 6e 69 6c 2e 20 0d 0a 0d 0a 54 68 65 20 63 61 6c 6c 65 72 20 77 69 6c 6c 20 6e 6f   ┆ains nil.     The caller will no┆
0x0dea0…0dec0 74 20 62 65 20 77 61 69 74 69 6e 67 2e 20 0d 0a 0d 0a 41 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f   ┆t be waiting.     An exception o┆
0x0dec0…0dee0 63 63 75 72 73 20 69 66 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 70 61 72 61 6d 65 74 65 72   ┆ccurs if the reference parameter┆
0x0dee0…0df00 20 69 73 20 6e 6f 74 20 6e 69 6c 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 53 69 67 6e 61 6c   ┆ is not nil.          SC  Signal┆
0x0df00…0df20 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 69 67 6e 61 6c 20 28 56 41 52 20 72 3a 20 72 65 66 65 72   ┆  PROCEDURE signal (VAR r: refer┆
0x0df20…0df40 65 6e 63 65 3b 20 56 41 52 20 73 3a 20 73 65 6d 61 70 68 6f 72 65 29 3b 20 0d 0a 0d 0a 50 72 65   ┆ence; VAR s: semaphore);     Pre┆
0x0df40…0df60 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 49 66 20 74 68 65 20 73 65 6d 61   ┆defined.          - ёIf the sema┆
0x0df60…0df80 70 68 6f 72 65 20 69 73 20 70 61 73 73 69 76 65 20 6f 72 20 6f 70 65 6e 2c 20 74 68 65 20 6d 65   ┆phore is passive or open, the me┆
0x0df80…0dfa0 73 73 61 67 65 20 72 65 66 65 72 72 65 64 20 74 6f 20 62 79 20 0a 19 85 80 80 27 72 27 20 62 65   ┆ssage referred to by   Ёђђ'r' be┆
0x0dfa0…0dfc0 63 6f 6d 65 73 20 74 68 65 20 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 73 65   ┆comes the last element of the se┆
0x0dfc0…0dfe0 6d 61 70 68 6f 72 65 27 73 20 73 65 71 75 65 6e 63 65 20 6f 66 20 0a 19 85 80 80 6d 65 73 73 61   ┆maphore's sequence of   Ёђђmessa┆
0x0dfe0…0e000 67 65 73 2e 20 49 66 20 74 68 65 20 73 65 6d 61 70 68 6f 72 65 20 69 73 20 6c 6f 63 6b 65 64 2c   ┆ges. If the semaphore is locked,┆
0x0e000…0e020 20 74 68 65 20 6d 65 73 73 61 67 65 20 69 73 20 68 61 6e 64 65 64 20 0a 19 85 80 80 6f 76 65 72   ┆ the message is handed   Ёђђover┆
0x0e020…0e040 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 77 61 69 74 69 6e   ┆ to the first incarnation waitin┆
0x0e040…0e060 67 20 6f 6e 20 74 68 65 20 73 65 6d 61 70 68 6f 72 65 2c 20 61 6e 64 20 74 68 69 73 20 0a 19 85   ┆g on the semaphore, and this   Ё┆
0x0e060…0e080 80 80 69 6e 63 61 72 6e 61 74 69 6f 6e 20 69 73 20 61 63 74 69 76 61 74 65 64 2e 20 0d 0a 0d 0a   ┆ђђincarnation is activated.     ┆
0x0e080…0e0a0 41 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 20 69 66 3a 20 0d 0a 0d 0a 0d 0a 20 20   ┆An exception occurs if:         ┆
0x0e0a0…0e0c0 20 2d 20 84 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 6e 69   ┆ - ёthe reference variable is ni┆
0x0e0c0…0e0e0 6c 2e 20 0d 0a 20 20 20 2d 20 84 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c   ┆l.      - ёthe reference variabl┆
0x0e0e0…0e100 65 20 69 73 20 6c 6f 63 6b 65 64 2e 20 0d 0a 0d 0a 0d 0a 8c 8a d8 0a 0d 0a 16 53 43 0d 0a 57 61   ┆e is locked.       їіп    SC  Wa┆
0x0e100…0e120 69 74 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 77 61 69 74 20 28 56 41 52 20 72 3a 20 72 65 66   ┆it    PROCEDURE wait (VAR r: ref┆
0x0e120…0e140 65 72 65 6e 63 65 3b 20 56 41 52 20 73 3a 20 73 65 6d 61 70 68 6f 72 65 29 3b 20 0d 0a 0d 0a 50   ┆erence; VAR s: semaphore);     P┆
0x0e140…0e160 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 49 66 20 74 68 65 20 73 65   ┆redefined.          - ёIf the se┆
0x0e160…0e180 6d 61 70 68 6f 72 65 20 69 73 20 6f 70 65 6e 2c 20 74 68 65 20 66 69 72 73 74 20 6d 65 73 73 61   ┆maphore is open, the first messa┆
0x0e180…0e1a0 67 65 20 69 73 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68 65 20 0a 19 85 80 80 73 65 6d 61   ┆ge is removed from the   Ёђђsema┆
0x0e1a0…0e1c0 70 68 6f 72 65 27 73 20 73 65 71 75 65 6e 63 65 20 6f 66 20 6d 65 73 73 61 67 65 73 2e 20 49 66   ┆phore's sequence of messages. If┆
0x0e1c0…0e1e0 20 74 68 65 20 73 65 6d 61 70 68 6f 72 65 20 69 73 20 70 61 73 73 69 76 65 20 0a 19 85 80 80 6f   ┆ the semaphore is passive   Ёђђo┆
0x0e1e0…0e200 72 20 6c 6f 63 6b 65 64 2c 20 74 68 65 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 77 61 69 74 73 20   ┆r locked, the incarnation waits ┆
0x0e200…0e220 61 6e 64 20 62 65 63 6f 6d 65 73 20 74 68 65 20 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20   ┆and becomes the last element of ┆
0x0e220…0e240 0a 19 85 80 80 74 68 65 20 73 65 71 75 65 6e 63 65 20 6f 66 20 69 6e 63 61 72 6e 61 74 69 6f 6e   ┆  Ёђђthe sequence of incarnation┆
0x0e240…0e260 73 20 77 61 69 74 69 6e 67 20 6f 6e 20 74 68 65 20 73 65 6d 61 70 68 6f 72 65 2e 20 49 74 20 69   ┆s waiting on the semaphore. It i┆
0x0e260…0e280 73 20 0a 19 85 80 80 72 65 73 75 6d 65 64 20 62 79 20 61 6e 6f 74 68 65 72 20 69 6e 63 61 72 6e   ┆s   Ёђђresumed by another incarn┆
0x0e280…0e2a0 61 74 69 6f 6e 20 63 61 6c 6c 69 6e 67 20 53 49 47 4e 41 4c 20 6f 72 20 52 45 54 55 52 4e 2e 20   ┆ation calling SIGNAL or RETURN. ┆
0x0e2a0…0e2c0 0d 0a 0d 0a 54 68 65 20 72 65 66 65 72 65 6e 63 65 20 70 61 72 61 6d 65 74 65 72 20 6d 75 73 74   ┆    The reference parameter must┆
0x0e2c0…0e2e0 20 62 65 20 6e 69 6c 2c 20 6f 74 68 65 72 77 69 73 65 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20   ┆ be nil, otherwise an exception ┆
0x0e2e0…0e300 6f 63 63 75 72 73 2e 20 0a 41 66 74 65 72 20 61 20 63 61 6c 6c 20 6f 66 20 27 77 61 69 74 27 20   ┆occurs.  After a call of 'wait' ┆
0x0e300…0e320 69 74 20 72 65 66 65 72 73 20 74 6f 20 61 20 6d 65 73 73 61 67 65 2e 20 0d 0a 0d 0a 0d 0a 0d 0a   ┆it refers to a message.         ┆
0x0e320…0e340 16 53 43 0d 0a 57 61 69 74 64 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 77 61 69 74 64 20 28 64 65   ┆ SC  Waitd   PROCEDURE waitd (de┆
0x0e340…0e360 6c 61 79 20 3a 20 69 6e 74 65 67 65 72 29 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20   ┆lay : integer);     Predefined. ┆
0x0e360…0e380 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 77 61 69 74 73 20 66 6f 72 20 74 68 65 20 65 78 70 69 72 61   ┆         - ёwaits for the expira┆
0x0e380…0e3a0 74 69 6f 6e 20 6f 66 20 61 20 64 65 6c 61 79 20 70 65 72 69 6f 64 2e 20 0d 0a 0d 0a 54 68 65 20   ┆tion of a delay period.     The ┆
0x0e3a0…0e3c0 76 61 72 69 61 62 6c 65 20 4f 57 4e 2e 54 49 4d 45 52 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65   ┆variable OWN.TIMER is initialize┆
0x0e3c0…0e3e0 64 20 74 6f 20 27 64 65 6c 61 79 27 2c 20 61 6e 64 20 74 68 65 20 77 61 69 74 20 69 73 20 0a 70   ┆d to 'delay', and the wait is  p┆
0x0e3e0…0e400 65 72 66 6f 72 6d 65 64 2e 20 0d 0a 0d 0a a1 4e 6f 74 65 3a e1 20 43 6f 75 6e 74 20 64 6f 77 6e   ┆erformed.     АNote:р Count down┆
0x0e400…0e420 20 6f 66 20 4f 57 4e 2e 54 49 4d 45 52 20 6f 6e 6c 79 20 74 61 6b 65 73 20 70 6c 61 63 65 20 69   ┆ of OWN.TIMER only takes place i┆
0x0e420…0e440 66 20 74 68 65 20 72 6f 75 74 69 6e 65 20 0a 27 64 65 66 69 6e 65 74 69 6d 65 72 27 20 68 61 73   ┆f the routine  'definetimer' has┆
0x0e440…0e460 20 62 65 65 6e 20 63 61 6c 6c 65 64 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 57 61 69 74 73   ┆ been called.          SC  Waits┆
0x0e460…0e480 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 77 61 69 74 73 20 28 56 41 52 20 72 20 3a 20 72 65 66 65   ┆   PROCEDURE waits (VAR r : refe┆
0x0e480…0e4a0 72 65 6e 63 65 3b 20 56 41 52 20 73 20 3a 20 73 65 6d 61 70 68 6f 72 65 29 3b 20 0d 0a 0d 0a 50   ┆rence; VAR s : semaphore);     P┆
0x0e4a0…0e4c0 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 77 6f 72 6b 73 20 61 73 20   ┆redefined.          - ёworks as ┆
0x0e4c0…0e4e0 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 27 77 61 69 74 27 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53   ┆the procedure 'wait'.          S┆
0x0e4e0…0e500 43 0d 0a 57 61 69 74 73 64 0d 0a 46 55 4e 43 54 49 4f 4e 20 77 61 69 74 73 64 20 28 56 41 52 20   ┆C  Waitsd  FUNCTION waitsd (VAR ┆
0x0e500…0e520 72 20 3a 20 72 65 66 65 72 65 6e 63 65 3b 20 20 20 20 20 20 20 20 56 41 52 20 73 20 3a 20 73 65   ┆r : reference;        VAR s : se┆
0x0e520…0e540 6d 61 70 68 6f 72 65 3b 20 20 20 20 20 20 20 20 0a 64 65 6c 61 79 20 3a 20 69 6e 74 65 67 65 72   ┆maphore;         delay : integer┆
0x0e540…0e560 20 20 20 29 3a 20 61 63 74 69 76 61 74 69 6f 6e 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64   ┆   ): activation;     Predefined┆
0x0e560…0e580 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 77 61 69 74 73 20 66 6f 72 20 74 77 6f 20 6b 69 6e 64   ┆.          - ёwaits for two kind┆
0x0e580…0e5a0 73 20 6f 66 20 65 76 65 6e 74 3a 20 0d 0a 0d 0a 20 20 20 20 20 20 20 20 31 2e 20 54 68 65 20 61   ┆s of event:             1. The a┆
0x0e5a0…0e5c0 72 72 69 76 61 6c 20 6f 66 20 61 20 6d 65 73 73 61 67 65 20 74 6f 20 74 68 65 20 20 73 65 6d 61   ┆rrival of a message to the  sema┆
0x0e5c0…0e5e0 70 68 6f 72 65 20 27 73 27 20 0a 28 61 5f 73 65 6d 61 70 68 6f 72 65 29 20 20 20 20 20 20 20 20   ┆phore 's'  (a_semaphore)        ┆
0x0e5e0…0e600 20 32 2e 20 45 78 70 69 72 61 74 69 6f 6e 20 6f 66 20 61 20 64 65 6c 61 79 20 70 65 72 69 6f 64   ┆ 2. Expiration of a delay period┆
0x0e600…0e620 20 28 61 5f 64 65 6c 61 79 29 20 0d 0a 0d 0a 54 68 65 20 76 61 72 69 61 62 6c 65 20 4f 57 4e 2e   ┆ (a_delay)     The variable OWN.┆
0x0e620…0e640 54 49 4d 45 52 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 74 6f 20 27 64 65 6c 61 79 27 20   ┆TIMER is initialized to 'delay' ┆
0x0e640…0e660 62 65 66 6f 72 65 20 74 68 65 20 77 61 69 74 20 69 73 20 0a 70 65 72 66 6f 72 6d 65 64 2e 20 0d   ┆before the wait is  performed.  ┆
0x0e660…0e680 0a 0d 0a 8c 8b 88 0a 41 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 20 69 66 20 74 68   ┆   їІѕ An exception occurs if th┆
0x0e680…0e6a0 65 20 72 65 66 65 72 65 6e 63 65 20 27 72 27 20 69 73 20 6e 6f 74 20 6e 69 6c 2e 20 0d 0a 0d 0a   ┆e reference 'r' is not nil.     ┆
0x0e6a0…0e6c0 a1 4e 6f 74 65 3a e1 20 43 6f 75 6e 74 20 64 6f 77 6e 20 6f 66 20 4f 57 4e 2e 54 49 4d 45 52 20   ┆АNote:р Count down of OWN.TIMER ┆
0x0e6c0…0e6e0 6f 6e 6c 79 20 74 61 6b 65 73 20 70 6c 61 63 65 2c 20 69 66 20 27 64 65 66 69 6e 65 74 69 6d 65   ┆only takes place, if 'definetime┆
0x0e6e0…0e700 72 27 20 0a 68 61 73 20 62 65 65 6e 20 62 65 65 6e 20 63 61 6c 6c 65 64 2e 20 0d 0a 0d 0a 0d 0a   ┆r'  has been been called.       ┆
0x0e700…0e720 16 53 42 0d 0a 52 6f 75 74 69 6e 65 73 20 66 6f 72 20 4d 65 73 73 61 67 65 20 4d 61 6e 69 70 75   ┆ SB  Routines for Message Manipu┆
0x0e720…0e740 6c 61 74 69 6f 6e 20 20 20 0d 0a 54 68 65 20 72 6f 75 74 69 6e 65 73 20 69 6e 20 74 68 69 73 20   ┆lation     The routines in this ┆
0x0e740…0e760 73 65 63 74 69 6f 6e 20 61 72 65 20 75 73 65 64 20 66 6f 72 20 61 6c 6c 6f 63 61 74 69 6f 6e 20   ┆section are used for allocation ┆
0x0e760…0e780 61 6e 64 20 64 65 61 6c 6c 6f 63 61 74 69 6f 6e 20 0a 6f 66 20 6d 65 73 73 61 67 65 73 2c 20 62   ┆and deallocation  of messages, b┆
0x0e780…0e7a0 65 73 69 64 65 73 20 67 65 6e 65 72 61 6c 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 6f 66 20 6d   ┆esides general manipulation of m┆
0x0e7a0…0e7c0 65 73 73 61 67 65 20 73 74 61 63 6b 73 20 61 6e 64 20 0a 6d 65 73 73 61 67 65 20 61 74 74 72 69   ┆essage stacks and  message attri┆
0x0e7c0…0e7e0 62 75 74 65 73 2c 20 73 75 63 68 20 61 73 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 61   ┆butes, such as the size of the a┆
0x0e7e0…0e800 73 73 6f 63 69 61 74 65 64 20 62 75 66 66 65 72 2c 20 74 68 65 20 75 2d 0a 61 74 74 72 69 62 75   ┆ssociated buffer, the u- attribu┆
0x0e800…0e820 74 65 73 2c 20 61 6e 64 20 74 68 65 20 62 75 66 66 65 72 20 69 6e 64 65 78 20 61 74 74 72 69 62   ┆tes, and the buffer index attrib┆
0x0e820…0e840 75 74 65 73 2c 20 66 69 72 73 74 2c 20 6c 61 73 74 2c 20 61 6e 64 20 6e 65 78 74 2e 20 0d 0a 0d   ┆utes, first, last, and next.    ┆
0x0e840…0e860 0a 0d 0a 0d 0a 16 53 43 0d 0a 41 6c 6c 6f 63 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 61 6c 6c 6f   ┆      SC  Alloc   PROCEDURE allo┆
0x0e860…0e880 63 28 56 41 52 20 72 3a 20 72 65 66 65 72 65 6e 63 65 3b 20 56 41 52 20 70 3a 20 70 6f 6f 6c 20   ┆c(VAR r: reference; VAR p: pool ┆
0x0e880…0e8a0 31 3b 20 20 20 20 20 20 20 56 41 52 20 73 3a 20 0a 73 65 6d 61 70 68 6f 72 65 29 3b 20 0d 0a 0d   ┆1;       VAR s:  semaphore);    ┆
0x0e8a0…0e8c0 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 49 66 20 74 68 65 20   ┆ Predefined.          - ёIf the ┆
0x0e8c0…0e8e0 70 6f 6f 6c 20 6f 66 20 6d 65 73 73 61 67 65 73 20 69 73 20 6e 6f 74 20 65 6d 70 74 79 2c 20 6f   ┆pool of messages is not empty, o┆
0x0e8e0…0e900 6e 65 20 6f 66 20 74 68 65 20 6d 65 73 73 61 67 65 73 20 69 73 20 0a 19 85 80 80 72 65 6d 6f 76   ┆ne of the messages is   Ёђђremov┆
0x0e900…0e920 65 64 2e 20 49 66 20 74 68 65 20 70 6f 6f 6c 20 69 73 20 65 6d 70 74 79 2c 20 74 68 65 20 69 6e   ┆ed. If the pool is empty, the in┆
0x0e920…0e940 63 61 72 6e 61 74 69 6f 6e 20 77 61 69 74 73 20 75 6e 74 69 6c 20 61 20 0a 19 85 80 80 6d 65 73   ┆carnation waits until a   Ёђђmes┆
0x0e940…0e960 73 61 67 65 20 69 73 20 72 65 6c 65 61 73 65 64 20 74 6f 20 74 68 65 20 70 6f 6f 6c 20 62 79 20   ┆sage is released to the pool by ┆
0x0e960…0e980 61 6e 6f 74 68 65 72 20 70 72 6f 63 65 73 73 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 0a 19 85 80   ┆another process incarnation   Ёђ┆
0x0e980…0e9a0 80 63 61 6c 6c 69 6e 67 20 72 65 6c 65 61 73 65 2e 20 54 68 65 20 61 6e 73 77 65 72 20 73 65 6d   ┆ђcalling release. The answer sem┆
0x0e9a0…0e9c0 61 70 68 6f 72 65 20 6f 66 20 74 68 65 20 61 6c 6c 6f 63 61 74 65 64 20 6d 65 73 73 61 67 65 20   ┆aphore of the allocated message ┆
0x0e9c0…0e9e0 0a 19 85 80 80 62 65 63 6f 6d 65 73 20 27 73 27 2e 20 0d 0a 0d 0a 54 68 65 20 72 65 66 65 72 65   ┆  Ёђђbecomes 's'.     The refere┆
0x0e9e0…0ea00 6e 63 65 20 76 61 72 69 61 62 6c 65 20 6d 75 73 74 20 62 65 20 6e 69 6c 2c 20 6f 74 68 65 72 77   ┆nce variable must be nil, otherw┆
0x0ea00…0ea20 69 73 65 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 2e 20 0a 41 66 74 65 72 20   ┆ise an exception occurs.  After ┆
0x0ea20…0ea40 74 68 65 20 63 61 6c 6c 20 69 74 20 72 65 66 65 72 73 20 74 6f 20 61 20 6d 65 73 73 61 67 65 2e   ┆the call it refers to a message.┆
0x0ea40…0ea60 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 42 75 66 73 69 7a 65 20 20 20 20 20 20 20 20 20 0d 0a   ┆          SC  Bufsize           ┆
0x0ea60…0ea80 46 55 4e 43 54 49 4f 4e 20 62 75 66 73 69 7a 65 20 28 56 41 52 20 72 20 3a 20 72 65 66 65 72 65   ┆FUNCTION bufsize (VAR r : refere┆
0x0ea80…0eaa0 6e 63 65 29 20 3a 20 69 6e 74 65 67 65 72 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20   ┆nce) : integer;     Predefined. ┆
0x0eaa0…0eac0 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 49 66 20 74 68 65 20 27 62 75 66 73 69 7a 65 27 20 66 75 6e   ┆         - ёIf the 'bufsize' fun┆
0x0eac0…0eae0 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 70 61 72 61 6d 65 74 65 72   ┆ction is called with a parameter┆
0x0eae0…0eb00 20 77 69 74 68 20 76 61 6c 75 65 20 0a 19 85 80 80 4e 49 4c 2c 20 61 6e 20 65 78 63 65 70 74 69   ┆ with value   ЁђђNIL, an excepti┆
0x0eb00…0eb20 6f 6e 20 6f 63 63 75 72 73 2e 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 73 69 7a 65 20 69 6e   ┆on occurs. Otherwise the size in┆
0x0eb20…0eb40 20 62 79 74 65 73 20 6f 66 20 74 68 65 20 0a 19 85 80 80 64 65 73 69 67 6e 61 74 65 64 20 62 75   ┆ bytes of the   Ёђђdesignated bu┆
0x0eb40…0eb60 66 66 65 72 20 69 73 20 72 65 74 75 72 6e 65 64 20 61 73 20 72 65 73 75 6c 74 2e 20 0d 0a 0d 0a   ┆ffer is returned as result.     ┆
0x0eb60…0eb80 0d 0a 0d 0a 16 53 43 0d 0a 45 6d 70 74 79 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 65 6d 70 74 79 20   ┆     SC  Empty   FUNCTION empty ┆
0x0eb80…0eba0 28 56 41 52 20 72 3a 20 72 65 66 65 72 65 6e 63 65 29 3a 20 62 6f 6f 6c 65 61 6e 3b 20 0d 0a 0d   ┆(VAR r: reference): boolean;    ┆
0x0eba0…0ebc0 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 74 72 75 65 2c 20 69   ┆ Predefined.          - ёtrue, i┆
0x0ebc0…0ebe0 66 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 72 65 66 65 72 73 20   ┆f the reference variable refers ┆
0x0ebe0…0ec00 74 6f 20 61 6e 20 75 6e 73 74 61 63 6b 65 64 20 6d 65 73 73 61 67 65 20 0a 19 85 80 80 28 6f 6e   ┆to an unstacked message   Ёђђ(on┆
0x0ec00…0ec20 65 20 68 65 61 64 65 72 20 6f 6e 6c 79 29 2c 20 6f 74 68 65 72 77 69 73 65 20 66 61 6c 73 65 2e   ┆e header only), otherwise false.┆
0x0ec20…0ec40 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 46 69 72 73 74 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 66   ┆          SC  First   FUNCTION f┆
0x0ec40…0ec60 69 72 73 74 20 28 56 41 52 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 29 20 3a 20 69 6e 74 65 67   ┆irst (VAR r : reference) : integ┆
0x0ec60…0ec80 65 72 3b 20 0d 0a 0d 0a 8c 8a f0 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20   ┆er;     їі  Predefined.         ┆
0x0ec80…0eca0 20 2d 20 84 49 66 20 74 68 65 20 27 66 69 72 73 74 27 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63   ┆ - ёIf the 'first' function is c┆
0x0eca0…0ecc0 61 6c 6c 65 64 20 77 69 74 68 20 61 20 70 61 72 61 6d 65 74 65 72 20 77 69 74 68 20 76 61 6c 75   ┆alled with a parameter with valu┆
0x0ecc0…0ece0 65 20 4e 49 4c 20 0a 19 85 80 80 6f 72 20 74 68 65 20 6d 65 73 73 61 67 65 20 69 73 20 61 20 68   ┆e NIL   Ёђђor the message is a h┆
0x0ece0…0ed00 65 61 64 65 72 20 6d 65 73 73 61 67 65 20 6f 6e 6c 79 2c 20 61 6e 20 65 78 63 65 70 74 69 6f 6e   ┆eader message only, an exception┆
0x0ed00…0ed20 20 6f 63 63 75 72 73 2e 20 0a 19 85 80 80 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 72 65 73 75   ┆ occurs.   ЁђђOtherwise the resu┆
0x0ed20…0ed40 6c 74 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 27 66 69 72 73 74 27 20 61   ┆lt is the value of the 'first' a┆
0x0ed40…0ed60 74 74 72 69 62 75 74 65 20 6f 66 20 74 68 65 20 0a 19 85 80 80 64 65 73 69 67 6e 61 74 65 64 20   ┆ttribute of the   Ёђђdesignated ┆
0x0ed60…0ed80 62 75 66 66 65 72 2e 20 4e 4f 54 45 3a 20 54 68 65 20 27 66 69 72 73 74 27 20 61 74 74 72 69 62   ┆buffer. NOTE: The 'first' attrib┆
0x0ed80…0eda0 75 74 65 20 69 73 20 74 68 65 20 66 69 72 73 74 20 77 6f 72 64 20 0a 19 85 80 80 69 6e 20 74 68   ┆ute is the first word   Ёђђin th┆
0x0eda0…0edc0 65 20 62 75 66 66 65 72 2c 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 64 72 69 76 65   ┆e buffer, according to the drive┆
0x0edc0…0ede0 72 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 2e 20 41 20 64 61 74 61 20 0a 19 85 80 80 6d 65 73 73 61   ┆r conventions. A data   Ёђђmessa┆
0x0ede0…0ee00 67 65 20 61 6c 77 61 79 73 20 68 6f 6c 64 73 20 74 68 65 20 27 66 69 72 73 74 27 20 61 74 74 72   ┆ge always holds the 'first' attr┆
0x0ee00…0ee20 69 62 75 74 65 2e 20 53 6f 20 74 68 65 20 62 75 66 66 65 72 20 69 73 20 0a 19 85 80 80 61 63 63   ┆ibute. So the buffer is   Ёђђacc┆
0x0ee20…0ee40 65 73 73 65 64 20 77 69 74 68 6f 75 74 20 6c 6f 63 6b 69 6e 67 20 74 68 65 20 72 65 66 65 72 65   ┆essed without locking the refere┆
0x0ee40…0ee60 6e 63 65 20 76 61 72 69 61 62 6c 65 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 49 6e 69 74 70   ┆nce variable.          SC  Initp┆
0x0ee60…0ee80 6f 6f 6c 20 20 20 20 20 20 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 69 6e 69 74 70 6f 6f 6c 20 28   ┆ool          FUNCTION initpool (┆
0x0ee80…0eea0 56 41 52 20 70 20 3a 20 70 6f 6f 6c 20 30 3b 6e 75 6d 62 65 72 20 20 20 2c 73 69 7a 65 5f 69 6e   ┆VAR p : pool 0;number   ,size_in┆
0x0eea0…0eec0 5f 77 6f 72 64 73 20 3a 20 0a 69 6e 74 65 67 65 72 29 20 3a 20 69 6e 74 65 67 65 72 3b 20 0d 0a   ┆_words :  integer) : integer;   ┆
0x0eec0…0eee0 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 73 75   ┆  Not predefined.          - ёsu┆
0x0eee0…0ef00 70 70 6c 69 65 73 20 74 68 65 20 70 6f 6f 6c 20 76 61 72 69 61 62 6c 65 20 27 70 27 20 77 69 74   ┆pplies the pool variable 'p' wit┆
0x0ef00…0ef20 68 20 27 6e 75 6d 62 65 72 27 20 6d 65 73 73 61 67 65 73 20 6f 66 20 73 69 7a 65 20 0a 19 85 80   ┆h 'number' messages of size   Ёђ┆
0x0ef20…0ef40 80 27 73 69 7a 65 5f 69 6e 5f 77 6f 72 64 73 27 2e 20 54 68 65 20 72 65 73 75 6c 74 20 69 6e 64   ┆ђ'size_in_words'. The result ind┆
0x0ef40…0ef60 69 63 61 74 65 73 20 74 68 65 20 61 63 74 75 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 0a 19 85 80   ┆icates the actual number of   Ёђ┆
0x0ef60…0ef80 80 6d 65 73 73 61 67 65 73 20 6f 62 74 61 69 6e 65 64 20 66 72 6f 6d 20 74 68 65 20 41 4c 4c 4f   ┆ђmessages obtained from the ALLO┆
0x0ef80…0efa0 43 41 54 4f 52 2e 20 54 68 65 20 27 6f 77 6e 65 72 27 20 73 65 6d 61 70 68 6f 72 65 20 0a 19 85   ┆CATOR. The 'owner' semaphore   Ё┆
0x0efa0…0efc0 80 80 69 6e 20 74 68 65 20 6d 65 73 73 61 67 65 73 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64   ┆ђђin the messages is initialized┆
0x0efc0…0efe0 20 74 6f 20 74 68 65 20 61 6e 6f 6e 79 6d 6f 75 73 20 70 6f 6f 6c 20 73 65 6d 61 70 68 6f 72 65   ┆ to the anonymous pool semaphore┆
0x0efe0…0f000 2e 20 0a 19 85 80 80 54 68 61 74 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 6d 65 73 73 61   ┆.   ЁђђThat means that the messa┆
0x0f000…0f020 67 65 73 20 61 72 65 20 72 65 74 75 72 6e 65 64 20 74 6f 20 74 68 65 20 70 6f 6f 6c 20 76 61 72   ┆ges are returned to the pool var┆
0x0f020…0f040 69 61 62 6c 65 20 0a 19 85 80 80 62 79 20 61 20 27 72 65 6c 65 61 73 65 27 20 63 61 6c 6c 2e 20   ┆iable   Ёђђby a 'release' call. ┆
0x0f040…0f060 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 6d 61 79 20 62 65 20 75 73 65 64 20 74 6f 20 6f 62 74 61   ┆The function may be used to obta┆
0x0f060…0f080 69 6e 20 61 20 6d 6f 72 65 20 0a 19 85 80 80 66 6c 65 78 69 62 6c 65 20 69 6e 69 74 69 61 6c 69   ┆in a more   Ёђђflexible initiali┆
0x0f080…0f0a0 7a 61 74 69 6f 6e 20 6f 66 20 70 6f 6f 6c 20 76 61 72 69 61 62 6c 65 73 2e 20 0d 0a 0d 0a 0d 0a   ┆zation of pool variables.       ┆
0x0f0a0…0f0c0 0d 0a a1 45 78 61 6d 70 6c 65 20 20 34 2e 20 20 49 4e 49 54 50 4f 4f 4c 20 e1 20 20 50 52 4f 43   ┆  АExample  4.  INITPOOL р  PROC┆
0x0f0c0…0f0e0 45 53 53 20 65 78 61 6d 70 6c 65 34 3b 20 20 20 20 20 43 4f 4e 53 54 20 20 20 20 20 73 69 7a 65   ┆ESS example4;     CONST     size┆
0x0f0e0…0f100 20 3d 20 0a 33 37 3b 20 20 20 20 20 56 41 52 20 20 20 20 20 64 72 69 76 65 72 2c 20 20 20 20 20   ┆ =  37;     VAR     driver,     ┆
0x0f100…0f120 73 20 20 20 20 20 3a 20 73 65 6d 61 70 68 6f 72 65 3b 20 20 20 20 20 72 20 20 20 20 20 3a 20 0a   ┆s     : semaphore;     r     :  ┆
0x0f120…0f140 72 65 66 65 72 65 6e 63 65 3b 20 20 20 20 20 70 20 20 20 20 20 3a 20 70 6f 6f 6c 20 30 3b 20 20   ┆reference;     p     : pool 0;  ┆
0x0f140…0f160 20 20 28 2a 20 6e 6f 74 65 3a 20 70 20 6d 61 79 20 62 65 20 61 6e 20 65 6d 70 74 79 20 70 6f 6f   ┆  (* note: p may be an empty poo┆
0x0f160…0f180 6c 20 2a 29 20 20 20 20 20 20 20 0a 46 55 4e 43 54 49 4f 4e 20 69 6e 69 74 70 6f 6f 6c 20 28 56   ┆l *)        FUNCTION initpool (V┆
0x0f180…0f1a0 41 52 20 70 20 3a 20 70 6f 6f 6c 20 31 3b 20 20 20 20 20 20 20 6e 6f 2c 20 73 69 7a 65 20 3a 20   ┆AR p : pool 1;       no, size : ┆
0x0f1a0…0f1c0 69 6e 74 65 67 65 72 29 20 3a 20 0a 69 6e 74 65 67 65 72 3b 20 20 20 20 20 45 58 54 45 52 4e 41   ┆integer) :  integer;     EXTERNA┆
0x0f1c0…0f1e0 4c 3b 20 20 20 20 20 42 45 47 49 4e 20 20 20 20 20 49 46 20 69 6e 69 74 70 6f 6f 6c 20 28 70 2c   ┆L;     BEGIN     IF initpool (p,┆
0x0f1e0…0f200 20 31 2c 20 73 69 7a 65 29 20 3d 20 30 20 0a 54 48 45 4e 20 20 20 20 20 20 20 20 20 28 2a 20 6e   ┆ 1, size) = 0  THEN         (* n┆
0x0f200…0f220 6f 20 61 76 61 69 6c 61 62 6c 65 20 6d 65 6d 6f 72 79 20 6e 6f 77 20 2a 29 20 20 20 20 20 45 4c   ┆o available memory now *)     EL┆
0x0f220…0f240 53 45 20 20 20 20 20 20 20 0a 42 45 47 49 4e 20 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 20 20 28   ┆SE        BEGIN         alloc  (┆
0x0f240…0f260 72 2c 20 70 2c 20 73 29 3b 20 28 2a 20 6e 6f 77 20 72 2e 61 6e 73 77 65 72 20 3d 20 72 65 66 20   ┆r, p, s); (* now r.answer = ref ┆
0x0f260…0f280 28 73 29 20 2a 29 20 20 20 20 20 20 20 20 20 0a 73 69 67 6e 61 6c 20 28 72 2c 20 64 72 69 76 65   ┆(s) *)          signal (r, drive┆
0x0f280…0f2a0 72 29 3b 20 20 20 20 20 20 20 20 20 77 61 69 74 20 20 20 28 72 2c 73 29 3b 20 20 20 20 20 20 20   ┆r);         wait   (r,s);       ┆
0x0f2a0…0f2c0 45 4e 44 3b 20 20 20 45 4e 44 3b 20 28 2a 20 0a 65 78 61 6d 70 6c 65 34 20 2a 29 20 20 20 2e 20   ┆END;   END; (*  example4 *)   . ┆
0x0f2c0…0f2e0 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 49 6e 69 74 73 65 6d 20 20 20 20 20 20 20 20 20 0d 0a 46   ┆         SC  Initsem           F┆
0x0f2e0…0f300 55 4e 43 54 49 4f 4e 20 69 6e 69 74 73 65 6d 20 28 56 41 52 20 73 20 3a 20 73 65 6d 61 70 68 6f   ┆UNCTION initsem (VAR s : semapho┆
0x0f300…0f320 72 65 3b 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 20 20 20 2c 20 20 20 20 20 20 20 20 20 0a   ┆re;         number   ,          ┆
0x0f320…0f340 73 69 7a 65 5f 69 6e 5f 77 6f 72 64 73 20 3a 20 69 6e 74 65 67 65 72 29 20 3a 20 69 6e 74 65 67   ┆size_in_words : integer) : integ┆
0x0f340…0f360 65 72 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20   ┆er;     Not predefined.         ┆
0x0f360…0f380 20 2d 20 84 73 75 70 70 6c 69 65 73 20 74 68 65 20 73 65 6d 61 70 68 6f 72 65 20 27 73 27 20 77   ┆ - ёsupplies the semaphore 's' w┆
0x0f380…0f3a0 69 74 68 20 27 6e 75 6d 62 65 72 27 20 6d 65 73 73 61 67 65 73 20 6f 66 20 73 69 7a 65 20 0a 19   ┆ith 'number' messages of size   ┆
0x0f3a0…0f3c0 85 80 80 27 73 69 7a 65 5f 69 6e 5f 77 6f 72 64 73 27 2e 20 54 68 65 20 72 65 73 75 6c 74 20 69   ┆Ёђђ'size_in_words'. The result i┆
0x0f3c0…0f3e0 6e 64 69 63 61 74 65 73 20 74 68 65 20 61 63 74 75 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 0a 19   ┆ndicates the actual number of   ┆
0x0f3e0…0f400 85 80 80 6d 65 73 73 61 67 65 73 20 6f 62 74 61 69 6e 65 64 20 66 72 6f 6d 20 74 68 65 20 41 4c   ┆Ёђђmessages obtained from the AL┆
0x0f400…0f420 4c 4f 43 41 54 4f 52 2e 20 54 68 65 20 27 6f 77 6e 65 72 27 20 61 6e 64 20 0a 19 85 80 80 27 61   ┆LOCATOR. The 'owner' and   Ёђђ'a┆
0x0f420…0f440 6e 73 77 65 72 27 20 73 65 6d 61 70 68 6f 72 65 73 20 69 6e 20 74 68 65 20 6d 65 73 73 61 67 65   ┆nswer' semaphores in the message┆
0x0f440…0f460 73 20 63 61 6e 6e 6f 74 20 62 65 20 75 70 64 61 74 65 64 2e 20 54 68 61 74 20 0a 19 85 80 80 6d   ┆s cannot be updated. That   Ёђђm┆
0x0f460…0f480 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 6d 65 73 73 61 67 65 73 20 72 65 74 75 72 6e 20 74 6f   ┆eans that the messages return to┆
0x0f480…0f4a0 20 74 68 65 20 41 4c 4c 4f 43 41 54 4f 52 20 62 79 20 27 72 65 74 75 72 6e 27 20 0a 19 85 80 80   ┆ the ALLOCATOR by 'return'   Ёђђ┆
0x0f4a0…0f4c0 6f 72 20 27 72 65 6c 65 61 73 65 27 20 63 61 6c 6c 73 2e 20 0d 0a 0d 0a 54 68 65 20 72 6f 75 74   ┆or 'release' calls.     The rout┆
0x0f4c0…0f4e0 69 6e 65 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 6f 62 74 61 69 6e 69 6e 67 20 74 65   ┆ine is intended for obtaining te┆
0x0f4e0…0f500 6d 70 6f 72 61 72 79 20 72 65 73 6f 75 72 63 65 73 20 66 72 6f 6d 20 74 68 65 20 0a 41 4c 4c 4f   ┆mporary resources from the  ALLO┆
0x0f500…0f520 43 41 54 4f 52 2e 20 54 68 65 20 6d 65 73 73 61 67 65 73 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62   ┆CATOR. The messages should not b┆
0x0f520…0f540 65 20 75 73 65 64 20 66 6f 72 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 2e 20 0a 8c 8a f0 0a 49   ┆e used for communication.  їі  I┆
0x0f540…0f560 4e 49 54 50 4f 4f 4c 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20 69 66 20 63 6f 6d 6d 75 6e   ┆NITPOOL should be used if commun┆
0x0f560…0f580 69 63 61 74 69 6f 6e 20 69 73 20 77 61 6e 74 65 64 2e 20 49 66 20 79 6f 75 20 69 6e 73 69 73 74   ┆ication is wanted. If you insist┆
0x0f580…0f5a0 2c 20 0a 74 68 65 20 6d 65 73 73 61 67 65 73 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 75 73 65 64   ┆,  the messages can only be used┆
0x0f5a0…0f5c0 20 66 6f 72 20 64 69 72 65 63 74 20 77 61 69 74 2f 73 69 67 6e 61 6c 20 63 6f 6d 6d 75 6e 69 63   ┆ for direct wait/signal communic┆
0x0f5c0…0f5e0 61 74 69 6f 6e 2c 20 0a 6e 6f 74 20 77 61 69 74 2f 72 65 74 75 72 6e 20 63 6f 6d 6d 75 6e 69 63   ┆ation,  not wait/return communic┆
0x0f5e0…0f600 61 74 69 6f 6e 2c 20 75 6e 6c 65 73 73 20 61 20 6d 65 73 73 61 67 65 20 68 65 61 64 65 72 20 77   ┆ation, unless a message header w┆
0x0f600…0f620 69 74 68 20 6f 74 68 65 72 20 0a 27 6f 77 6e 65 72 27 20 61 6e 64 20 27 61 6e 73 77 65 72 27 20   ┆ith other  'owner' and 'answer' ┆
0x0f620…0f640 73 65 6d 61 70 68 6f 72 65 20 76 61 6c 75 65 73 20 69 73 20 70 75 73 68 65 64 20 6f 6e 20 74 6f   ┆semaphore values is pushed on to┆
0x0f640…0f660 70 2e 20 0d 0a 16 53 43 0d 0a 4c 61 73 74 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 6c 61 73 74 20   ┆p.    SC  Last    FUNCTION last ┆
0x0f660…0f680 28 56 41 52 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 29 20 3a 20 69 6e 74 65 67 65 72 3b 20 0d   ┆(VAR r : reference) : integer;  ┆
0x0f680…0f6a0 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 49 66 20 74 68   ┆   Predefined.          - ёIf th┆
0x0f6a0…0f6c0 65 20 27 6c 61 73 74 27 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68   ┆e 'last' function is called with┆
0x0f6c0…0f6e0 20 61 20 70 61 72 61 6d 65 74 65 72 20 77 69 74 68 20 76 61 6c 75 65 20 4e 49 4c 20 0a 19 85 80   ┆ a parameter with value NIL   Ёђ┆
0x0f6e0…0f700 80 6f 72 20 74 68 65 20 6d 65 73 73 61 67 65 20 69 73 20 61 20 68 65 61 64 65 72 20 6d 65 73 73   ┆ђor the message is a header mess┆
0x0f700…0f720 61 67 65 20 6f 6e 6c 79 2c 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 2e 20 0a   ┆age only, an exception occurs.  ┆
0x0f720…0f740 19 85 80 80 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 74 68 65 20   ┆ ЁђђOtherwise the result is the ┆
0x0f740…0f760 76 61 6c 75 65 20 6f 66 20 74 68 65 20 27 6c 61 73 74 27 20 61 74 74 72 69 62 75 74 65 20 6f 66   ┆value of the 'last' attribute of┆
0x0f760…0f780 20 74 68 65 20 0a 19 85 80 80 64 65 73 69 67 6e 61 74 65 64 20 62 75 66 66 65 72 2e 20 4e 4f 54   ┆ the   Ёђђdesignated buffer. NOT┆
0x0f780…0f7a0 45 3a 20 54 68 65 20 27 6c 61 73 74 27 20 61 74 74 72 69 62 75 74 65 20 69 73 20 74 68 65 20 73   ┆E: The 'last' attribute is the s┆
0x0f7a0…0f7c0 65 63 6f 6e 64 20 77 6f 72 64 20 0a 19 85 80 80 69 6e 20 74 68 65 20 62 75 66 66 65 72 2c 20 61   ┆econd word   Ёђђin the buffer, a┆
0x0f7c0…0f7e0 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 64 72 69 76 65 72 20 63 6f 6e 76 65 6e 74 69 6f   ┆ccording to the driver conventio┆
0x0f7e0…0f800 6e 73 2e 20 41 20 64 61 74 61 20 0a 19 85 80 80 6d 65 73 73 61 67 65 20 61 6c 77 61 79 73 20 68   ┆ns. A data   Ёђђmessage always h┆
0x0f800…0f820 6f 6c 64 73 20 74 68 65 20 27 6c 61 73 74 27 20 61 74 74 72 69 62 75 74 65 2e 20 53 6f 20 74 68   ┆olds the 'last' attribute. So th┆
0x0f820…0f840 65 20 62 75 66 66 65 72 20 69 73 20 0a 19 85 80 80 61 63 63 65 73 73 65 64 20 77 69 74 68 6f 75   ┆e buffer is   Ёђђaccessed withou┆
0x0f840…0f860 74 20 6c 6f 63 6b 69 6e 67 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65   ┆t locking the reference variable┆
0x0f860…0f880 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 4d 6f 76 65 67 20 0d 0a 50 52 4f 43 45 44 55 52 45   ┆.          SC  Moveg   PROCEDURE┆
0x0f880…0f8a0 20 6d 6f 76 65 67 20 0d 0a 0d 0a 20 20 28 63 6f 75 6e 74 20 3a 20 69 6e 74 65 67 65 72 3b 20 20   ┆ moveg       (count : integer;  ┆
0x0f8a0…0f8c0 20 20 56 41 52 20 66 72 6f 6d 62 79 74 65 20 3a 20 62 79 74 65 3b 20 20 20 20 20 20 66 72 6f 6d   ┆  VAR frombyte : byte;      from┆
0x0f8c0…0f8e0 69 6e 64 65 78 20 20 3a 20 0a 69 6e 74 65 67 65 72 3b 20 20 20 20 56 41 52 20 74 6f 62 79 74 65   ┆index  :  integer;    VAR tobyte┆
0x0f8e0…0f900 20 20 20 3a 20 62 79 74 65 3b 20 20 20 20 20 20 74 6f 69 6e 64 65 78 20 20 20 20 3a 20 69 6e 74   ┆   : byte;      toindex    : int┆
0x0f900…0f920 65 67 65 72 29 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d   ┆eger);     Not predefined.      ┆
0x0f920…0f940 0a 20 20 20 2d 20 84 6d 6f 76 65 73 20 27 63 6f 75 6e 74 27 20 62 79 74 65 73 20 73 74 61 72 74   ┆    - ёmoves 'count' bytes start┆
0x0f940…0f960 69 6e 67 20 61 74 20 27 66 72 6f 6d 62 79 74 65 20 28 66 72 6f 6d 69 6e 64 65 78 29 27 20 74 6f   ┆ing at 'frombyte (fromindex)' to┆
0x0f960…0f980 20 0a 19 85 80 80 27 74 6f 62 79 74 65 20 28 74 6f 69 6e 64 65 78 29 27 2e 20 49 74 20 69 73 20   ┆   Ёђђ'tobyte (toindex)'. It is ┆
0x0f980…0f9a0 61 73 73 75 6d 65 64 20 74 68 61 74 20 66 72 6f 6d 62 79 74 65 20 69 73 20 27 66 72 6f 6d 62 79   ┆assumed that frombyte is 'fromby┆
0x0f9a0…0f9c0 74 65 20 0a 19 85 80 80 28 30 29 27 2c 20 61 6e 64 20 74 6f 62 79 74 65 20 69 73 20 27 74 6f 62   ┆te   Ёђђ(0)', and tobyte is 'tob┆
0x0f9c0…0f9e0 79 74 65 20 28 30 29 27 2e 20 0d 0a 0d 0a 27 43 6f 75 6e 74 27 20 69 73 20 63 6f 6e 73 69 64 65   ┆yte (0)'.     'Count' is conside┆
0x0f9e0…0fa00 72 65 64 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 6e 75 6d 62 65 72 20 69 6e 20 74 68 65 20 72 61   ┆red an unsigned number in the ra┆
0x0fa00…0fa20 6e 67 65 20 30 2e 2e 36 35 35 33 35 2e 20 53 6f 20 69 74 20 0a 66 75 6c 66 69 6c 73 20 0d 0a 0d   ┆nge 0..65535. So it  fulfils    ┆
0x0fa20…0fa40 0a 0d 0a 20 20 20 2d 20 84 75 6c 74 20 28 20 30 2c 20 63 6f 75 6e 74 20 29 2e 20 0d 0a 20 20 20   ┆      - ёult ( 0, count ).      ┆
0x0fa40…0fa60 2d 20 84 75 6c 74 20 28 20 63 6f 75 6e 74 20 2c 20 2d 31 20 29 2e 20 0d 0a 0d 0a 27 63 6f 75 6e   ┆- ёult ( count , -1 ).     'coun┆
0x0fa60…0fa80 74 20 3d 20 30 27 20 6d 65 61 6e 73 20 6e 6f 20 6d 6f 76 65 2e 20 0d 0a 0d 0a 57 41 52 4e 49 4e   ┆t = 0' means no move.     WARNIN┆
0x0fa80…0faa0 47 3a 1f 54 68 65 20 6d 6f 76 65 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 77 69 74 68 20 6e 6f   ┆G: The move is performed with no┆
0x0faa0…0fac0 20 63 68 65 63 6b 20 61 74 20 61 6c 6c 21 21 21 20 2d 20 61 6e 64 20 6f 6e 6c 79 20 0a 77 69 74   ┆ check at all!!! - and only  wit┆
0x0fac0…0fae0 68 69 6e 20 74 68 65 20 73 61 6d 65 20 36 34 4b 20 62 79 74 65 20 6d 65 6d 6f 72 79 20 6d 6f 64   ┆hin the same 64K byte memory mod┆
0x0fae0…0fb00 75 6c 65 2e 20 41 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 2c 20 69 66 20 0a 77 72   ┆ule. An exception occurs, if  wr┆
0x0fb00…0fb20 61 70 20 61 72 6f 75 6e 64 20 74 61 6b 65 73 20 70 6c 61 63 65 2e 20 54 68 65 20 75 73 65 20 6f   ┆ap around takes place. The use o┆
0x0fb20…0fb40 66 20 64 79 6e 61 6d 69 63 20 74 79 70 65 73 20 61 6e 64 20 61 73 73 69 67 6e 6d 65 6e 74 20 69   ┆f dynamic types and assignment i┆
0x0fb40…0fb60 73 20 0a 61 64 76 6f 63 61 74 65 64 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 75 73 65   ┆s  advocated, instead of the use┆
0x0fb60…0fb80 20 6f 66 20 27 6d 6f 76 65 67 27 2e 20 0d 0a 0d 0a 4e 4f 54 45 3a 1f 1f 1f 1f 54 68 65 20 6d 6f   ┆ of 'moveg'.     NOTE:    The mo┆
0x0fb80…0fba0 76 65 20 6d 61 79 20 62 65 20 70 65 72 66 6f 72 6d 65 64 20 69 6e 73 69 64 65 20 74 68 65 20 73   ┆ve may be performed inside the s┆
0x0fba0…0fbc0 61 6d 65 20 6d 6f 64 75 6c 65 20 6f 72 20 0a 62 65 74 77 65 65 6e 20 64 69 66 66 65 72 65 6e 74   ┆ame module or  between different┆
0x0fbc0…0fbe0 20 6d 6f 64 75 6c 65 73 2e 20 0d 0a 0d 0a 54 68 65 20 6d 6f 76 65 20 69 73 20 69 6e 20 77 6f 72   ┆ modules.     The move is in wor┆
0x0fbe0…0fc00 64 6d 6f 64 65 2c 20 69 66 20 70 6f 73 73 69 62 6c 65 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d   ┆dmode, if possible.          SC ┆
0x0fc00…0fc20 0a 4e 65 78 74 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 6e 65 78 74 20 28 56 41 52 20 72 20 3a 20   ┆ Next    FUNCTION next (VAR r : ┆
0x0fc20…0fc40 72 65 66 65 72 65 6e 63 65 29 20 3a 20 69 6e 74 65 67 65 72 3b 20 0d 0a 0d 0a 50 72 65 64 65 66   ┆reference) : integer;     Predef┆
0x0fc40…0fc60 69 6e 65 64 2e 20 0d 0a 0d 0a 8c 8b 88 0a 0d 0a 20 20 20 2d 20 84 49 66 20 74 68 65 20 27 6e 65   ┆ined.     їІѕ      - ёIf the 'ne┆
0x0fc60…0fc80 78 74 27 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 70 61   ┆xt' function is called with a pa┆
0x0fc80…0fca0 72 61 6d 65 74 65 72 20 77 69 74 68 20 76 61 6c 75 65 20 4e 49 4c 20 0a 19 85 80 80 6f 72 20 74   ┆rameter with value NIL   Ёђђor t┆
0x0fca0…0fcc0 68 65 20 6d 65 73 73 61 67 65 20 69 73 20 61 20 68 65 61 64 65 72 20 6d 65 73 73 61 67 65 20 6f   ┆he message is a header message o┆
0x0fcc0…0fce0 6e 6c 79 2c 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 2e 20 0a 19 85 80 80 4f   ┆nly, an exception occurs.   ЁђђO┆
0x0fce0…0fd00 74 68 65 72 77 69 73 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 74 68 65 20 76 61 6c 75 65   ┆therwise the result is the value┆
0x0fd00…0fd20 20 6f 66 20 74 68 65 20 27 6e 65 78 74 27 20 61 74 74 72 69 62 75 74 65 20 6f 66 20 74 68 65 20   ┆ of the 'next' attribute of the ┆
0x0fd20…0fd40 0a 19 85 80 80 64 65 73 69 67 6e 61 74 65 64 20 62 75 66 66 65 72 2e 20 4e 4f 54 45 3a 20 54 68   ┆  Ёђђdesignated buffer. NOTE: Th┆
0x0fd40…0fd60 65 20 27 6e 65 78 74 27 20 61 74 74 72 69 62 75 74 65 20 69 73 20 74 68 65 20 74 68 69 72 64 20   ┆e 'next' attribute is the third ┆
0x0fd60…0fd80 77 6f 72 64 20 0a 19 85 80 80 69 6e 20 74 68 65 20 62 75 66 66 65 72 2c 20 61 63 63 6f 72 64 69   ┆word   Ёђђin the buffer, accordi┆
0x0fd80…0fda0 6e 67 20 74 6f 20 74 68 65 20 64 72 69 76 65 72 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 2e 20 41 20   ┆ng to the driver conventions. A ┆
0x0fda0…0fdc0 64 61 74 61 20 0a 19 85 80 80 6d 65 73 73 61 67 65 20 61 6c 77 61 79 73 20 68 6f 6c 64 73 20 74   ┆data   Ёђђmessage always holds t┆
0x0fdc0…0fde0 68 65 20 27 6e 65 78 74 27 20 61 74 74 72 69 62 75 74 65 2e 20 53 6f 20 74 68 65 20 62 75 66 66   ┆he 'next' attribute. So the buff┆
0x0fde0…0fe00 65 72 20 69 73 20 0a 19 85 80 80 61 63 63 65 73 73 65 64 20 77 69 74 68 6f 75 74 20 6c 6f 63 6b   ┆er is   Ёђђaccessed without lock┆
0x0fe00…0fe20 69 6e 67 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 2e 20 0d 0a 0d 0a   ┆ing the reference variable.     ┆
0x0fe20…0fe40 0d 0a 0d 0a 16 53 43 0d 0a 4f 70 65 6e 70 6f 6f 6c 20 20 20 20 20 20 20 20 0d 0a 46 55 4e 43 54   ┆     SC  Openpool          FUNCT┆
0x0fe40…0fe60 49 4f 4e 20 6f 70 65 6e 70 6f 6f 6c 20 28 56 41 52 20 70 3a 20 70 6f 6f 6c 20 31 29 3a 20 62 6f   ┆ION openpool (VAR p: pool 1): bo┆
0x0fe60…0fe80 6f 6c 65 61 6e 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20   ┆olean;     Predefined.          ┆
0x0fe80…0fea0 2d 20 84 72 65 74 75 72 6e 73 20 74 68 65 20 76 61 6c 75 65 20 74 72 75 65 20 69 66 20 74 68 65   ┆- ёreturns the value true if the┆
0x0fea0…0fec0 20 70 6f 6f 6c 20 63 6f 6e 74 61 69 6e 73 20 61 20 6d 65 73 73 61 67 65 2c 20 6f 74 68 65 72 77   ┆ pool contains a message, otherw┆
0x0fec0…0fee0 69 73 65 20 0a 19 85 80 80 66 61 6c 73 65 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 50 6f 70   ┆ise   Ёђђfalse.          SC  Pop┆
0x0fee0…0ff00 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 70 6f 70 20 28 56 41 52 20 72 31 2c 20 72 32 3a 20   ┆     PROCEDURE pop (VAR r1, r2: ┆
0x0ff00…0ff20 72 65 66 65 72 65 6e 63 65 29 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a   ┆reference);     Predefined.     ┆
0x0ff20…0ff40 0d 0a 20 20 20 2d 20 84 54 68 65 20 74 6f 70 20 6d 65 73 73 61 67 65 20 68 65 61 64 65 72 20 66   ┆     - ёThe top message header f┆
0x0ff40…0ff60 72 6f 6d 20 27 72 32 27 20 69 73 20 72 65 6d 6f 76 65 64 2e 20 49 66 20 74 68 65 20 6e 65 77 20   ┆rom 'r2' is removed. If the new ┆
0x0ff60…0ff80 74 6f 70 20 0a 19 85 80 80 6d 65 73 73 61 67 65 20 61 6e 64 20 74 68 65 20 6f 6c 64 20 74 6f 70   ┆top   Ёђђmessage and the old top┆
0x0ff80…0ffa0 20 6d 65 73 73 61 67 65 20 72 65 66 65 72 20 74 6f 20 74 68 65 20 73 61 6d 65 20 64 61 74 61 20   ┆ message refer to the same data ┆
0x0ffa0…0ffc0 62 75 66 66 65 72 2c 20 0a 19 85 80 80 6f 6e 6c 79 20 74 68 65 20 6d 65 73 73 61 67 65 20 68 65   ┆buffer,   Ёђђonly the message he┆
0x0ffc0…0ffe0 61 64 65 72 20 69 73 20 72 65 6d 6f 76 65 64 2e 20 49 66 20 6e 6f 74 2c 20 74 68 65 20 74 6f 70   ┆ader is removed. If not, the top┆
0x0ffe0…10000 20 6d 65 73 73 61 67 65 20 0a 19 85 80 80 64 61 74 61 20 69 73 20 72 65 6d 6f 76 65 64 20 61 6c   ┆ message   Ёђђdata is removed al┆
0x10000…10020 73 6f 2e 20 27 72 31 27 20 72 65 66 65 72 73 20 74 6f 20 74 68 65 20 72 65 6d 6f 76 65 64 20 6d   ┆so. 'r1' refers to the removed m┆
0x10020…10040 65 73 73 61 67 65 2e 20 0d 0a 0d 0a 45 78 63 65 70 74 69 6f 6e 73 20 6f 63 63 75 72 20 69 66 3a   ┆essage.     Exceptions occur if:┆
0x10040…10060 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 72 31 20 69 73 20 6e 6f 74 20 6e 69 6c 20 62 65 66 6f 72   ┆          - ёr1 is not nil befor┆
0x10060…10080 65 20 63 61 6c 6c 20 0d 0a 20 20 20 2d 20 84 72 32 20 69 73 20 6e 69 6c 20 62 65 66 6f 72 65 20   ┆e call      - ёr2 is nil before ┆
0x10080…100a0 63 61 6c 6c 20 0d 0a 20 20 20 2d 20 84 72 32 20 69 73 20 6c 6f 63 6b 65 64 20 62 65 66 6f 72 65   ┆call      - ёr2 is locked before┆
0x100a0…100c0 20 63 61 6c 6c 20 0d 0a 0d 0a 49 66 20 65 6d 70 74 79 20 28 72 32 29 3d 74 72 75 65 20 62 65 66   ┆ call     If empty (r2)=true bef┆
0x100c0…100e0 6f 72 65 20 74 68 65 20 63 61 6c 6c 2c 20 72 32 20 62 65 63 6f 6d 65 73 20 6e 69 6c 20 61 66 74   ┆ore the call, r2 becomes nil aft┆
0x100e0…10100 65 72 20 74 68 65 20 63 61 6c 6c 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 50 75 73 68 20 20   ┆er the call.          SC  Push  ┆
0x10100…10120 0d 0a 50 52 4f 43 45 44 55 52 45 20 70 75 73 68 20 28 56 41 52 20 72 31 2c 20 72 32 3a 20 72 65   ┆  PROCEDURE push (VAR r1, r2: re┆
0x10120…10140 66 65 72 65 6e 63 65 29 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a   ┆ference);     Predefined.       ┆
0x10140…10160 20 20 20 2d 20 84 54 68 65 20 68 65 61 64 65 72 20 72 65 66 65 72 72 65 64 20 74 6f 20 62 79 20   ┆   - ёThe header referred to by ┆
0x10160…10180 27 72 31 27 20 62 65 63 6f 6d 65 73 20 74 68 65 20 6e 65 77 20 74 6f 70 20 68 65 61 64 65 72 20   ┆'r1' becomes the new top header ┆
0x10180…101a0 6f 66 20 0a 19 85 80 80 74 68 65 20 73 74 61 63 6b 2e 20 41 66 74 65 72 20 74 68 65 20 63 61 6c   ┆of   Ёђђthe stack. After the cal┆
0x101a0…101c0 6c 2c 20 27 72 32 27 20 72 65 66 65 72 73 20 74 6f 20 74 68 65 20 6e 65 77 20 73 74 61 63 6b 2e   ┆l, 'r2' refers to the new stack.┆
0x101c0…101e0 20 0d 0a 0d 0a 49 66 20 74 68 65 20 6e 65 77 20 74 6f 70 20 6d 65 73 73 61 67 65 20 69 73 20 61   ┆     If the new top message is a┆
0x101e0…10200 20 68 65 61 64 65 72 20 6d 65 73 73 61 67 65 2c 20 74 68 65 20 74 6f 70 20 6d 65 73 73 61 67 65   ┆ header message, the top message┆
0x10200…10220 20 64 61 74 61 20 6f 66 20 0a 27 72 32 27 20 72 65 6d 61 69 6e 73 20 74 68 65 20 73 61 6d 65 2e   ┆ data of  'r2' remains the same.┆
0x10220…10240 20 41 66 74 65 72 20 74 68 65 20 63 61 6c 6c 20 27 72 31 27 20 69 73 20 6e 69 6c 2e 20 0d 0a 0d   ┆ After the call 'r1' is nil.    ┆
0x10240…10260 0a 54 68 65 20 6d 65 73 73 61 67 65 20 61 63 63 65 73 73 69 62 6c 65 20 74 68 72 6f 75 67 68 20   ┆ The message accessible through ┆
0x10260…10280 27 72 32 27 20 28 70 6f 73 73 69 62 6c 79 20 6e 69 6c 29 20 69 73 20 63 61 6c 6c 65 64 20 74 68   ┆'r2' (possibly nil) is called th┆
0x10280…102a0 65 20 73 74 61 63 6b 2e 20 0d 0a 0d 0a 45 78 63 65 70 74 69 6f 6e 73 20 6f 63 63 75 72 20 69 66   ┆e stack.     Exceptions occur if┆
0x102a0…102c0 3a 20 0d 0a 0d 0a 8c 8b a0 0a 0d 0a 20 20 20 2d 20 84 27 72 31 27 20 69 73 20 6e 69 6c 20 62 65   ┆:     їІа      - ё'r1' is nil be┆
0x102c0…102e0 66 6f 72 65 20 63 61 6c 6c 20 0d 0a 20 20 20 2d 20 84 27 72 31 27 20 69 73 20 6c 6f 63 6b 65 64   ┆fore call      - ё'r1' is locked┆
0x102e0…10300 20 62 65 66 6f 72 65 20 63 61 6c 6c 20 0d 0a 20 20 20 2d 20 84 27 72 32 27 20 69 73 20 6c 6f 63   ┆ before call      - ё'r2' is loc┆
0x10300…10320 6b 65 64 20 62 65 66 6f 72 65 20 63 61 6c 6c 20 0d 0a 20 20 20 2d 20 84 6e 6f 74 20 65 6d 70 74   ┆ked before call      - ёnot empt┆
0x10320…10340 79 20 28 72 31 29 20 62 65 66 6f 72 65 20 63 61 6c 6c 20 0d 0a 20 20 20 2d 20 84 27 72 31 27 20   ┆y (r1) before call      - ё'r1' ┆
0x10340…10360 3d 20 27 72 32 27 20 62 65 66 6f 72 65 20 63 61 6c 6c 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d   ┆= 'r2' before call              ┆
0x10360…10380 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d   ┆                                ┆
0x10380…103a0 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 06   ┆                                ┆
0x103a0…103c0 46 69 67 2e 20 20 35 2e 20 45 78 61 6d 70 6c 65 20 6f 6e 20 74 68 65 20 62 65 68 61 76 69 6f 75   ┆Fig.  5. Example on the behaviou┆
0x103c0…103e0 72 20 6f 66 20 70 75 73 68 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 52 65 6c 65 61 73 65 20 20   ┆r of push          SC  Release  ┆
0x103e0…10400 20 20 20 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 72 65 6c 65 61 73 65 20 28 56 41 52 20   ┆         PROCEDURE release (VAR ┆
0x10400…10420 72 3a 20 72 65 66 65 72 65 6e 63 65 29 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d   ┆r: reference);     Predefined.  ┆
0x10420…10440 0a 0d 0a 0d 0a 20 20 20 2d 20 84 73 69 67 6e 61 6c 73 20 74 68 65 20 6d 65 73 73 61 67 65 20 72   ┆        - ёsignals the message r┆
0x10440…10460 65 66 65 72 65 6e 63 65 64 20 62 79 20 27 72 27 20 74 6f 20 74 68 65 20 61 6e 6f 6e 79 6d 6f 75   ┆eferenced by 'r' to the anonymou┆
0x10460…10480 73 20 6f 77 6e 65 72 20 0a 19 85 80 80 73 65 6d 61 70 68 6f 72 65 2e 20 0d 0a 0d 0a 41 6e 20 65   ┆s owner   Ёђђsemaphore.     An e┆
0x10480…104a0 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 20 69 66 3a 20 0d 0a 20 20 20 2d 20 84 74 68 65 20   ┆xception occurs if:      - ёthe ┆
0x104a0…104c0 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 6e 69 6c 2e 20 0d 0a 20 20 20   ┆reference variable is nil.      ┆
0x104c0…104e0 2d 20 84 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 6c 6f 63   ┆- ёthe reference variable is loc┆
0x104e0…10500 6b 65 64 2e 20 0d 0a 0d 0a 0d 0a 8c 8b b8 0a 0d 0a 16 53 43 0d 0a 52 65 6c 65 61 73 65 70 6f 6f   ┆ked.       їІИ    SC  Releasepoo┆
0x10500…10520 6c 20 20 20 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 72 65 6c 65 61 73 65 70 6f 6f 6c 20 28 56 41   ┆l       FUNCTION releasepool (VA┆
0x10520…10540 52 20 70 3a 20 70 6f 6f 6c 20 31 3b 20 20 20 6e 75 6d 62 65 72 3a 20 69 6e 74 65 67 65 72 29 3a   ┆R p: pool 1;   number: integer):┆
0x10540…10560 20 69 6e 74 65 67 65 72 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a   ┆ integer;     Not predefined.   ┆
0x10560…10580 0d 0a 0d 0a 20 20 20 2d 20 84 72 65 74 75 72 6e 73 20 61 20 6d 61 78 69 6d 75 6d 20 6f 66 20 27   ┆       - ёreturns a maximum of '┆
0x10580…105a0 6e 75 6d 62 65 72 27 20 6d 65 73 73 61 67 65 73 20 66 72 6f 6d 20 74 68 65 20 70 6f 6f 6c 20 27   ┆number' messages from the pool '┆
0x105a0…105c0 70 27 20 74 6f 20 0a 19 85 80 80 74 68 65 20 41 4c 4c 4f 43 41 54 4f 52 2e 20 54 68 65 20 61 63   ┆p' to   Ёђђthe ALLOCATOR. The ac┆
0x105c0…105e0 74 75 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 62 75 66 66 65 72 73 20 72 65 6c 65 61 73 65 64 20   ┆tual number of buffers released ┆
0x105e0…10600 69 73 20 0a 19 85 80 80 72 65 74 75 72 6e 65 64 20 61 73 20 74 68 65 20 72 65 73 75 6c 74 2e 20   ┆is   Ёђђreturned as the result. ┆
0x10600…10620 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 53 65 74 66 69 72 73 74 20 20 20 20 20 20 20 20 0d 0a 50   ┆         SC  Setfirst          P┆
0x10620…10640 52 4f 43 45 44 55 52 45 20 73 65 74 66 69 72 73 74 20 28 56 41 52 20 72 20 3a 20 72 65 66 65 72   ┆ROCEDURE setfirst (VAR r : refer┆
0x10640…10660 65 6e 63 65 3b 20 76 61 6c 20 3a 20 69 6e 74 65 67 65 72 29 3b 20 0d 0a 0d 0a 50 72 65 64 65 66   ┆ence; val : integer);     Predef┆
0x10660…10680 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 49 66 20 74 68 65 20 27 73 65 74 66 69 72   ┆ined.          - ёIf the 'setfir┆
0x10680…106a0 73 74 27 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 72   ┆st' procedure is called with a r┆
0x106a0…106c0 65 66 65 72 65 6e 63 65 20 70 61 72 61 6d 65 74 65 72 20 0a 19 85 80 80 77 69 74 68 20 76 61 6c   ┆eference parameter   Ёђђwith val┆
0x106c0…106e0 75 65 20 4e 49 4c 2c 20 6f 72 20 74 68 65 20 6d 65 73 73 61 67 65 20 69 73 20 61 20 68 65 61 64   ┆ue NIL, or the message is a head┆
0x106e0…10700 65 72 20 6d 65 73 73 61 67 65 20 6f 6e 6c 79 2c 20 61 6e 20 0a 19 85 80 80 65 78 63 65 70 74 69   ┆er message only, an   Ёђђexcepti┆
0x10700…10720 6f 6e 20 6f 63 63 75 72 73 2e 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 76 61 6c 75 65 20 6f   ┆on occurs. Otherwise the value o┆
0x10720…10740 66 20 74 68 65 20 27 76 61 6c 27 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 0a 19 85 80 80 61 73   ┆f the 'val' parameter is   Ёђђas┆
0x10740…10760 73 69 67 6e 65 64 20 74 6f 20 74 68 65 20 27 66 69 72 73 74 27 20 61 74 74 72 69 62 75 74 65 20   ┆signed to the 'first' attribute ┆
0x10760…10780 6f 66 20 74 68 65 20 64 65 73 69 67 6e 61 74 65 64 20 62 75 66 66 65 72 2e 20 4e 4f 54 45 3a 20   ┆of the designated buffer. NOTE: ┆
0x10780…107a0 0a 19 85 80 80 54 68 65 20 27 66 69 72 73 74 27 20 61 74 74 72 69 62 75 74 65 20 69 73 20 74 68   ┆  ЁђђThe 'first' attribute is th┆
0x107a0…107c0 65 20 66 69 72 73 74 20 77 6f 72 64 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 2c 20 61 63 63 6f   ┆e first word in the buffer, acco┆
0x107c0…107e0 72 64 69 6e 67 20 0a 19 85 80 80 74 6f 20 74 68 65 20 64 72 69 76 65 72 20 63 6f 6e 76 65 6e 74   ┆rding   Ёђђto the driver convent┆
0x107e0…10800 69 6f 6e 73 2e 20 41 20 64 61 74 61 20 6d 65 73 73 61 67 65 20 61 6c 77 61 79 73 20 68 6f 6c 64   ┆ions. A data message always hold┆
0x10800…10820 73 20 74 68 65 20 0a 19 85 80 80 27 66 69 72 73 74 27 20 61 74 74 72 69 62 75 74 65 2e 20 53 6f   ┆s the   Ёђђ'first' attribute. So┆
0x10820…10840 20 74 68 65 20 62 75 66 66 65 72 20 69 73 20 75 70 64 61 74 65 64 20 77 69 74 68 6f 75 74 20 6c   ┆ the buffer is updated without l┆
0x10840…10860 6f 63 6b 69 6e 67 20 74 68 65 20 0a 19 85 80 80 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62   ┆ocking the   Ёђђreference variab┆
0x10860…10880 6c 65 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 53 65 74 6c 61 73 74 20 20 20 20 20 20 20 20   ┆le.          SC  Setlast        ┆
0x10880…108a0 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 65 74 6c 61 73 74 20 28 56 41 52 20 72 20 3a 20 72 65   ┆   PROCEDURE setlast (VAR r : re┆
0x108a0…108c0 66 65 72 65 6e 63 65 3b 20 76 61 6c 20 3a 20 69 6e 74 65 67 65 72 29 3b 20 0d 0a 0d 0a 50 72 65   ┆ference; val : integer);     Pre┆
0x108c0…108e0 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 49 66 20 74 68 65 20 27 73 65 74   ┆defined.          - ёIf the 'set┆
0x108e0…10900 6c 61 73 74 27 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61   ┆last' procedure is called with a┆
0x10900…10920 20 72 65 66 65 72 65 6e 63 65 20 70 61 72 61 6d 65 74 65 72 20 0a 19 85 80 80 77 69 74 68 20 76   ┆ reference parameter   Ёђђwith v┆
0x10920…10940 61 6c 75 65 20 4e 49 4c 2c 20 6f 72 20 74 68 65 20 6d 65 73 73 61 67 65 20 69 73 20 61 20 68 65   ┆alue NIL, or the message is a he┆
0x10940…10960 61 64 65 72 20 6d 65 73 73 61 67 65 20 6f 6e 6c 79 2c 20 61 6e 20 0a 19 85 80 80 65 78 63 65 70   ┆ader message only, an   Ёђђexcep┆
0x10960…10980 74 69 6f 6e 20 6f 63 63 75 72 73 2e 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 76 61 6c 75 65   ┆tion occurs. Otherwise the value┆
0x10980…109a0 20 6f 66 20 74 68 65 20 27 76 61 6c 27 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 0a 19 85 80 80   ┆ of the 'val' parameter is   Ёђђ┆
0x109a0…109c0 61 73 73 69 67 6e 65 64 20 74 6f 20 74 68 65 20 27 66 69 72 73 74 27 20 61 74 74 72 69 62 75 74   ┆assigned to the 'first' attribut┆
0x109c0…109e0 65 20 6f 66 20 74 68 65 20 64 65 73 69 67 6e 61 74 65 64 20 62 75 66 66 65 72 2e 20 4e 4f 54 45   ┆e of the designated buffer. NOTE┆
0x109e0…10a00 3a 20 0a 19 85 80 80 54 68 65 20 27 6c 61 73 74 27 20 61 74 74 72 69 62 75 74 65 20 69 73 20 74   ┆:   ЁђђThe 'last' attribute is t┆
0x10a00…10a20 68 65 20 73 65 63 6f 6e 64 20 77 6f 72 64 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 2c 20 61 63   ┆he second word in the buffer, ac┆
0x10a20…10a40 63 6f 72 64 69 6e 67 20 0a 19 85 80 80 74 6f 20 74 68 65 20 64 72 69 76 65 72 20 63 6f 6e 76 65   ┆cording   Ёђђto the driver conve┆
0x10a40…10a60 6e 74 69 6f 6e 73 2e 20 41 20 64 61 74 61 20 6d 65 73 73 61 67 65 20 61 6c 77 61 79 73 20 68 6f   ┆ntions. A data message always ho┆
0x10a60…10a80 6c 64 73 20 74 68 65 20 0a 19 85 80 80 27 6c 61 73 74 27 20 61 74 74 72 69 62 75 74 65 2e 20 53   ┆lds the   Ёђђ'last' attribute. S┆
0x10a80…10aa0 6f 20 74 68 65 20 62 75 66 66 65 72 20 69 73 20 75 70 64 61 74 65 64 20 77 69 74 68 6f 75 74 20   ┆o the buffer is updated without ┆
0x10aa0…10ac0 6c 6f 63 6b 69 6e 67 20 74 68 65 20 0a 19 85 80 80 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61   ┆locking the   Ёђђreference varia┆
0x10ac0…10ae0 62 6c 65 2e 27 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 53 65 74 6e 65 78 74 20 20 20 20 20 20   ┆ble.'          SC  Setnext      ┆
0x10ae0…10b00 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 65 74 6e 65 78 74 20 28 56 41 52 20 72 20 3a 20 72   ┆    PROCEDURE setnext (VAR r : r┆
0x10b00…10b20 65 66 65 72 65 6e 63 65 3b 20 76 61 6c 20 3a 20 69 6e 74 65 67 65 72 29 3b 20 0d 0a 0d 0a 50 72   ┆eference; val : integer);     Pr┆
0x10b20…10b40 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 49 66 20 74 68 65 20 27 73 65   ┆edefined.          - ёIf the 'se┆
0x10b40…10b60 74 6e 65 78 74 27 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20   ┆tnext' procedure is called with ┆
0x10b60…10b80 61 20 72 65 66 65 72 65 6e 63 65 20 70 61 72 61 6d 65 74 65 72 20 0a 19 85 80 80 77 69 74 68 20   ┆a reference parameter   Ёђђwith ┆
0x10b80…10ba0 76 61 6c 75 65 20 4e 49 4c 2c 20 6f 72 20 74 68 65 20 6d 65 73 73 61 67 65 20 69 73 20 61 20 68   ┆value NIL, or the message is a h┆
0x10ba0…10bc0 65 61 64 65 72 20 6d 65 73 73 61 67 65 20 6f 6e 6c 79 2c 20 61 6e 20 0a 19 85 80 80 65 78 63 65   ┆eader message only, an   Ёђђexce┆
0x10bc0…10be0 70 74 69 6f 6e 20 6f 63 63 75 72 73 2e 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 76 61 6c 75   ┆ption occurs. Otherwise the valu┆
0x10be0…10c00 65 20 6f 66 20 74 68 65 20 27 76 61 6c 27 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 0a 19 85 80   ┆e of the 'val' parameter is   Ёђ┆
0x10c00…10c20 80 61 73 73 69 67 6e 65 64 20 74 6f 20 74 68 65 20 27 6e 65 78 74 27 20 61 74 74 72 69 62 75 74   ┆ђassigned to the 'next' attribut┆
0x10c20…10c40 65 20 6f 66 20 74 68 65 20 64 65 73 69 67 6e 61 74 65 64 20 62 75 66 66 65 72 2e 20 4e 4f 54 45   ┆e of the designated buffer. NOTE┆
0x10c40…10c60 3a 20 0a 19 85 80 80 54 68 65 20 27 6e 65 78 74 27 20 61 74 74 72 69 62 75 74 65 20 69 73 20 74   ┆:   ЁђђThe 'next' attribute is t┆
0x10c60…10c80 68 65 20 74 68 69 72 64 20 77 6f 72 64 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 2c 20 61 63 63   ┆he third word in the buffer, acc┆
0x10c80…10ca0 6f 72 64 69 6e 67 20 0a 19 85 80 80 74 6f 20 74 68 65 20 64 72 69 76 65 72 20 63 6f 6e 76 65 6e   ┆ording   Ёђђto the driver conven┆
0x10ca0…10cc0 74 69 6f 6e 73 2e 20 41 20 64 61 74 61 20 6d 65 73 73 61 67 65 20 61 6c 77 61 79 73 20 68 6f 6c   ┆tions. A data message always hol┆
0x10cc0…10ce0 64 73 20 74 68 65 20 0a 19 85 80 80 27 6e 65 78 74 27 20 61 74 74 72 69 62 75 74 65 2e 20 53 6f   ┆ds the   Ёђђ'next' attribute. So┆
0x10ce0…10d00 20 74 68 65 20 62 75 66 66 65 72 20 69 73 20 75 70 64 61 74 65 64 20 77 69 74 68 6f 75 74 20 6c   ┆ the buffer is updated without l┆
0x10d00…10d20 6f 63 6b 69 6e 67 20 74 68 65 20 0a 19 85 80 80 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62   ┆ocking the   Ёђђreference variab┆
0x10d20…10d40 6c 65 2e 20 0d 0a 0d 0a 0d 0a 8c 8b e8 0a 0d 0a 16 53 43 0d 0a 53 65 74 75 31 20 20 20 20 20 20   ┆le.       їІУ    SC  Setu1      ┆
0x10d40…10d60 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 65 74 75 31 20 28 56 41 52 20 72 20 3a 20 72 65 66 65   ┆   PROCEDURE setu1 (VAR r : refe┆
0x10d60…10d80 72 65 6e 63 65 3b 20 62 20 3a 20 62 79 74 65 29 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64   ┆rence; b : byte);     Predefined┆
0x10d80…10da0 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 49 66 20 74 68 65 20 27 73 65 74 75 31 27 20 70 72 6f   ┆.          - ёIf the 'setu1' pro┆
0x10da0…10dc0 63 65 64 75 72 65 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 72 65 66 65 72 65 6e 63   ┆cedure is called with a referenc┆
0x10dc0…10de0 65 20 70 61 72 61 6d 65 74 65 72 20 0a 19 85 80 80 77 69 74 68 20 76 61 6c 75 65 20 4e 49 4c 20   ┆e parameter   Ёђђwith value NIL ┆
0x10de0…10e00 61 6e 20 61 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 2e 20 4f 74 68 65 72 77 69 73 65 20 74   ┆an axception occurs. Otherwise t┆
0x10e00…10e20 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 0a 19 85 80 80 70 61 72 61 6d 65 74 65 72 20 27   ┆he value of the   Ёђђparameter '┆
0x10e20…10e40 62 27 20 69 73 20 61 73 73 69 67 6e 65 64 20 74 6f 20 74 68 65 20 75 31 2d 61 74 74 72 69 62 75   ┆b' is assigned to the u1-attribu┆
0x10e40…10e60 74 65 20 6f 66 20 74 68 65 20 64 65 73 69 67 6e 61 74 65 64 20 0a 19 85 80 80 6d 65 73 73 61 67   ┆te of the designated   Ёђђmessag┆
0x10e60…10e80 65 2e 20 41 20 63 61 6c 6c 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 22 72 1f 2e 75   ┆e. A call is equivalent to "r .u┆
0x10e80…10ea0 31 3a 3d 20 62 22 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 53 65 74 75 32 20 20 20 20 20 20   ┆1:= b".          SC  Setu2      ┆
0x10ea0…10ec0 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 65 74 75 32 20 28 56 41 52 20 72 20 3a 20 72 65 66 65   ┆   PROCEDURE setu2 (VAR r : refe┆
0x10ec0…10ee0 72 65 6e 63 65 3b 20 62 20 3a 20 62 79 74 65 29 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64   ┆rence; b : byte);     Predefined┆
0x10ee0…10f00 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 49 66 20 74 68 65 20 27 73 65 74 75 32 27 20 70 72 6f   ┆.          - ёIf the 'setu2' pro┆
0x10f00…10f20 63 65 64 75 72 65 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 72 65 66 65 72 65 6e 63   ┆cedure is called with a referenc┆
0x10f20…10f40 65 20 70 61 72 61 6d 65 74 65 72 20 0a 19 85 80 80 77 69 74 68 20 76 61 6c 75 65 20 4e 49 4c 20   ┆e parameter   Ёђђwith value NIL ┆
0x10f40…10f60 61 6e 20 61 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 2e 20 4f 74 68 65 72 77 69 73 65 20 74   ┆an axception occurs. Otherwise t┆
0x10f60…10f80 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 0a 19 85 80 80 70 61 72 61 6d 65 74 65 72 20 27   ┆he value of the   Ёђђparameter '┆
0x10f80…10fa0 62 27 20 69 73 20 61 73 73 69 67 6e 65 64 20 74 6f 20 74 68 65 20 75 32 2d 61 74 74 72 69 62 75   ┆b' is assigned to the u2-attribu┆
0x10fa0…10fc0 74 65 20 6f 66 20 74 68 65 20 64 65 73 69 67 6e 61 74 65 64 20 0a 19 85 80 80 6d 65 73 73 61 67   ┆te of the designated   Ёђђmessag┆
0x10fc0…10fe0 65 2e 20 41 20 63 61 6c 6c 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 22 72 1f 2e 75   ┆e. A call is equivalent to "r .u┆
0x10fe0…11000 32 3a 3d 20 62 22 2e 20 0d 0a 16 53 43 0d 0a 53 65 74 75 33 20 20 20 20 20 20 20 0d 0a 50 52 4f   ┆2:= b".    SC  Setu3         PRO┆
0x11000…11020 43 45 44 55 52 45 20 73 65 74 75 33 20 28 56 41 52 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 3b   ┆CEDURE setu3 (VAR r : reference;┆
0x11020…11040 20 62 20 3a 20 62 79 74 65 29 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a   ┆ b : byte);     Predefined.     ┆
0x11040…11060 0d 0a 20 20 20 2d 20 84 49 66 20 74 68 65 20 27 73 65 74 75 33 27 20 70 72 6f 63 65 64 75 72 65   ┆     - ёIf the 'setu3' procedure┆
0x11060…11080 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 72 65 66 65 72 65 6e 63 65 20 70 61 72 61   ┆ is called with a reference para┆
0x11080…110a0 6d 65 74 65 72 20 0a 19 85 80 80 77 69 74 68 20 76 61 6c 75 65 20 4e 49 4c 20 61 6e 20 61 78 63   ┆meter   Ёђђwith value NIL an axc┆
0x110a0…110c0 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 2e 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 76 61 6c   ┆eption occurs. Otherwise the val┆
0x110c0…110e0 75 65 20 6f 66 20 74 68 65 20 0a 19 85 80 80 70 61 72 61 6d 65 74 65 72 20 27 62 27 20 69 73 20   ┆ue of the   Ёђђparameter 'b' is ┆
0x110e0…11100 61 73 73 69 67 6e 65 64 20 74 6f 20 74 68 65 20 75 33 2d 61 74 74 72 69 62 75 74 65 20 6f 66 20   ┆assigned to the u3-attribute of ┆
0x11100…11120 74 68 65 20 64 65 73 69 67 6e 61 74 65 64 20 0a 19 85 80 80 6d 65 73 73 61 67 65 2e 20 41 20 63   ┆the designated   Ёђђmessage. A c┆
0x11120…11140 61 6c 6c 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 22 72 1f 2e 75 33 3a 3d 20 62 22   ┆all is equivalent to "r .u3:= b"┆
0x11140…11160 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 53 65 74 75 34 20 20 20 20 20 20 20 0d 0a 50 52 4f   ┆.          SC  Setu4         PRO┆
0x11160…11180 43 45 44 55 52 45 20 73 65 74 75 34 20 28 56 41 52 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 3b   ┆CEDURE setu4 (VAR r : reference;┆
0x11180…111a0 20 62 20 3a 20 62 79 74 65 29 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a   ┆ b : byte);     Predefined.     ┆
0x111a0…111c0 0d 0a 20 20 20 2d 20 84 49 66 20 74 68 65 20 27 73 65 74 75 34 27 20 70 72 6f 63 65 64 75 72 65   ┆     - ёIf the 'setu4' procedure┆
0x111c0…111e0 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 72 65 66 65 72 65 6e 63 65 20 70 61 72 61   ┆ is called with a reference para┆
0x111e0…11200 6d 65 74 65 72 20 0a 19 85 80 80 77 69 74 68 20 76 61 6c 75 65 20 4e 49 4c 20 61 6e 20 61 78 63   ┆meter   Ёђђwith value NIL an axc┆
0x11200…11220 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 2e 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 76 61 6c   ┆eption occurs. Otherwise the val┆
0x11220…11240 75 65 20 6f 66 20 74 68 65 20 0a 19 85 80 80 70 61 72 61 6d 65 74 65 72 20 27 62 27 20 69 73 20   ┆ue of the   Ёђђparameter 'b' is ┆
0x11240…11260 61 73 73 69 67 6e 65 64 20 74 6f 20 74 68 65 20 75 34 2d 61 74 74 72 69 62 75 74 65 20 6f 66 20   ┆assigned to the u4-attribute of ┆
0x11260…11280 74 68 65 20 64 65 73 69 67 6e 61 74 65 64 20 0a 19 85 80 80 6d 65 73 73 61 67 65 2e 20 41 20 63   ┆the designated   Ёђђmessage. A c┆
0x11280…112a0 61 6c 6c 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 22 72 1f 2e 75 34 3a 3d 20 62 22   ┆all is equivalent to "r .u4:= b"┆
0x112a0…112c0 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 54 6f 66 72 6f 6d 0d 0a 50 52 4f 43 45 44 55 52 45   ┆.          SC  Tofrom  PROCEDURE┆
0x112c0…112e0 20 74 6f 66 72 6f 6d 20 28 20 20 20 20 20 20 56 41 52 20 74 6f 72 65 66 20 3a 20 72 65 66 65 72   ┆ tofrom (      VAR toref : refer┆
0x112e0…11300 65 6e 63 65 3b 20 74 6f 69 6e 64 65 78 20 3a 20 69 6e 74 65 67 65 72 3b 20 20 20 20 20 20 0a 56   ┆ence; toindex : integer;       V┆
0x11300…11320 41 52 20 66 72 6f 6d 72 65 66 20 3a 20 72 65 66 65 72 65 6e 63 65 3b 20 66 72 6f 6d 69 6e 64 65   ┆AR fromref : reference; frominde┆
0x11320…11340 78 20 3a 20 69 6e 74 65 67 65 72 3b 20 20 20 20 20 20 62 79 74 65 73 20 3a 20 69 6e 74 65 67 65   ┆x : integer;      bytes : intege┆
0x11340…11360 72 29 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20   ┆r);     Not predefined.         ┆
0x11360…11380 20 2d 20 84 4d 6f 76 65 73 20 27 62 79 74 65 73 27 20 62 79 74 65 73 20 66 72 6f 6d 20 74 68 65   ┆ - ёMoves 'bytes' bytes from the┆
0x11380…113a0 20 62 75 66 66 65 72 20 27 66 72 6f 6d 72 65 66 27 20 73 74 61 72 74 69 6e 67 20 61 74 20 74 68   ┆ buffer 'fromref' starting at th┆
0x113a0…113c0 65 20 0a 8c 8a f0 0a 19 85 80 80 6c 6f 63 61 74 69 6f 6e 20 69 6e 64 65 78 20 27 66 72 6f 6d 69   ┆e  їі   Ёђђlocation index 'fromi┆
0x113c0…113e0 6e 64 65 78 27 20 74 6f 20 74 68 65 20 62 75 66 66 65 72 20 27 74 6f 72 65 66 27 20 73 74 61 72   ┆ndex' to the buffer 'toref' star┆
0x113e0…11400 74 69 6e 67 20 61 74 20 74 68 65 20 0a 19 85 80 80 6c 6f 63 61 74 69 6f 6e 20 69 6e 64 65 78 20   ┆ting at the   Ёђђlocation index ┆
0x11400…11420 27 74 6f 69 6e 64 65 78 27 2e 20 49 6e 64 65 78 69 6e 67 20 69 6e 20 74 68 65 20 62 75 66 66 65   ┆'toindex'. Indexing in the buffe┆
0x11420…11440 72 73 20 69 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 0a 19 85 80 80 74 68 65 20 64 72 69 76   ┆rs is according to   Ёђђthe driv┆
0x11440…11460 65 72 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 2e 20 54 68 65 20 27 62 79 74 65 73 27 20 61 6e 64 20   ┆er conventions. The 'bytes' and ┆
0x11460…11480 69 6e 64 69 78 20 70 61 72 61 6d 65 74 65 72 73 20 61 72 65 20 0a 19 85 80 80 63 6f 6e 73 69 64   ┆indix parameters are   Ёђђconsid┆
0x11480…114a0 65 72 65 64 20 69 6e 74 65 67 65 72 73 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 30 2e 2e 36 35   ┆ered integers in the range 0..65┆
0x114a0…114c0 35 33 35 2e 20 0d 0a 0d 0a a1 4e 6f 74 65 3a e1 20 27 74 6f 66 72 6f 6d 27 20 73 68 6f 75 6c 64   ┆535.     АNote:р 'tofrom' should┆
0x114c0…114e0 20 62 65 20 75 73 65 64 20 69 6e 73 74 65 61 64 20 6f 66 20 27 6d 6f 76 65 67 27 2e 20 0d 0a 16   ┆ be used instead of 'moveg'.    ┆
0x114e0…11500 53 43 0d 0a 55 31 0d 0a 46 55 4e 43 54 49 4f 4e 20 75 31 20 28 56 41 52 20 72 20 3a 20 72 65 66   ┆SC  U1  FUNCTION u1 (VAR r : ref┆
0x11500…11520 65 72 65 6e 63 65 29 20 3a 20 62 79 74 65 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20   ┆erence) : byte;     Predefined. ┆
0x11520…11540 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 49 66 20 74 68 65 20 27 75 31 27 20 66 75 6e 63 74 69 6f 6e   ┆         - ёIf the 'u1' function┆
0x11540…11560 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 70 61 72 61 6d 65 74 65 72 20 77 69 74 68   ┆ is called with a parameter with┆
0x11560…11580 20 76 61 6c 75 65 20 4e 49 4c 2c 20 0a 19 85 80 80 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63   ┆ value NIL,   Ёђђan exception oc┆
0x11580…115a0 63 75 72 73 2e 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 74 68   ┆curs. Otherwise the result is th┆
0x115a0…115c0 65 20 75 31 2d 61 74 74 72 69 62 75 74 65 20 6f 66 20 0a 19 85 80 80 74 68 65 20 64 65 73 69 67   ┆e u1-attribute of   Ёђђthe desig┆
0x115c0…115e0 6e 61 74 65 64 20 6d 65 73 73 61 67 65 2e 20 41 20 63 61 6c 6c 20 69 73 20 65 71 75 69 76 61 6c   ┆nated message. A call is equival┆
0x115e0…11600 65 6e 74 20 74 6f 20 22 72 1f 2e 75 31 22 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 55 32 20   ┆ent to "r .u1".          SC  U2 ┆
0x11600…11620 20 20 20 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 75 32 20 28 56 41 52 20 72 20 3a 20 72 65 66 65   ┆       FUNCTION u2 (VAR r : refe┆
0x11620…11640 72 65 6e 63 65 29 20 3a 20 62 79 74 65 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d   ┆rence) : byte;     Predefined.  ┆
0x11640…11660 0a 0d 0a 0d 0a 20 20 20 2d 20 84 49 66 20 74 68 65 20 27 75 32 27 20 66 75 6e 63 74 69 6f 6e 20   ┆        - ёIf the 'u2' function ┆
0x11660…11680 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 70 61 72 61 6d 65 74 65 72 20 77 69 74 68 20   ┆is called with a parameter with ┆
0x11680…116a0 76 61 6c 75 65 20 4e 49 4c 2c 20 0a 19 85 80 80 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63   ┆value NIL,   Ёђђan exception occ┆
0x116a0…116c0 75 72 73 2e 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 74 68 65   ┆urs. Otherwise the result is the┆
0x116c0…116e0 20 75 32 2d 61 74 74 72 69 62 75 74 65 20 6f 66 20 0a 19 85 80 80 74 68 65 20 64 65 73 69 67 6e   ┆ u2-attribute of   Ёђђthe design┆
0x116e0…11700 61 74 65 64 20 6d 65 73 73 61 67 65 2e 20 41 20 63 61 6c 6c 20 69 73 20 65 71 75 69 76 61 6c 65   ┆ated message. A call is equivale┆
0x11700…11720 6e 74 20 74 6f 20 22 72 1f 2e 75 32 22 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 55 33 0d 0a   ┆nt to "r .u2".          SC  U3  ┆
0x11720…11740 46 55 4e 43 54 49 4f 4e 20 75 33 20 28 56 41 52 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 29 20   ┆FUNCTION u3 (VAR r : reference) ┆
0x11740…11760 3a 20 62 79 74 65 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20   ┆: byte;     Predefined.         ┆
0x11760…11780 20 2d 20 84 49 66 20 74 68 65 20 27 75 33 27 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c   ┆ - ёIf the 'u3' function is call┆
0x11780…117a0 65 64 20 77 69 74 68 20 61 20 70 61 72 61 6d 65 74 65 72 20 77 69 74 68 20 76 61 6c 75 65 20 4e   ┆ed with a parameter with value N┆
0x117a0…117c0 49 4c 2c 20 0a 19 85 80 80 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 2e 20 4f 74   ┆IL,   Ёђђan exception occurs. Ot┆
0x117c0…117e0 68 65 72 77 69 73 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 74 68 65 20 75 33 2d 61 74 74   ┆herwise the result is the u3-att┆
0x117e0…11800 72 69 62 75 74 65 20 6f 66 20 0a 19 85 80 80 74 68 65 20 64 65 73 69 67 6e 61 74 65 64 20 6d 65   ┆ribute of   Ёђђthe designated me┆
0x11800…11820 73 73 61 67 65 2e 20 41 20 63 61 6c 6c 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 22   ┆ssage. A call is equivalent to "┆
0x11820…11840 72 1f 2e 75 33 22 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 55 34 0d 0a 46 55 4e 43 54 49 4f   ┆r .u3".          SC  U4  FUNCTIO┆
0x11840…11860 4e 20 75 34 20 28 56 41 52 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 29 20 3a 20 62 79 74 65 3b   ┆N u4 (VAR r : reference) : byte;┆
0x11860…11880 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 49 66 20   ┆     Predefined.          - ёIf ┆
0x11880…118a0 74 68 65 20 27 75 34 27 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68   ┆the 'u4' function is called with┆
0x118a0…118c0 20 61 20 70 61 72 61 6d 65 74 65 72 20 77 69 74 68 20 76 61 6c 75 65 20 4e 49 4c 2c 20 0a 19 85   ┆ a parameter with value NIL,   Ё┆
0x118c0…118e0 80 80 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 2e 20 4f 74 68 65 72 77 69 73 65   ┆ђђan exception occurs. Otherwise┆
0x118e0…11900 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 74 68 65 20 75 34 2d 61 74 74 72 69 62 75 74 65 20   ┆ the result is the u4-attribute ┆
0x11900…11920 6f 66 20 0a 19 85 80 80 74 68 65 20 64 65 73 69 67 6e 61 74 65 64 20 6d 65 73 73 61 67 65 2e 20   ┆of   Ёђђthe designated message. ┆
0x11920…11940 41 20 63 61 6c 6c 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 22 72 1f 2e 75 34 22 2e   ┆A call is equivalent to "r .u4".┆
0x11940…11960 20 0d 0a 16 53 42 0d 0a 43 6f 6e 76 65 72 73 69 6f 6e 20 61 6e 64 20 41 72 69 74 68 6d 65 74 69   ┆    SB  Conversion and Arithmeti┆
0x11960…11980 63 20 52 6f 75 74 69 6e 65 73 20 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 54 68 65 20 50   ┆c Routines             SC  The P┆
0x11980…119a0 72 65 64 65 66 69 6e 65 64 20 52 6f 75 74 69 6e 65 73 20 43 68 72 2c 20 4f 72 64 2c 20 50 72 65   ┆redefined Routines Chr, Ord, Pre┆
0x119a0…119c0 64 2c 20 53 75 63 63 20 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 8c 8b d0 0a 0d 0a 16 53 44 0d 0a   ┆d, Succ              їІл    SD  ┆
0x119c0…119e0 43 68 72 20 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 63 68 72 28 69 6e 74 3a 20 30 2e 2e 31 32 37   ┆Chr     FUNCTION chr(int: 0..127┆
0x119e0…11a00 29 3a 20 63 68 61 72 3b 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 72 65 74 75 72 6e 73 20 74 68 65   ┆): char;          - ёreturns the┆
0x11a00…11a20 20 63 68 61 72 61 63 74 65 72 20 77 69 74 68 20 74 68 65 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75   ┆ character with the ordinal valu┆
0x11a20…11a40 65 20 27 69 6e 74 27 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 4f 72 64 20 20 20 0d 0a 46 55   ┆e 'int'.          SD  Ord     FU┆
0x11a40…11a60 4e 43 54 49 4f 4e 20 6f 72 64 20 28 78 3a 20 6f 74 79 70 65 29 3a 20 69 6e 74 65 67 65 72 3b 20   ┆NCTION ord (x: otype): integer; ┆
0x11a60…11a80 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 72 65 74 75 72 6e 73 20 74 68 65 20 6f 72 64 69 6e 61 6c 20   ┆         - ёreturns the ordinal ┆
0x11a80…11aa0 76 61 6c 75 65 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 27 78 27 20 6f 66 20 74 79 70   ┆value of the variable 'x' of typ┆
0x11aa0…11ac0 65 20 27 6f 74 79 70 65 27 2c 20 0a 19 85 80 80 77 68 65 72 65 20 27 6f 74 79 70 65 27 20 69 73   ┆e 'otype',   Ёђђwhere 'otype' is┆
0x11ac0…11ae0 20 61 6e 79 20 6f 72 64 69 6e 61 6c 20 74 79 70 65 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a   ┆ any ordinal type.          SD  ┆
0x11ae0…11b00 50 72 65 64 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 70 72 65 64 20 28 78 3a 20 6f 74 79 70 65 29   ┆Pred    FUNCTION pred (x: otype)┆
0x11b00…11b20 3a 20 6f 74 79 70 65 3b 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 67 69 76 65 73 20 74 68 65 20 70   ┆: otype;          - ёgives the p┆
0x11b20…11b40 72 65 64 65 63 65 73 73 6f 72 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 27 78 27 20 6f   ┆redecessor of the variable 'x' o┆
0x11b40…11b60 66 20 74 79 70 65 20 27 6f 74 79 70 65 27 2c 20 77 68 65 72 65 20 0a 19 85 80 80 27 6f 74 79 70   ┆f type 'otype', where   Ёђђ'otyp┆
0x11b60…11b80 65 27 20 69 73 20 61 6e 79 20 6f 72 64 69 6e 61 6c 20 74 79 70 65 2e 20 0d 0a 0d 0a 0d 0a 0d 0a   ┆e' is any ordinal type.         ┆
0x11b80…11ba0 16 53 44 0d 0a 53 75 63 63 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 73 75 63 63 20 28 78 3a 20 6f   ┆ SD  Succ    FUNCTION succ (x: o┆
0x11ba0…11bc0 74 79 70 65 29 3a 20 6f 74 79 70 65 3b 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 67 69 76 65 73 20   ┆type): otype;          - ёgives ┆
0x11bc0…11be0 74 68 65 20 73 75 63 63 65 73 73 6f 72 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 27 78   ┆the successor of the variable 'x┆
0x11be0…11c00 27 20 6f 66 20 74 79 70 65 20 27 6f 74 79 70 65 27 2c 20 77 68 65 72 65 20 0a 19 85 80 80 27 6f   ┆' of type 'otype', where   Ёђђ'o┆
0x11c00…11c20 74 79 70 65 27 20 69 73 20 61 6e 79 20 6f 72 64 69 6e 61 6c 20 74 79 70 65 2e 20 0d 0a 0d 0a 0d   ┆type' is any ordinal type.      ┆
0x11c20…11c40 0a 0d 0a 16 53 43 0d 0a 44 6f 75 62 6c 65 20 41 72 69 74 68 6d 65 74 69 63 73 20 52 6f 75 74 69   ┆    SC  Double Arithmetics Routi┆
0x11c40…11c60 6e 65 73 20 20 20 20 20 20 20 20 20 0d 0a 44 4f 55 42 4c 45 45 4e 56 20 63 6f 6e 74 61 69 6e 73   ┆nes           DOUBLEENV contains┆
0x11c60…11c80 20 66 6f 75 72 20 63 6f 6e 73 74 61 6e 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2c 20 62 65 73   ┆ four constant declarations, bes┆
0x11c80…11ca0 69 64 65 73 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 0a 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77   ┆ides declarations  of the follow┆
0x11ca0…11cc0 69 6e 67 20 64 6f 75 62 6c 65 20 61 72 69 74 68 6d 65 74 69 63 73 20 72 6f 75 74 69 6e 65 73 3a   ┆ing double arithmetics routines:┆
0x11cc0…11ce0 20 20 20 20 20 20 64 6f 75 62 6c 65 5f 6f 6e 65 20 20 3d 20 0a 64 6f 75 62 6c 65 20 28 30 2c 20   ┆      double_one  =  double (0, ┆
0x11ce0…11d00 31 29 3b 20 20 20 20 64 6f 75 62 6c 65 5f 6d 61 78 20 20 3d 20 64 6f 75 62 6c 65 20 28 6d 61 78   ┆1);    double_max  = double (max┆
0x11d00…11d20 69 6e 74 2c 20 2d 31 29 3b 20 20 20 20 64 6f 75 62 6c 65 5f 6d 69 6e 20 20 3d 20 0a 64 6f 75 62   ┆int, -1);    double_min  =  doub┆
0x11d20…11d40 6c 65 20 28 6d 69 6e 69 6e 74 2c 20 30 29 3b 20 20 20 20 64 6f 75 62 6c 65 5f 7a 65 72 6f 20 3d   ┆le (minint, 0);    double_zero =┆
0x11d40…11d60 20 64 6f 75 62 6c 65 20 28 30 2c 20 30 29 3b 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d   ┆ double (0, 0);              SD ┆
0x11d60…11d80 0a 44 6f 75 62 6c 65 5f 61 64 64 20 20 20 20 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 64 6f 75 62   ┆ Double_add        FUNCTION doub┆
0x11d80…11da0 6c 65 5f 61 64 64 20 28 64 31 2c 20 64 32 20 3a 20 64 6f 75 62 6c 65 29 20 3a 20 64 6f 75 62 6c   ┆le_add (d1, d2 : double) : doubl┆
0x11da0…11dc0 65 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 44 4f 55 42 4c 45 45 4e 56 2e 20 0d 0a 0d   ┆e;     Defined in DOUBLEENV.    ┆
0x11dc0…11de0 0a 0d 0a 20 20 20 2d 20 84 41 64 64 69 74 69 6f 6e 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 2d   ┆      - ёAddition in the range -┆
0x11de0…11e00 32 31 34 37 34 38 33 36 34 38 2e 2e 32 31 34 37 34 38 33 36 34 37 2e 20 0d 0a 0d 0a 41 6e 20 65   ┆2147483648..2147483647.     An e┆
0x11e00…11e20 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 2c 20 69 66 20 74 68 65 20 72 65 73 75 6c 74 20 69   ┆xception occurs, if the result i┆
0x11e20…11e40 73 20 6f 75 74 73 69 64 65 20 74 68 69 73 20 72 61 6e 67 65 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53   ┆s outside this range.          S┆
0x11e40…11e60 44 0d 0a 44 6f 75 62 6c 65 5f 64 69 76 20 20 20 20 20 20 0d 0a 8c 8b 88 0a 46 55 4e 43 54 49 4f   ┆D  Double_div        їІѕ FUNCTIO┆
0x11e60…11e80 4e 20 64 6f 75 62 6c 65 5f 64 69 76 20 28 64 31 2c 20 64 32 20 3a 20 64 6f 75 62 6c 65 29 20 3a   ┆N double_div (d1, d2 : double) :┆
0x11e80…11ea0 20 64 6f 75 62 6c 65 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 44 4f 55 42 4c 45 45 4e   ┆ double;     Defined in DOUBLEEN┆
0x11ea0…11ec0 56 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 44 69 76 69 73 69 6f 6e 20 69 6e 20 74 68 65 20 72   ┆V.          - ёDivision in the r┆
0x11ec0…11ee0 61 6e 67 65 20 2d 32 31 34 37 34 38 33 36 34 38 2e 2e 32 31 34 37 34 38 33 36 34 37 2e 20 0d 0a   ┆ange -2147483648..2147483647.   ┆
0x11ee0…11f00 0d 0a 41 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 2c 20 69 66 20 27 64 32 27 20 3d   ┆  An exception occurs, if 'd2' =┆
0x11f00…11f20 20 27 64 6f 75 62 6c 65 5f 7a 65 72 6f 27 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 44 6f 75   ┆ 'double_zero'.          SD  Dou┆
0x11f20…11f40 62 6c 65 5f 6c 74 20 20 20 20 20 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 64 6f 75 62 6c 65 5f 6c   ┆ble_lt         FUNCTION double_l┆
0x11f40…11f60 74 20 28 64 31 2c 20 64 32 20 3a 20 64 6f 75 62 6c 65 29 20 3a 20 62 6f 6f 6c 65 61 6e 3b 20 0d   ┆t (d1, d2 : double) : boolean;  ┆
0x11f60…11f80 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 44 4f 55 42 4c 45 45 4e 56 2e 20 0d 0a 0d 0a 0d 0a 20   ┆   Defined in DOUBLEENV.        ┆
0x11f80…11fa0 20 20 2d 20 84 27 6c 65 73 73 20 74 68 61 6e 27 20 28 27 64 31 27 20 3c 20 27 64 32 27 29 20 69   ┆  - ё'less than' ('d1' < 'd2') i┆
0x11fa0…11fc0 6e 20 74 68 65 20 72 61 6e 67 65 20 2d 32 31 34 37 34 38 33 36 34 38 2e 2e 32 31 34 37 34 38 33   ┆n the range -2147483648..2147483┆
0x11fc0…11fe0 36 34 37 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 44 6f 75 62 6c 65 5f 69 6e 74 20 20 20 20   ┆647.          SD  Double_int    ┆
0x11fe0…12000 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 64 6f 75 62 6c 65 5f 69 6e 74 20 28 69 20 3a 20 69 6e 74   ┆    FUNCTION double_int (i : int┆
0x12000…12020 65 67 65 72 29 20 3a 20 64 6f 75 62 6c 65 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 44   ┆eger) : double;     Defined in D┆
0x12020…12040 4f 55 42 4c 45 45 4e 56 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 43 6f 6e 76 65 72 74 73 20 61   ┆OUBLEENV.          - ёConverts a┆
0x12040…12060 20 76 61 72 69 61 62 6c 65 20 6f 66 20 74 79 70 65 20 69 6e 74 65 67 65 72 20 74 6f 20 61 20 76   ┆ variable of type integer to a v┆
0x12060…12080 61 72 69 61 62 6c 65 20 6f 66 20 74 79 70 65 20 0a 19 85 80 80 27 64 6f 75 62 6c 65 27 2e 20 0d   ┆ariable of type   Ёђђ'double'.  ┆
0x12080…120a0 0a 16 53 44 0d 0a 44 6f 75 62 6c 65 5f 6d 61 64 64 20 20 20 20 20 0d 0a 46 55 4e 43 54 49 4f 4e   ┆  SD  Double_madd       FUNCTION┆
0x120a0…120c0 20 64 6f 75 62 6c 65 5f 6d 61 64 64 20 28 64 31 2c 20 64 32 20 3a 20 64 6f 75 62 6c 65 29 20 3a   ┆ double_madd (d1, d2 : double) :┆
0x120c0…120e0 20 64 6f 75 62 6c 65 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 44 4f 55 42 4c 45 45 4e   ┆ double;     Defined in DOUBLEEN┆
0x120e0…12100 56 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 41 64 64 69 74 69 6f 6e 20 69 6e 20 74 68 65 20 72   ┆V.          - ёAddition in the r┆
0x12100…12120 61 6e 67 65 20 2d 32 31 34 37 34 38 33 36 34 38 2e 2e 32 31 34 37 34 38 33 36 34 37 2c 20 62 75   ┆ange -2147483648..2147483647, bu┆
0x12120…12140 74 20 77 69 74 68 20 6e 6f 20 0a 19 85 80 80 6f 76 65 72 66 6c 6f 77 20 65 78 63 65 70 74 69 6f   ┆t with no   Ёђђoverflow exceptio┆
0x12140…12160 6e 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 44 6f 75 62 6c 65 5f 6d 6f 64 20 20 20 20 20 20   ┆n.          SD  Double_mod      ┆
0x12160…12180 0d 0a 46 55 4e 43 54 49 4f 4e 20 64 6f 75 62 6c 65 5f 6d 6f 64 20 28 64 31 2c 20 64 32 20 3a 20   ┆  FUNCTION double_mod (d1, d2 : ┆
0x12180…121a0 64 6f 75 62 6c 65 29 20 3a 20 64 6f 75 62 6c 65 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e   ┆double) : double;     Defined in┆
0x121a0…121c0 20 44 4f 55 42 4c 45 45 4e 56 2e 20 20 20 0d 0a 20 20 20 2d 20 84 4d 6f 64 75 6c 6f 20 6f 70 65   ┆ DOUBLEENV.        - ёModulo ope┆
0x121c0…121e0 72 61 74 69 6f 6e 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 2d 32 31 34 37 34 38 33 36 34 38 2e   ┆ration in the range -2147483648.┆
0x121e0…12200 2e 32 31 34 37 34 38 33 36 34 37 2e 20 0d 0a 0d 0a 41 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63   ┆.2147483647.     An exception oc┆
0x12200…12220 63 75 72 73 2c 20 69 66 20 27 64 32 27 20 3d 20 27 64 6f 75 62 6c 65 5f 7a 65 72 6f 27 2e 20 0d   ┆curs, if 'd2' = 'double_zero'.  ┆
0x12220…12240 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 44 6f 75 62 6c 65 5f 6d 73 75 62 20 20 20 20 20 0d 0a 46 55   ┆        SD  Double_msub       FU┆
0x12240…12260 4e 43 54 49 4f 4e 20 64 6f 75 62 6c 65 5f 6d 73 75 62 20 28 64 31 2c 20 64 32 20 3a 20 64 6f 75   ┆NCTION double_msub (d1, d2 : dou┆
0x12260…12280 62 6c 65 29 20 3a 20 64 6f 75 62 6c 65 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 44 4f   ┆ble) : double;     Defined in DO┆
0x12280…122a0 55 42 4c 45 45 4e 56 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 53 75 62 74 72 61 63 74 69 6f 6e   ┆UBLEENV.          - ёSubtraction┆
0x122a0…122c0 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 2d 32 31 34 37 34 38 33 36 34 38 2e 2e 32 31 34 37 34   ┆ in the range -2147483648..21474┆
0x122c0…122e0 38 33 36 34 37 2c 20 62 75 74 20 77 69 74 68 20 6e 6f 20 0a 19 85 80 80 6f 76 65 72 66 6c 6f 77   ┆83647, but with no   Ёђђoverflow┆
0x122e0…12300 20 65 78 63 65 70 74 69 6f 6e 2e 20 0d 0a 0d 0a 0d 0a 8c 8b a0 0a 0d 0a 16 53 44 0d 0a 44 6f 75   ┆ exception.       їІа    SD  Dou┆
0x12300…12320 62 6c 65 5f 6d 75 6c 20 20 20 20 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 64 6f 75 62 6c 65 5f 6d   ┆ble_mul        FUNCTION double_m┆
0x12320…12340 75 6c 20 28 64 31 2c 20 64 32 20 3a 20 64 6f 75 62 6c 65 29 20 3a 20 64 6f 75 62 6c 65 3b 20 0d   ┆ul (d1, d2 : double) : double;  ┆
0x12340…12360 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 44 4f 55 42 4c 45 45 4e 56 2e 20 0d 0a 0d 0a 0d 0a 20   ┆   Defined in DOUBLEENV.        ┆
0x12360…12380 20 20 2d 20 84 4d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 20 69 6e 20 74 68 65 20 72 61 6e 67 65   ┆  - ёMultiplication in the range┆
0x12380…123a0 20 2d 32 31 34 37 34 38 33 36 34 38 2e 2e 32 31 34 37 34 38 33 36 34 37 2e 20 0d 0a 0d 0a 41 6e   ┆ -2147483648..2147483647.     An┆
0x123a0…123c0 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 2c 20 69 66 20 74 68 65 20 72 65 73 75 6c 74   ┆ exception occurs, if the result┆
0x123c0…123e0 20 69 73 20 6f 75 74 73 69 64 65 20 74 68 69 73 20 72 61 6e 67 65 2e 20 0d 0a 16 53 44 0d 0a 44   ┆ is outside this range.    SD  D┆
0x123e0…12400 6f 75 62 6c 65 5f 73 75 62 20 20 20 20 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 64 6f 75 62 6c 65   ┆ouble_sub        FUNCTION double┆
0x12400…12420 5f 73 75 62 20 28 64 31 2c 20 64 32 20 3a 20 64 6f 75 62 6c 65 29 20 3a 20 64 6f 75 62 6c 65 3b   ┆_sub (d1, d2 : double) : double;┆
0x12420…12440 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 53 75 62 74 72 61 63 74 69 6f 6e 20 69 6e 20 74 68 65 20   ┆          - ёSubtraction in the ┆
0x12440…12460 72 61 6e 67 65 20 2d 32 31 34 37 34 38 33 36 34 38 2e 2e 32 31 34 37 34 38 33 36 34 37 2e 20 0d   ┆range -2147483648..2147483647.  ┆
0x12460…12480 0a 0d 0a 41 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 2c 20 69 66 20 74 68 65 20 72   ┆   An exception occurs, if the r┆
0x12480…124a0 65 73 75 6c 74 20 69 73 20 6f 75 74 73 69 64 65 20 74 68 69 73 20 72 61 6e 67 65 2e 20 0d 0a 0d   ┆esult is outside this range.    ┆
0x124a0…124c0 0a 0d 0a 0d 0a 16 53 44 0d 0a 20 44 6f 75 62 6c 65 5f 64 65 63 20 20 20 20 20 0d 0a 50 52 4f 43   ┆      SD   Double_dec       PROC┆
0x124c0…124e0 45 44 55 52 45 20 64 6f 75 62 6c 65 5f 64 65 63 20 28 56 41 52 20 64 20 3a 20 64 6f 75 62 6c 65   ┆EDURE double_dec (VAR d : double┆
0x124e0…12500 29 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 44 4f 55 42 4c 45 45 4e 56 2e 20 0d 0a 0d   ┆);     Defined in DOUBLEENV.    ┆
0x12500…12520 0a 0d 0a 20 20 20 2d 20 84 44 65 63 72 65 6d 65 6e 74 73 20 74 68 65 20 70 61 72 61 6d 65 74 65   ┆      - ёDecrements the paramete┆
0x12520…12540 72 20 27 64 27 20 62 79 20 6f 6e 65 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 2d 0a 19 85 80 80   ┆r 'd' by one in the range -  Ёђђ┆
0x12540…12560 32 31 34 37 34 38 33 36 34 38 2e 2e 32 31 34 37 34 38 33 36 34 37 2c 20 62 75 74 20 77 69 74 68   ┆2147483648..2147483647, but with┆
0x12560…12580 20 6e 6f 20 6f 76 65 72 66 6c 6f 77 20 65 78 63 65 70 74 69 6f 6e 2e 20 0d 0a 0d 0a 0d 0a 0d 0a   ┆ no overflow exception.         ┆
0x12580…125a0 16 53 44 0d 0a 20 44 6f 75 62 6c 65 5f 69 6e 63 20 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45   ┆ SD   Double_inc       PROCEDURE┆
0x125a0…125c0 20 64 6f 75 62 6c 65 5f 69 6e 63 20 28 56 41 52 20 64 20 3a 20 64 6f 75 62 6c 65 29 3b 20 0d 0a   ┆ double_inc (VAR d : double);   ┆
0x125c0…125e0 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 44 4f 55 42 4c 45 45 4e 56 2e 20 0d 0a 0d 0a 0d 0a 20 20   ┆  Defined in DOUBLEENV.         ┆
0x125e0…12600 20 2d 20 84 49 6e 63 72 65 6d 65 6e 74 73 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 27 64 27   ┆ - ёIncrements the parameter 'd'┆
0x12600…12620 20 62 79 20 6f 6e 65 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 2d 0a 19 85 80 80 32 31 34 37 34   ┆ by one in the range -  Ёђђ21474┆
0x12620…12640 38 33 36 34 38 2e 2e 32 31 34 37 34 38 33 36 34 37 2c 20 62 75 74 20 77 69 74 68 20 6e 6f 20 6f   ┆83648..2147483647, but with no o┆
0x12640…12660 76 65 72 66 6c 6f 77 20 65 78 63 65 70 74 69 6f 6e 2e 20 0d 0a 16 53 43 0d 0a 4d 69 73 63 65 6c   ┆verflow exception.    SC  Miscel┆
0x12660…12680 6c 61 6e 65 6f 75 73 20 41 72 69 74 68 6d 65 74 69 63 20 52 6f 75 74 69 6e 65 73 20 20 20 0d 0a   ┆laneous Arithmetic Routines     ┆
0x12680…126a0 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 41 62 73 20 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 61 62   ┆         SD  Abs     FUNCTION ab┆
0x126a0…126c0 73 28 78 3a 69 6e 74 65 67 65 72 29 3a 20 69 6e 74 65 67 65 72 3b 20 0d 0a 0d 0a 50 72 65 64 65   ┆s(x:integer): integer;     Prede┆
0x126c0…126e0 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 54 68 65 20 61 62 73 6f 6c 75 74 65 20   ┆fined.          - ёThe absolute ┆
0x126e0…12700 76 61 6c 75 65 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 27 78 27 20 69 73 20 64 65 6c   ┆value of the variable 'x' is del┆
0x12700…12720 69 76 65 72 65 64 20 61 73 20 72 65 73 75 6c 74 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 43   ┆ivered as result.          SD  C┆
0x12720…12740 72 63 31 36 20 20 20 20 20 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 63 72 63 31 36 20 28 6f 70 31   ┆rc16         FUNCTION crc16 (op1┆
0x12740…12760 2c 20 6f 70 32 20 3a 20 69 6e 74 65 67 65 72 29 20 3a 20 69 6e 74 65 67 65 72 3b 20 0d 0a 0d 0a   ┆, op2 : integer) : integer;     ┆
0x12760…12780 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 8c 8b 88 0a 0d 0a 20 20 20 2d 20 84 27 6f 70 31   ┆Predefined.     їІѕ      - ё'op1┆
0x12780…127a0 27 20 72 65 70 72 65 73 65 6e 74 73 20 74 68 65 20 70 6f 6c 79 6e 6f 6d 69 75 6d 3a 20 0d 0a 0d   ┆' represents the polynomium:    ┆
0x127a0…127c0 0a 66 20 28 78 29 20 3d 61 31 35 20 2a 20 78 1f 31 35 20 2b 20 61 31 34 20 2a 20 78 1f 31 34 20   ┆ f (x) =a15 * x 15 + a14 * x 14 ┆
0x127c0…127e0 2b 20 2e 2e 2e 20 2b 20 61 31 20 2a 20 78 20 2b 20 61 30 20 0d 0a 0d 0a 77 68 65 72 65 20 61 6a   ┆+ ... + a1 * x + a0     where aj┆
0x127e0…12800 20 3d 20 6f 70 31 2e 62 69 74 6a 2e 20 0d 0a 0d 0a a1 28 4e 6f 74 65 3a e1 20 42 69 74 20 30 20   ┆ = op1.bitj.     А(Note:р Bit 0 ┆
0x12800…12820 69 73 20 74 68 65 20 a1 6d 6f 73 74 e1 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 29 2e 20   ┆is the Аmostр significant bit). ┆
0x12820…12840 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 27 6f 70 32 27 20 72 65 70 72 65 73 65 6e 74 73 20 74 68 65   ┆         - ё'op2' represents the┆
0x12840…12860 20 70 6f 6c 79 6e 6f 6d 69 75 6d 3a 20 0d 0a 0d 0a 67 20 28 78 29 20 3d 20 78 1f 31 36 20 2b 20   ┆ polynomium:     g (x) = x 16 + ┆
0x12860…12880 62 31 35 20 2a 20 78 1f 31 35 20 2b 20 62 31 34 20 2a 20 78 1f 31 34 20 2b 20 2e 2e 2e 20 2b 20   ┆b15 * x 15 + b14 * x 14 + ... + ┆
0x12880…128a0 62 31 20 2a 20 78 20 2b 20 62 30 20 0d 0a 0d 0a 77 68 65 72 65 20 62 6a 20 3d 20 6f 70 32 2e 62   ┆b1 * x + b0     where bj = op2.b┆
0x128a0…128c0 69 74 6a 2e 20 0d 0a 0d 0a 4e 6f 74 65 20 74 68 61 74 20 78 1f 31 36 20 62 79 20 63 6f 6e 76 65   ┆itj.     Note that x 16 by conve┆
0x128c0…128e0 6e 74 69 6f 6e 20 69 73 20 69 6d 70 6c 69 63 69 74 6c 79 20 67 69 76 65 6e 2e 20 0d 0a 0d 0a 54   ┆ntion is implicitly given.     T┆
0x128e0…12900 68 65 20 72 6f 75 74 69 6e 65 20 64 65 6c 69 76 65 72 73 20 74 68 65 20 72 65 6d 61 69 6e 64 65   ┆he routine delivers the remainde┆
0x12900…12920 72 20 62 79 20 74 68 65 20 64 69 76 69 73 69 6f 6e 3a 20 0d 0a 0d 0a 28 66 20 28 78 29 20 2a 20   ┆r by the division:     (f (x) * ┆
0x12920…12940 78 1f 38 2f 67 20 28 78 29 20 0d 0a 0d 0a a1 45 78 61 6d 70 6c 65 20 20 35 2e 20 20 43 52 43 31   ┆x 8/g (x)     АExample  5.  CRC1┆
0x12940…12960 36 20 e1 20 20 50 52 4f 43 45 44 55 52 45 20 65 78 61 6d 70 6c 65 35 3b 20 20 20 20 20 20 20 28   ┆6 р  PROCEDURE example5;       (┆
0x12960…12980 2a 20 67 65 6e 65 72 61 74 65 20 74 68 65 20 0a 63 72 63 31 36 20 72 65 6d 61 69 6e 64 65 72 20   ┆* generate the  crc16 remainder ┆
0x12980…129a0 2a 29 20 20 20 20 20 20 20 28 2a 20 74 6f 20 62 65 20 70 6c 61 63 65 64 20 69 6e 20 74 68 65 20   ┆*)       (* to be placed in the ┆
0x129a0…129c0 6c 61 73 74 20 2a 29 20 20 20 20 20 20 20 28 2a 20 0a 70 6f 73 69 74 69 6f 6e 73 20 6f 66 20 61   ┆last *)       (*  positions of a┆
0x129c0…129e0 20 62 75 66 66 65 72 20 20 20 20 2a 29 20 20 20 20 20 43 4f 4e 53 54 20 20 20 20 20 71 75 6f 74   ┆ buffer    *)     CONST     quot┆
0x129e0…12a00 69 65 6e 74 20 3d 20 2d 33 32 37 36 38 20 2b 20 38 31 39 32 20 0a 2b 20 31 3b 20 20 20 20 20 20   ┆ient = -32768 + 8192  + 1;      ┆
0x12a00…12a20 20 28 2a 20 78 2a 2a 31 36 20 2b 20 78 2a 2a 31 35 20 2b 20 78 2a 2a 32 20 2b 20 31 20 2a 29 20   ┆ (* x**16 + x**15 + x**2 + 1 *) ┆
0x12a20…12a40 20 20 20 20 6e 20 20 20 20 20 20 20 20 3d 20 37 36 38 3b 20 20 20 20 20 0a 56 41 52 20 20 20 20   ┆    n        = 768;      VAR    ┆
0x12a40…12a60 20 72 65 6d 61 69 6e 64 65 72 20 2c 20 20 20 20 20 69 20 20 20 20 20 20 20 20 20 3a 20 69 6e 74   ┆ remainder ,     i         : int┆
0x12a60…12a80 65 67 65 72 3b 20 20 20 20 20 62 75 66 66 65 72 20 20 20 20 3a 20 41 52 52 41 59 20 0a 28 31 20   ┆eger;     buffer    : ARRAY  (1 ┆
0x12a80…12aa0 2e 2e 20 6e 20 2b 20 32 29 20 4f 46 20 62 79 74 65 3b 20 20 20 20 20 42 45 47 49 4e 20 20 20 20   ┆.. n + 2) OF byte;     BEGIN    ┆
0x12aa0…12ac0 20 72 65 6d 61 69 6e 64 65 72 20 3a 3d 20 30 3b 20 28 2a 20 69 6e 69 74 20 76 61 6c 75 65 20 2a   ┆ remainder := 0; (* init value *┆
0x12ac0…12ae0 29 20 20 20 20 20 0a 46 4f 52 20 69 20 3a 3d 20 31 20 54 4f 20 6e 20 44 4f 20 20 20 20 20 20 20   ┆)      FOR i := 1 TO n DO       ┆
0x12ae0…12b00 72 65 6d 61 69 6e 64 65 72 20 3a 3d 20 63 72 63 31 36 20 28 72 65 6d 61 69 6e 64 65 72 20 78 6f   ┆remainder := crc16 (remainder xo┆
0x12b00…12b20 72 20 0a 62 75 66 66 65 72 28 69 29 2c 20 71 75 6f 74 69 65 6e 74 29 3b 20 20 20 20 20 20 20 28   ┆r  buffer(i), quotient);       (┆
0x12b20…12b40 2a 20 6e 6f 77 20 72 65 6d 61 69 6e 64 65 72 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 63 72 63   ┆* now remainder contains the crc┆
0x12b40…12b60 31 36 20 0a 72 65 6d 61 69 6e 64 65 72 20 2a 29 20 20 20 20 20 20 20 28 2a 20 74 68 65 20 6c 65   ┆16  remainder *)       (* the le┆
0x12b60…12b80 61 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 79 74 65 20 6f 66 20 72 65 6d 61 69 6e 64 65   ┆ast significant byte of remainde┆
0x12b80…12ba0 72 20 20 20 20 2a 29 20 20 20 20 20 20 20 0a 28 2a 20 69 73 20 73 75 70 70 6f 73 65 64 20 74 6f   ┆r    *)        (* is supposed to┆
0x12ba0…12bc0 20 62 65 20 73 65 6e 74 20 66 69 72 73 74 20 20 20 20 20 2a 29 20 20 20 20 20 62 75 66 66 65 72   ┆ be sent first     *)     buffer┆
0x12bc0…12be0 20 28 6e 20 2b 20 31 29 20 3a 3d 20 72 65 6d 61 69 6e 64 65 72 20 0a 41 4e 44 20 32 35 35 3b 20   ┆ (n + 1) := remainder  AND 255; ┆
0x12be0…12c00 20 20 20 20 62 75 66 66 65 72 20 28 6e 20 2b 20 32 29 20 3a 3d 20 73 77 61 70 20 28 72 65 6d 61   ┆    buffer (n + 2) := swap (rema┆
0x12c00…12c20 69 6e 64 65 72 29 20 41 4e 44 20 32 35 35 3b 20 20 20 45 4e 44 3b 20 0a 28 2a 20 65 78 61 6d 70   ┆inder) AND 255;   END;  (* examp┆
0x12c20…12c40 6c 65 35 20 2a 29 20 20 20 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 49 6e 63 72   ┆le5 *)   .              SD  Incr┆
0x12c40…12c60 65 6d 65 6e 74 5f 6d 6f 64 5f 36 34 6b 20 20 20 20 20 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52   ┆ement_mod_64k           PROCEDUR┆
0x12c60…12c80 45 20 69 6e 63 72 65 6d 65 6e 74 5f 6d 6f 64 5f 36 34 6b 20 28 56 41 52 20 69 20 3a 20 69 6e 74   ┆E increment_mod_64k (VAR i : int┆
0x12c80…12ca0 65 67 65 72 29 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d   ┆eger);     Not predefined.      ┆
0x12ca0…12cc0 0a 20 20 20 2d 20 84 69 6e 63 72 65 6d 65 6e 74 73 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20   ┆    - ёincrements the parameter ┆
0x12cc0…12ce0 27 69 27 20 62 79 20 a1 6f 6e 65 e1 20 77 69 74 68 20 6e 6f 20 6f 76 65 72 66 6c 6f 77 20 65 78   ┆'i' by Аoneр with no overflow ex┆
0x12ce0…12d00 63 65 70 74 69 6f 6e 2e 20 0a 19 85 80 80 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69   ┆ception.   ЁђђThe procedure is i┆
0x12d00…12d20 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 74 61 74 69 73 74 69 63 61 6c 20 70 75 72 70 6f 73 65 73   ┆ntended for statistical purposes┆
0x12d20…12d40 20 2d 20 6c 69 6b 65 20 69 3a 3d 20 69 20 2b 20 31 20 0a 19 85 80 80 2d 2c 20 77 68 65 72 65 20   ┆ - like i:= i + 1   Ёђђ-, where ┆
0x12d40…12d60 74 68 65 20 61 63 63 65 73 73 20 70 61 74 68 20 74 6f 20 74 68 65 20 70 61 72 61 6d 65 74 65 72   ┆the access path to the parameter┆
0x12d60…12d80 20 27 69 27 20 69 73 20 68 61 72 64 2e 20 54 68 65 20 0a 19 85 80 80 61 64 64 72 65 73 73 20 6f   ┆ 'i' is hard. The   Ёђђaddress o┆
0x12d80…12da0 66 20 27 69 27 20 69 73 20 6f 6e 6c 79 20 63 61 6c 63 75 6c 61 74 65 64 20 6f 6e 63 65 2e 20 0d   ┆f 'i' is only calculated once.  ┆
0x12da0…12dc0 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 49 6e 74 65 6c 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 69 6e 74   ┆        SD  Intel   FUNCTION int┆
0x12dc0…12de0 65 6c 20 28 69 20 3a 20 69 6e 74 65 67 65 72 29 20 3a 20 69 6e 74 65 6c 5f 69 6e 74 65 67 65 72   ┆el (i : integer) : intel_integer┆
0x12de0…12e00 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 8c 8a d8 0a 0d 0a   ┆;     Not predefined.     їіп   ┆
0x12e00…12e20 20 20 20 2d 20 84 63 6f 6e 76 65 72 74 73 20 61 6e 20 52 43 33 35 30 32 20 69 6e 74 65 67 65 72   ┆   - ёconverts an RC3502 integer┆
0x12e20…12e40 20 74 6f 20 61 6e 20 49 4e 54 45 4c 20 69 6e 74 65 67 65 72 20 62 79 20 65 78 63 68 61 6e 67 69   ┆ to an INTEL integer by exchangi┆
0x12e40…12e60 6e 67 20 0a 19 85 80 80 74 68 65 20 6c 65 61 73 74 20 61 6e 64 20 6d 6f 73 74 20 73 69 67 6e 69   ┆ng   Ёђђthe least and most signi┆
0x12e60…12e80 66 69 63 61 6e 74 20 62 79 74 65 2e 20 0d 0a 0d 0a 41 6e 20 27 69 6e 74 65 6c 5f 69 6e 74 65 67   ┆ficant byte.     An 'intel_integ┆
0x12e80…12ea0 65 72 27 20 69 73 20 64 65 66 69 6e 65 64 20 61 73 3a 20 0d 0a 0d 0a 69 6e 74 65 6c 5f 69 6e 74   ┆er' is defined as:     intel_int┆
0x12ea0…12ec0 65 67 65 72 20 3d 20 52 45 43 4f 52 44 20 20 20 20 20 20 20 20 20 6c 6f 77 20 20 20 3a 20 62 79   ┆eger = RECORD         low   : by┆
0x12ec0…12ee0 74 65 3b 20 28 2a 20 6c 65 61 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 2a 29 20 20 20 20 20   ┆te; (* least significant *)     ┆
0x12ee0…12f00 20 20 20 20 0a 68 69 67 68 20 20 3a 20 62 79 74 65 3b 20 28 2a 20 6d 6f 73 74 20 73 69 67 6e 69   ┆     high  : byte; (* most signi┆
0x12f00…12f20 66 69 63 61 6e 74 20 2a 29 20 20 20 20 20 20 20 45 4e 44 3b 20 0d 0a 0d 0a 0d 0a 0d 0a a1 45 78   ┆ficant *)       END;         АEx┆
0x12f20…12f40 61 6d 70 6c 65 3a e1 20 53 65 65 20 65 78 61 6d 70 6c 65 20 75 6e 64 65 72 20 4c 41 4d 42 44 41   ┆ample:р See example under LAMBDA┆
0x12f40…12f60 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 4c 61 6d 62 64 61 0d 0a 46 55 4e 43 54 49 4f 4e 20   ┆.          SD  Lambda  FUNCTION ┆
0x12f60…12f80 6c 61 6d 62 64 61 20 28 69 69 20 3a 20 69 6e 74 65 6c 5f 69 6e 74 65 67 65 72 29 20 3a 20 69 6e   ┆lambda (ii : intel_integer) : in┆
0x12f80…12fa0 74 65 67 65 72 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d   ┆teger;     Not predefined.      ┆
0x12fa0…12fc0 0a 20 20 20 2d 20 84 63 6f 6e 76 65 72 74 73 20 61 6e 20 49 4e 54 45 4c 20 69 6e 74 65 67 65 72   ┆    - ёconverts an INTEL integer┆
0x12fc0…12fe0 20 74 6f 20 61 6e 20 52 43 33 35 30 32 20 69 6e 74 65 67 65 72 20 62 79 20 65 78 63 68 61 6e 67   ┆ to an RC3502 integer by exchang┆
0x12fe0…13000 69 6e 67 20 0a 19 85 80 80 74 68 65 20 6c 65 61 73 74 20 61 6e 64 20 6d 6f 73 74 20 73 69 67 6e   ┆ing   Ёђђthe least and most sign┆
0x13000…13020 69 66 69 63 61 6e 74 20 62 79 74 65 2e 20 0d 0a 0d 0a 41 6e 20 49 4e 54 45 4c 20 69 6e 74 65 67   ┆ificant byte.     An INTEL integ┆
0x13020…13040 65 72 20 69 73 20 64 65 66 69 6e 65 64 20 61 73 3a 20 0d 0a 0d 0a 69 6e 74 65 6c 5f 69 6e 74 65   ┆er is defined as:     intel_inte┆
0x13040…13060 67 65 72 20 3d 20 52 45 43 4f 52 44 20 20 20 20 20 20 20 20 20 6c 6f 77 20 20 3a 20 62 79 74 65   ┆ger = RECORD         low  : byte┆
0x13060…13080 3b 20 28 2a 20 6c 65 61 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 2a 29 20 20 20 20 20 20 20   ┆; (* least significant *)       ┆
0x13080…130a0 20 20 0a 68 69 67 68 20 3a 20 62 79 74 65 3b 20 28 2a 20 6d 6f 73 74 20 73 69 67 6e 69 66 69 63   ┆   high : byte; (* most signific┆
0x130a0…130c0 61 6e 74 20 2a 29 20 20 20 20 20 20 20 45 4e 44 3b 20 0d 0a 0d 0a 0d 0a 0d 0a a1 45 78 61 6d 70   ┆ant *)       END;         АExamp┆
0x130c0…130e0 6c 65 20 20 36 2e 20 20 49 4e 54 45 4c 20 61 6e 64 20 4c 41 4d 42 44 41 20 e1 20 20 50 52 4f 43   ┆le  6.  INTEL and LAMBDA р  PROC┆
0x130e0…13100 45 44 55 52 45 20 65 78 61 6d 70 6c 65 36 3b 20 20 20 20 20 54 59 50 45 20 20 20 20 20 0a 69 6e   ┆EDURE example6;     TYPE      in┆
0x13100…13120 74 65 6c 5f 69 6e 74 65 67 65 72 20 3d 20 52 45 43 4f 52 44 20 20 20 20 6c 6f 77 2c 20 68 69 67   ┆tel_integer = RECORD    low, hig┆
0x13120…13140 68 20 3a 20 62 79 74 65 3b 20 45 4e 44 3b 20 20 20 20 20 20 20 46 55 4e 43 54 49 4f 4e 20 0a 69   ┆h : byte; END;       FUNCTION  i┆
0x13140…13160 6e 74 65 6c 20 28 69 20 3a 20 69 6e 74 65 67 65 72 29 20 3a 20 69 6e 74 65 6c 5f 69 6e 74 65 67   ┆ntel (i : integer) : intel_integ┆
0x13160…13180 65 72 3b 20 20 20 20 20 45 58 54 45 52 4e 41 4c 3b 20 20 20 20 20 20 20 46 55 4e 43 54 49 4f 4e   ┆er;     EXTERNAL;       FUNCTION┆
0x13180…131a0 20 0a 6c 61 6d 62 64 61 20 28 69 69 20 3a 20 69 6e 74 65 6c 5f 69 6e 74 65 67 65 72 29 20 3a 20   ┆  lambda (ii : intel_integer) : ┆
0x131a0…131c0 69 6e 74 65 67 65 72 3b 20 20 20 20 20 45 58 54 45 52 4e 41 4c 3b 20 20 20 20 20 56 41 52 20 20   ┆integer;     EXTERNAL;     VAR  ┆
0x131c0…131e0 20 20 20 69 69 20 3a 20 0a 69 6e 74 65 6c 5f 69 6e 74 65 67 65 72 3b 20 20 20 20 20 69 20 20 3a   ┆   ii :  intel_integer;     i  :┆
0x131e0…13200 20 69 6e 74 65 67 65 72 3b 20 20 20 20 20 42 45 47 49 4e 20 20 20 20 20 69 69 2e 6c 6f 77 20 20   ┆ integer;     BEGIN     ii.low  ┆
0x13200…13220 3a 3d 20 31 35 3b 20 20 20 20 20 0a 69 69 2e 68 69 67 68 20 3a 3d 20 32 3b 20 20 20 20 20 69 20   ┆:= 15;      ii.high := 2;     i ┆
0x13220…13240 20 20 20 20 20 20 3a 3d 20 6c 61 6d 62 64 61 20 28 69 69 29 3b 20 20 20 20 20 20 20 28 2a 20 6e   ┆      := lambda (ii);       (* n┆
0x13240…13260 6f 77 20 69 20 3d 20 32 2a 32 35 36 20 2b 20 31 35 20 0a 2a 29 20 20 20 20 20 69 20 20 20 20 20   ┆ow i = 2*256 + 15  *)     i     ┆
0x13260…13280 20 20 3a 3d 20 32 35 39 3b 20 20 20 20 20 69 69 20 20 20 20 20 20 3a 3d 20 69 6e 74 65 6c 20 28   ┆  := 259;     ii      := intel (┆
0x13280…132a0 69 29 3b 20 20 20 20 20 20 20 28 2a 20 6e 6f 77 20 69 69 2e 6c 6f 77 20 3d 20 0a 33 20 61 6e 64   ┆i);       (* now ii.low =  3 and┆
0x132a0…132c0 20 69 69 2e 68 69 67 68 20 3d 20 31 20 2a 29 20 20 20 45 4e 44 3b 20 28 2a 20 65 78 61 6d 70 6c   ┆ ii.high = 1 *)   END; (* exampl┆
0x132c0…132e0 65 36 20 2a 29 20 20 20 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 4d 61 64 64 20 20 0d 0a 46   ┆e6 *)   .          SD  Madd    F┆
0x132e0…13300 55 4e 43 54 49 4f 4e 20 6d 61 64 64 20 28 61 2c 62 20 3a 20 69 6e 74 65 67 65 72 29 20 3a 20 69   ┆UNCTION madd (a,b : integer) : i┆
0x13300…13320 6e 74 65 67 65 72 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a   ┆nteger;     Not predefined.     ┆
0x13320…13340 0d 0a 20 20 20 2d 20 84 61 64 64 69 74 69 6f 6e 2c 20 62 75 74 20 77 69 74 68 20 6e 6f 20 6f 76   ┆     - ёaddition, but with no ov┆
0x13340…13360 65 72 66 6c 6f 77 20 65 78 63 65 70 74 69 6f 6e 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 4d   ┆erflow exception.          SD  M┆
0x13360…13380 6d 75 6c 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 6d 6d 75 6c 20 28 61 2c 62 20 3a 20 69 6e 74 65   ┆mul    FUNCTION mmul (a,b : inte┆
0x13380…133a0 67 65 72 29 20 3a 20 69 6e 74 65 67 65 72 3b 20 0d 0a 0d 0a 8c 8a a8 0a 4e 6f 74 20 70 72 65 64   ┆ger) : integer;     їіе Not pred┆
0x133a0…133c0 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 6d 75 6c 74 69 70 6c 69 63 61 74 69   ┆efined.          - ёmultiplicati┆
0x133c0…133e0 6f 6e 2c 20 62 75 74 20 77 69 74 68 20 6e 6f 20 6f 76 65 72 66 6c 6f 77 20 65 78 63 65 70 74 69   ┆on, but with no overflow excepti┆
0x133e0…13400 6f 6e 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 4d 73 75 62 20 20 0d 0a 46 55 4e 43 54 49 4f   ┆on.          SD  Msub    FUNCTIO┆
0x13400…13420 4e 20 6d 73 75 62 20 28 61 2c 62 20 3a 20 69 6e 74 65 67 65 72 29 20 3a 20 69 6e 74 65 67 65 72   ┆N msub (a,b : integer) : integer┆
0x13420…13440 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d   ┆;     Not predefined.          -┆
0x13440…13460 20 84 53 75 62 74 72 61 63 74 69 6f 6e 2c 20 62 75 74 20 77 69 74 68 20 6e 6f 20 6f 76 65 72 66   ┆ ёSubtraction, but with no overf┆
0x13460…13480 6c 6f 77 20 65 78 63 65 70 74 69 6f 6e 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 52 6f 74 61   ┆low exception.          SD  Rota┆
0x13480…134a0 74 65 0d 0a 46 55 4e 43 54 49 4f 4e 20 72 6f 74 61 74 65 20 28 61 2c 20 73 68 69 66 74 73 20 3a   ┆te  FUNCTION rotate (a, shifts :┆
0x134a0…134c0 20 69 6e 74 65 67 65 72 29 20 3a 20 69 6e 74 65 67 65 72 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65   ┆ integer) : integer;     Not pre┆
0x134c0…134e0 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 6d 61 6b 65 73 20 61 20 63 79 63   ┆defined.          - ёmakes a cyc┆
0x134e0…13500 6c 69 63 20 73 68 69 66 74 20 6f 66 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 27 61 27 20 27   ┆lic shift of the parameter 'a' '┆
0x13500…13520 73 68 69 66 74 73 27 20 74 69 6d 65 73 2e 20 54 68 65 20 0a 19 85 80 80 72 65 73 75 6c 74 20 6f   ┆shifts' times. The   Ёђђresult o┆
0x13520…13540 66 20 74 68 65 20 72 6f 74 61 74 69 6f 6e 20 69 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68   ┆f the rotation is returned by th┆
0x13540…13560 65 20 66 75 6e 63 74 69 6f 6e 2e 20 49 66 20 27 73 68 69 66 74 73 27 20 69 73 20 0a 19 85 80 80   ┆e function. If 'shifts' is   Ёђђ┆
0x13560…13580 70 6f 73 69 74 69 76 65 2c 20 74 68 65 20 73 68 69 66 74 20 69 73 20 74 6f 20 74 68 65 20 6c 65   ┆positive, the shift is to the le┆
0x13580…135a0 66 74 3b 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 73 68 69 66 74 20 69 73 20 74 6f 20 74 68   ┆ft; otherwise the shift is to th┆
0x135a0…135c0 65 20 0a 19 85 80 80 72 69 67 68 74 2e 20 0d 0a 16 53 44 0d 0a 20 53 77 61 70 20 0d 0a 46 55 4e   ┆e   Ёђђright.    SD   Swap   FUN┆
0x135c0…135e0 43 54 49 4f 4e 20 73 77 61 70 20 28 69 20 3a 20 69 6e 74 65 67 65 72 29 3a 20 69 6e 74 65 67 65   ┆CTION swap (i : integer): intege┆
0x135e0…13600 72 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 54   ┆r;     Predefined.          - ёT┆
0x13600…13620 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 74 61 6b 65 73 20 70 6c 61 63 65 20 62 79 20 73 77 61   ┆he conversion takes place by swa┆
0x13620…13640 70 70 69 6e 67 20 74 68 65 20 74 77 6f 20 62 79 74 65 73 20 6f 66 20 74 68 65 20 0a 19 85 80 80   ┆pping the two bytes of the   Ёђђ┆
0x13640…13660 69 6e 74 65 67 65 72 20 69 2e 20 54 68 69 73 20 65 66 66 65 63 74 69 76 65 20 77 61 79 20 6f 66   ┆integer i. This effective way of┆
0x13660…13680 20 73 77 61 70 70 69 6e 67 20 6d 61 79 20 62 65 20 75 73 65 64 20 66 6f 72 20 0a 19 85 80 80 63   ┆ swapping may be used for   Ёђђc┆
0x13680…136a0 6f 6e 76 65 72 73 69 6f 6e 20 62 65 74 77 65 65 6e 20 69 6e 74 65 67 65 72 73 20 61 6e 64 20 74   ┆onversion between integers and t┆
0x136a0…136c0 68 65 20 75 2d 66 69 65 6c 64 73 20 69 6e 20 6d 65 73 73 61 67 65 20 68 65 61 64 65 72 73 2e 20   ┆he u-fields in message headers. ┆
0x136c0…136e0 0d 0a 0d 0a 0d 0a 0d 0a a1 45 78 61 6d 70 6c 65 20 20 37 2e 20 20 53 57 41 50 20 e1 20 20 50 52   ┆        АExample  7.  SWAP р  PR┆
0x136e0…13700 4f 43 45 53 53 20 65 78 61 6d 70 6c 65 37 3b 20 20 20 20 20 56 41 52 20 20 20 20 20 69 20 2c 20   ┆OCESS example7;     VAR     i , ┆
0x13700…13720 20 20 20 20 6a 20 3a 20 0a 69 6e 74 65 67 65 72 3b 20 20 20 20 20 72 20 3a 20 72 65 66 65 72 65   ┆    j :  integer;     r : refere┆
0x13720…13740 6e 63 65 3b 20 20 20 20 20 73 20 3a 20 73 65 6d 61 70 68 6f 72 65 3b 20 20 20 20 20 42 45 47 49   ┆nce;     s : semaphore;     BEGI┆
0x13740…13760 4e 20 20 20 20 20 77 61 69 74 20 0a 28 72 2c 20 73 29 3b 20 20 20 20 20 57 49 54 48 20 72 20 44   ┆N     wait  (r, s);     WITH r D┆
0x13760…13780 4f 20 20 20 20 20 20 20 42 45 47 49 4e 20 28 2a 20 69 20 3a 3d 20 75 32 2e 75 33 20 2a 29 20 20   ┆O       BEGIN (* i := u2.u3 *)  ┆
0x13780…137a0 20 20 20 20 20 20 20 69 20 20 3a 3d 20 0a 73 77 61 70 20 28 75 32 29 20 4f 52 20 75 33 3b 20 28   ┆       i  :=  swap (u2) OR u3; (┆
0x137a0…137c0 2a 20 75 33 2e 75 34 20 3a 3d 20 6a 20 2a 29 20 20 20 20 20 20 20 20 20 75 33 20 3a 3d 20 73 77   ┆* u3.u4 := j *)         u3 := sw┆
0x137c0…137e0 61 70 20 28 6a 29 20 41 4e 44 20 32 35 35 3b 20 20 20 20 20 20 20 20 20 0a 75 34 20 3a 3d 20 6a   ┆ap (j) AND 255;          u4 := j┆
0x137e0…13800 20 41 4e 44 20 32 35 35 3b 20 20 20 20 20 20 20 45 4e 44 3b 20 20 20 45 4e 44 3b 20 28 2a 20 65   ┆ AND 255;       END;   END; (* e┆
0x13800…13820 78 61 6d 70 6c 65 37 20 2a 29 20 20 20 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 20 55 61 64   ┆xample7 *)   .          SD   Uad┆
0x13820…13840 64 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 75 61 64 64 20 28 61 2c 20 62 20 3a 20 69 6e 74 65 67 65   ┆d   FUNCTION uadd (a, b : intege┆
0x13840…13860 72 29 20 3a 20 69 6e 74 65 67 65 72 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64   ┆r) : integer;     Not predefined┆
0x13860…13880 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 41 64 64 69 74 69 6f 6e 20 69 6e 20 74 68 65 20 72 61   ┆.          - ёAddition in the ra┆
0x13880…138a0 6e 67 65 20 30 2e 2e 36 35 35 33 35 2e 20 0d 0a 0d 0a 41 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f   ┆nge 0..65535.     An exception o┆
0x138a0…138c0 63 63 75 72 73 2c 20 69 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6f 75 74 73 69 64 65 20   ┆ccurs, if the result is outside ┆
0x138c0…138e0 74 68 65 20 72 61 6e 67 65 20 30 2e 2e 36 35 35 33 35 2e 20 0a 0d 0a 16 53 44 0d 0a 20 55 64 69   ┆the range 0..65535.     SD   Udi┆
0x138e0…13900 76 20 0d 0a 8c 8a f0 0a 46 55 4e 43 54 49 4f 4e 20 75 64 69 76 20 28 61 2c 20 62 20 3a 20 69 6e   ┆v   їі  FUNCTION udiv (a, b : in┆
0x13900…13920 74 65 67 65 72 29 20 3a 20 69 6e 74 65 67 65 72 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66   ┆teger) : integer;     Not predef┆
0x13920…13940 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 44 69 76 69 73 69 6f 6e 20 69 6e 20 74 68   ┆ined.          - ёDivision in th┆
0x13940…13960 65 20 72 61 6e 67 65 20 30 2e 2e 36 35 35 33 35 2e 20 0d 0a 0d 0a 41 6e 20 65 78 63 65 70 74 69   ┆e range 0..65535.     An excepti┆
0x13960…13980 6f 6e 20 6f 63 63 75 72 73 2c 20 69 66 20 27 62 27 20 3d 20 30 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16   ┆on occurs, if 'b' = 0.          ┆
0x13980…139a0 53 44 0d 0a 20 55 6c 74 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 75 6c 74 20 28 61 2c 20 62 20 3a   ┆SD   Ult    FUNCTION ult (a, b :┆
0x139a0…139c0 20 69 6e 74 65 67 65 72 29 20 3a 20 62 6f 6f 6c 65 61 6e 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65   ┆ integer) : boolean;     Not pre┆
0x139c0…139e0 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 27 6c 65 73 73 20 74 68 61 6e 27   ┆defined.          - ё'less than'┆
0x139e0…13a00 20 28 27 61 27 20 3c 20 27 62 27 29 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 30 2e 2e 36 35 35   ┆ ('a' < 'b') in the range 0..655┆
0x13a00…13a20 33 35 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 20 55 6d 6f 64 20 0d 0a 46 55 4e 43 54 49 4f   ┆35.          SD   Umod   FUNCTIO┆
0x13a20…13a40 4e 20 75 6d 6f 64 20 28 61 2c 20 62 20 3a 20 69 6e 74 65 67 65 72 29 20 3a 20 69 6e 74 65 67 65   ┆N umod (a, b : integer) : intege┆
0x13a40…13a60 72 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20   ┆r;     Not predefined.          ┆
0x13a60…13a80 2d 20 84 4d 6f 64 75 6c 6f 20 6f 70 65 72 61 74 69 6f 6e 20 69 6e 20 74 68 65 20 72 61 6e 67 65   ┆- ёModulo operation in the range┆
0x13a80…13aa0 20 30 2e 2e 36 35 35 33 35 2e 20 0d 0a 0d 0a 41 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63 75   ┆ 0..65535.     An exception occu┆
0x13aa0…13ac0 72 73 2c 20 69 66 20 27 62 27 20 3d 20 30 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 20 55 6d   ┆rs, if 'b' = 0.          SD   Um┆
0x13ac0…13ae0 75 6c 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 75 6d 75 6c 20 28 61 2c 20 62 20 3a 20 69 6e 74 65 67   ┆ul   FUNCTION umul (a, b : integ┆
0x13ae0…13b00 65 72 29 20 3a 20 69 6e 74 65 67 65 72 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65   ┆er) : integer;     Not predefine┆
0x13b00…13b20 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 4d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 20 69 6e   ┆d.          - ёMultiplication in┆
0x13b20…13b40 20 74 68 65 20 72 61 6e 67 65 20 30 2e 2e 36 35 35 33 35 2e 20 0d 0a 0d 0a 41 6e 20 65 78 63 65   ┆ the range 0..65535.     An exce┆
0x13b40…13b60 70 74 69 6f 6e 20 6f 63 63 75 72 73 2c 20 69 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6f   ┆ption occurs, if the result is o┆
0x13b60…13b80 75 74 73 69 64 65 20 74 68 65 20 72 61 6e 67 65 20 30 2e 2e 36 35 35 33 35 2e 20 0a 0d 0a 16 53   ┆utside the range 0..65535.     S┆
0x13b80…13ba0 44 0d 0a 20 55 73 75 62 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 75 73 75 62 20 28 61 2c 20 62 20 3a   ┆D   Usub   FUNCTION usub (a, b :┆
0x13ba0…13bc0 20 69 6e 74 65 67 65 72 29 3a 20 69 6e 74 65 67 65 72 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64   ┆ integer): integer;     Not pred┆
0x13bc0…13be0 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 53 75 62 74 72 61 63 74 69 6f 6e 20   ┆efined.          - ёSubtraction ┆
0x13be0…13c00 69 6e 20 74 68 65 20 72 61 6e 67 65 20 30 2e 2e 36 35 35 33 35 2e 20 0d 0a 0d 0a 41 6e 20 65 78   ┆in the range 0..65535.     An ex┆
0x13c00…13c20 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 2c 20 69 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73   ┆ception occurs, if the result is┆
0x13c20…13c40 20 6f 75 74 73 69 64 65 20 74 68 65 20 72 61 6e 67 65 20 30 2e 2e 36 35 35 33 35 2e 20 0d 0a 0d   ┆ outside the range 0..65535.    ┆
0x13c40…13c60 0a 0d 0a 0d 0a 16 53 42 0d 0a 43 6c 6f 63 6b 20 52 6f 75 74 69 6e 65 73 20 0d 0a 54 68 69 73 20   ┆      SB  Clock Routines   This ┆
0x13c60…13c80 73 65 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 73 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 70 72   ┆section describes a number of pr┆
0x13c80…13ca0 65 64 65 66 69 6e 65 64 20 72 6f 75 74 69 6e 65 73 20 66 6f 72 20 6f 70 65 72 61 74 69 6f 6e 73   ┆edefined routines for operations┆
0x13ca0…13cc0 20 0a 6f 6e 20 74 68 65 20 70 72 65 64 65 66 69 6e 65 64 20 74 79 70 65 73 20 27 63 6c 6f 63 6b   ┆  on the predefined types 'clock┆
0x13cc0…13ce0 74 79 70 65 27 20 61 6e 64 20 27 63 6f 64 65 64 5f 69 6e 63 27 2e 20 0d 0a 0d 0a 0d 0a 8c 8b a0   ┆type' and 'coded_inc'.       їІа┆
0x13ce0…13d00 0a 0d 0a 16 53 43 0d 0a 47 65 74 63 6c 6f 63 6b 20 20 20 20 20 20 20 0d 0a 46 55 4e 43 54 49 4f   ┆    SC  Getclock         FUNCTIO┆
0x13d00…13d20 4e 20 67 65 74 63 6c 6f 63 6b 20 3a 20 63 6c 6f 63 6b 74 79 70 65 3b 20 0d 0a 0d 0a 50 72 65 64   ┆N getclock : clocktype;     Pred┆
0x13d20…13d40 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 52 65 74 75 72 6e 73 20 74 68 65 20   ┆efined.          - ёReturns the ┆
0x13d40…13d60 63 75 72 72 65 6e 74 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 73 79 73 74 65 6d 20 63 6c 6f 63   ┆current value of the system cloc┆
0x13d60…13d80 6b 2e 20 54 68 65 20 74 79 70 65 20 0a 19 85 80 80 27 63 6c 6f 63 6b 74 79 70 65 27 20 69 73 20   ┆k. The type   Ёђђ'clocktype' is ┆
0x13d80…13da0 70 72 65 64 65 66 69 6e 65 64 20 28 73 65 65 20 63 68 61 70 74 65 72 20 34 29 2e 20 41 73 20 6f   ┆predefined (see chapter 4). As o┆
0x13da0…13dc0 70 70 6f 73 65 64 20 74 6f 20 74 68 65 20 0a 19 85 80 80 27 67 65 74 63 6c 6f 63 6b 27 20 72 65   ┆pposed to the   Ёђђ'getclock' re┆
0x13dc0…13de0 71 75 65 73 74 2c 20 77 68 65 6e 20 75 73 69 6e 67 20 74 68 65 20 53 45 4e 44 54 49 4d 45 52 20   ┆quest, when using the SENDTIMER ┆
0x13de0…13e00 70 72 6f 63 65 64 75 72 65 2c 20 74 68 65 20 0a 19 85 80 80 27 67 65 74 63 6c 6f 63 6b 27 20 66   ┆procedure, the   Ёђђ'getclock' f┆
0x13e00…13e20 75 6e 63 74 69 6f 6e 20 77 6f 72 6b 73 20 77 69 74 68 6f 75 74 20 6d 65 73 73 61 67 65 20 63 6f   ┆unction works without message co┆
0x13e20…13e40 6d 6d 75 6e 69 63 61 74 69 6f 6e 73 20 77 69 74 68 20 0a 19 85 80 80 74 68 65 20 54 49 4d 45 52   ┆mmunications with   Ёђђthe TIMER┆
0x13e40…13e60 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 43 6c 6f 63 6b 5f 64 69 66 66 65 72 65 6e 63 65 0d   ┆.          SC  Clock_difference ┆
0x13e60…13e80 0a 46 55 4e 43 54 49 4f 4e 20 63 6c 6f 63 6b 5f 64 69 66 66 65 72 65 6e 63 65 20 28 20 20 20 20   ┆ FUNCTION clock_difference (    ┆
0x13e80…13ea0 20 20 74 31 2c 74 32 20 3a 20 63 6c 6f 63 6b 74 79 70 65 29 20 3a 20 63 6f 64 65 64 5f 69 6e 63   ┆  t1,t2 : clocktype) : coded_inc┆
0x13ea0…13ec0 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 52 65   ┆;     Predefined.          - ёRe┆
0x13ec0…13ee0 74 75 72 6e 73 20 74 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 62 65 74 77 65 65 6e 20 74 77 6f   ┆turns the difference between two┆
0x13ee0…13f00 20 63 6c 6f 63 6b 20 76 61 6c 75 65 73 2e 20 49 66 20 74 68 65 20 0a 19 85 80 80 64 69 66 66 65   ┆ clock values. If the   Ёђђdiffe┆
0x13f00…13f20 72 65 6e 63 65 20 65 78 63 65 65 64 73 20 33 32 20 64 61 79 73 2c 20 74 68 65 20 76 61 6c 75 65   ┆rence exceeds 32 days, the value┆
0x13f20…13f40 20 33 31 20 64 61 79 73 2c 20 32 33 20 68 6f 75 72 73 2c 20 35 39 20 0a 19 85 80 80 6d 69 6e 75   ┆ 31 days, 23 hours, 59   Ёђђminu┆
0x13f40…13f60 74 65 73 2c 20 35 39 20 73 65 63 6f 6e 64 73 2c 20 61 6e 64 20 39 39 39 20 6d 69 6c 6c 69 73 65   ┆tes, 59 seconds, and 999 millise┆
0x13f60…13f80 63 6f 6e 64 73 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 0d 0a 16 53 43 0d 0a 43 6c 6f 63 6b 5f   ┆conds is returned.    SC  Clock_┆
0x13f80…13fa0 69 6e 63 72 65 6d 65 6e 74 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 63 6c 6f 63 6b 5f 69 6e 63 72 65   ┆increment   FUNCTION clock_incre┆
0x13fa0…13fc0 6d 65 6e 74 20 28 20 20 20 20 20 20 74 20 3a 20 63 6c 6f 63 6b 74 79 70 65 3b 20 20 20 20 20 20   ┆ment (      t : clocktype;      ┆
0x13fc0…13fe0 69 6e 63 20 3a 20 0a 63 6f 64 65 64 5f 69 6e 63 29 3a 20 63 6c 6f 63 6b 74 79 70 65 3b 20 0d 0a   ┆inc :  coded_inc): clocktype;   ┆
0x13fe0…14000 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 52 65 74 75 72 6e   ┆  Predefined.          - ёReturn┆
0x14000…14020 73 20 74 68 65 20 63 6c 6f 63 6b 20 76 61 6c 75 65 20 27 74 2b 69 6e 63 27 2e 20 0d 0a 0d 0a 0d   ┆s the clock value 't+inc'.      ┆
0x14020…14040 0a 0d 0a 16 53 43 0d 0a 43 6c 6f 63 6b 5f 6c 65 73 73 5f 74 68 61 6e 20 0d 0a 46 55 4e 43 54 49   ┆    SC  Clock_less_than   FUNCTI┆
0x14040…14060 4f 4e 20 63 6c 6f 63 6b 5f 6c 65 73 73 5f 74 68 61 6e 20 28 20 20 20 20 20 20 74 31 2c 74 32 20   ┆ON clock_less_than (      t1,t2 ┆
0x14060…14080 3a 20 63 6c 6f 63 6b 74 79 70 65 29 20 3a 20 62 6f 6f 6c 65 61 6e 3b 20 0d 0a 0d 0a 50 72 65 64   ┆: clocktype) : boolean;     Pred┆
0x14080…140a0 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 52 65 74 75 72 6e 73 20 74 68 65 20   ┆efined.          - ёReturns the ┆
0x140a0…140c0 76 61 6c 75 65 20 27 74 72 75 65 27 20 69 66 20 27 74 31 27 20 70 72 65 63 65 64 65 73 20 27 74   ┆value 'true' if 't1' precedes 't┆
0x140c0…140e0 32 27 2c 20 6f 74 68 65 72 77 69 73 65 20 27 66 61 6c 73 65 27 2e 20 0a 19 85 80 80 0d 0a 16 53   ┆2', otherwise 'false'.   Ёђђ   S┆
0x140e0…14100 42 0d 0a 4d 69 73 63 65 6c 6c 61 6e 65 6f 75 73 20 52 6f 75 74 69 6e 65 73 20 20 20 20 0d 0a 0d   ┆B  Miscellaneous Routines       ┆
0x14100…14120 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 47 65 74 69 64 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 67 65 74   ┆        SC  Getid   FUNCTION get┆
0x14120…14140 69 64 20 3a 20 69 6e 74 65 67 65 72 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64   ┆id : integer;     Not predefined┆
0x14140…14160 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 72 65 74 75 72 6e 73 20 74 68 65 20 76 61 6c 75 65 20   ┆.          - ёreturns the value ┆
0x14160…14180 6f 66 20 74 68 65 20 31 36 20 62 69 74 20 49 44 20 72 65 67 69 73 74 65 72 2c 20 49 44 52 32 30   ┆of the 16 bit ID register, IDR20┆
0x14180…141a0 31 2e 20 54 68 65 20 72 65 67 69 73 74 65 72 20 0a 19 85 80 80 69 73 20 6e 6f 72 6d 61 6c 6c 79   ┆1. The register   Ёђђis normally┆
0x141a0…141c0 20 69 6e 73 74 61 6c 6c 65 64 20 6f 6e 20 52 43 33 35 30 32 20 77 68 65 6e 20 75 73 65 64 20 61   ┆ installed on RC3502 when used a┆
0x141c0…141e0 73 20 61 20 6e 6f 64 65 20 69 6e 20 61 20 0a 19 85 80 80 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e   ┆s a node in a   Ёђђcommunication┆
0x141e0…14200 73 20 6e 65 74 77 6f 72 6b 2e 20 0d 0a 0d 0a 0d 0a 8c 8b 88 0a 0d 0a 16 53 43 0d 0a 47 65 74 6c   ┆s network.       їІѕ    SC  Getl┆
0x14200…14220 66 67 66 20 20 20 20 20 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 67 65 74 6c 66 67 66 20   ┆fgf           PROCEDURE getlfgf ┆
0x14220…14240 28 56 41 52 20 6c 66 2c 20 67 66 20 3a 20 33 32 62 69 74 74 79 70 65 29 3b 20 0d 0a 0d 0a 4e 6f   ┆(VAR lf, gf : 32bittype);     No┆
0x14240…14260 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 64 65 6c 69 76 65   ┆t predefined.          - ёdelive┆
0x14260…14280 72 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 73 74 61   ┆rs the current values of the sta┆
0x14280…142a0 63 6b 20 70 6f 69 6e 74 65 72 73 20 27 6c 6f 63 61 6c 20 66 72 61 6d 65 27 20 0a 19 85 80 80 61   ┆ck pointers 'local frame'   Ёђђa┆
0x142a0…142c0 6e 64 20 27 67 6c 6f 62 61 6c 20 66 72 61 6d 65 27 2e 20 54 6f 67 65 74 68 65 72 20 77 69 74 68   ┆nd 'global frame'. Together with┆
0x142c0…142e0 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 27 70 72 69 6e 74 27 20 69 74 20 69 73 20 0a 19 85   ┆ the procedure 'print' it is   Ё┆
0x142e0…14300 80 80 70 6f 73 73 69 62 6c 65 20 74 6f 20 70 72 69 6e 74 20 73 70 65 63 69 66 69 63 20 61 72 65   ┆ђђpossible to print specific are┆
0x14300…14320 61 73 20 6f 66 20 61 20 73 74 61 63 6b 2e 20 0d 0a 0d 0a a1 45 78 61 6d 70 6c 65 20 20 38 2e 20   ┆as of a stack.     АExample  8. ┆
0x14320…14340 20 47 45 54 4c 46 47 46 20 e1 20 20 50 52 4f 43 45 53 53 20 65 78 61 6d 70 6c 65 38 3b 20 20 20   ┆ GETLFGF р  PROCESS example8;   ┆
0x14340…14360 20 20 54 59 50 45 20 20 20 20 20 61 64 64 72 20 3d 20 0a 52 45 43 4f 52 44 20 20 20 20 20 62 61   ┆  TYPE     addr =  RECORD     ba┆
0x14360…14380 73 65 2c 20 64 69 73 70 20 3a 20 69 6e 74 65 67 65 72 3b 20 20 45 4e 44 3b 20 20 20 20 20 20 20   ┆se, disp : integer;  END;       ┆
0x14380…143a0 50 52 4f 43 45 44 55 52 45 20 67 65 74 6c 66 67 66 20 0a 28 56 41 52 20 6c 66 2c 20 67 66 20 3a   ┆PROCEDURE getlfgf  (VAR lf, gf :┆
0x143a0…143c0 20 61 64 64 72 29 3b 20 20 20 20 20 45 58 54 45 52 4e 41 4c 3b 20 20 20 20 20 20 20 50 52 4f 43   ┆ addr);     EXTERNAL;       PROC┆
0x143c0…143e0 45 44 55 52 45 20 70 72 69 6e 74 20 28 56 41 52 20 7a 20 0a 3a 20 7a 6f 6e 65 3b 20 62 61 73 65   ┆EDURE print (VAR z  : zone; base┆
0x143e0…14400 20 3a 20 62 79 74 65 3b 20 20 20 20 20 20 20 66 69 72 73 74 5f 64 69 73 70 2c 20 6c 61 73 74 5f   ┆ : byte;       first_disp, last_┆
0x14400…14420 64 69 73 70 2c 20 77 6f 72 64 73 5f 70 65 72 5f 6c 69 6e 65 20 3a 20 0a 69 6e 74 65 67 65 72 29   ┆disp, words_per_line :  integer)┆
0x14420…14440 3b 20 20 20 20 20 45 58 54 45 52 4e 41 4c 3b 20 20 20 20 20 56 41 52 20 20 20 20 20 6c 66 20 2c   ┆;     EXTERNAL;     VAR     lf ,┆
0x14440…14460 20 20 20 20 20 67 66 20 3a 20 61 64 64 72 3b 20 20 20 20 20 7a 20 20 3a 20 0a 7a 6f 6e 65 3b 20   ┆     gf : addr;     z  :  zone; ┆
0x14460…14480 20 20 20 20 20 20 50 52 4f 43 45 44 55 52 45 20 65 78 63 65 70 74 69 6f 6e 20 28 63 6f 64 65 20   ┆      PROCEDURE exception (code ┆
0x14480…144a0 3a 20 69 6e 74 65 67 65 72 29 3b 20 20 20 20 20 42 45 47 49 4e 20 20 20 20 20 20 20 20 20 0a 28   ┆: integer);     BEGIN          (┆
0x144a0…144c0 2a 20 74 68 65 20 7a 6f 6e 65 20 6d 75 73 74 20 62 65 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 66   ┆* the zone must be initialized f┆
0x144c0…144e0 6f 72 20 6f 75 74 70 75 74 20 2a 29 20 20 20 20 20 20 20 67 65 74 6c 66 67 66 20 28 6c 66 2c 20   ┆or output *)       getlfgf (lf, ┆
0x144e0…14500 67 66 29 3b 20 20 20 20 20 20 20 0a 70 72 69 6e 74 20 20 20 28 7a 2c 20 67 66 2e 62 61 73 65 2c   ┆gf);        print   (z, gf.base,┆
0x14500…14520 20 67 66 2e 64 69 73 70 2c 20 6c 66 2e 64 69 73 70 2c 20 31 29 3b 20 20 20 20 20 45 4e 44 3b 20   ┆ gf.disp, lf.disp, 1);     END; ┆
0x14520…14540 20 20 20 20 42 45 47 49 4e 20 20 20 20 20 20 20 28 2a 20 0a 70 72 6f 63 65 73 73 20 62 6f 64 79   ┆    BEGIN       (*  process body┆
0x14540…14560 20 2a 29 20 20 20 45 4e 44 3b 20 28 2a 20 65 78 61 6d 70 6c 65 20 38 20 2a 29 20 20 20 2e 20 0d   ┆ *)   END; (* example 8 *)   .  ┆
0x14560…14580 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 4d 65 6d 65 72 72 6f 72 6c 6f 67 20 20 20 20 20 0d 0a 46 55   ┆        SC  Memerrorlog       FU┆
0x14580…145a0 4e 43 54 49 4f 4e 20 6d 65 6d 65 72 72 6f 72 6c 6f 67 20 28 62 61 73 65 77 6f 72 64 20 3a 20 69   ┆NCTION memerrorlog (baseword : i┆
0x145a0…145c0 6e 74 65 67 65 72 29 20 3a 20 69 6e 74 65 67 65 72 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65   ┆nteger) : integer;     Not prede┆
0x145c0…145e0 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 72 65 74 75 72 6e 73 20 61 6e 20 65 72   ┆fined.          - ёreturns an er┆
0x145e0…14600 72 6f 72 6c 6f 67 20 77 6f 72 64 20 66 72 6f 6d 20 74 68 65 20 6d 65 6d 6f 72 79 20 6d 6f 64 75   ┆rorlog word from the memory modu┆
0x14600…14620 6c 65 20 73 70 65 63 69 66 69 65 64 20 62 79 20 0a 19 85 80 80 74 68 65 20 70 61 72 61 6d 65 74   ┆le specified by   Ёђђthe paramet┆
0x14620…14640 65 72 20 27 62 61 73 65 77 6f 72 64 27 2c 20 77 68 69 63 68 20 69 73 20 74 68 65 20 62 61 73 65   ┆er 'baseword', which is the base┆
0x14640…14660 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 36 34 4b 20 0a 19 85 80 80 62 79 74 65 20 52 41 4d 20   ┆ of the first 64K   Ёђђbyte RAM ┆
0x14660…14680 6d 6f 64 75 6c 65 20 6f 6e 20 4d 45 4d 32 30 35 2e 20 46 6f 72 20 66 75 72 74 68 65 72 20 64 65   ┆module on MEM205. For further de┆
0x14680…146a0 74 61 69 6c 73 20 63 6f 6e 73 75 6c 74 20 0a 19 85 80 80 22 4d 45 4d 32 30 35 20 47 65 6e 65 72   ┆tails consult   Ёђђ"MEM205 Gener┆
0x146a0…146c0 61 6c 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 22 20 28 72 65 66 2e 20 36 29 2e 20 0d 0a 0d 0a 0d 0a   ┆al Information" (ref. 6).       ┆
0x146c0…146e0 0d 0a 16 53 43 0d 0a 52 65 61 64 72 61 6d 20 20 20 20 20 20 20 20 20 0d 0a 50 52 4f 43 45 44 55   ┆   SC  Readram           PROCEDU┆
0x146e0…14700 52 45 20 72 65 61 64 72 61 6d 20 28 56 41 52 20 72 65 73 75 6c 74 3a 20 62 79 74 65 3b 20 69 6e   ┆RE readram (VAR result: byte; in┆
0x14700…14720 64 65 78 3a 20 69 6e 74 65 67 65 72 29 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65   ┆dex: integer);     Not predefine┆
0x14720…14740 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 72 65 74 75 72 6e 73 20 74 68 65 20 76 61 6c 75 65   ┆d.          - ёreturns the value┆
0x14740…14760 20 6f 66 20 74 68 65 20 62 79 74 65 20 77 69 74 68 20 69 6e 64 65 78 20 27 69 6e 64 65 78 27 20   ┆ of the byte with index 'index' ┆
0x14760…14780 69 6e 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 0a 19 85 80 80 6d 69 63 72 6f 70 72 6f 63 65 73 73   ┆in the control   Ёђђmicroprocess┆
0x14780…147a0 6f 72 20 72 61 6d 2e 20 0d 0a 0d 0a 52 65 6c 65 76 61 6e 74 20 69 6e 64 69 63 65 73 20 61 72 65   ┆or ram.     Relevant indices are┆
0x147a0…147c0 3a 20 0d 0a 0d 0a 20 20 20 20 20 20 39 3a 20 76 65 72 73 69 6f 6e 20 20 20 20 20 20 31 30 3a 20   ┆:           9: version      10: ┆
0x147c0…147e0 73 77 69 74 63 68 65 73 20 30 2d 37 20 20 20 20 20 20 31 31 3a 20 73 77 69 74 63 68 65 73 20 38   ┆switches 0-7      11: switches 8┆
0x147e0…14800 2d 31 35 20 20 20 20 20 20 0a 34 32 3a 20 43 4f 4d 32 30 34 20 6d 61 73 6b 20 20 20 20 20 20 34   ┆-15       42: COM204 mask      4┆
0x14800…14820 33 3a 20 43 4f 4d 32 30 34 20 72 65 73 75 6c 74 20 0d 0a 0d 0a 28 46 6f 72 20 66 75 72 74 68 65   ┆3: COM204 result     (For furthe┆
0x14820…14840 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 72 65 66 65 72 20 74 6f 20 72 65 66 2e 20 34 2c 20   ┆r information, refer to ref. 4, ┆
0x14840…14860 61 70 70 65 6e 64 69 78 20 4b 29 2e 20 0d 0a 16 53 43 0d 0a 52 65 73 74 61 72 74 20 20 20 20 20   ┆appendix K).    SC  Restart     ┆
0x14860…14880 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 72 65 73 74 61 72 74 3b 20 0d 0a 0d 0a 4e 6f 74   ┆      PROCEDURE restart;     Not┆
0x14880…148a0 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 8c 8a c0 0a 0d 0a 20 20 20 2d 20 84 50 65 72   ┆ predefined.     їі└      - ёPer┆
0x148a0…148c0 66 6f 72 6d 73 20 61 20 72 65 6d 6f 76 65 2c 20 63 72 65 61 74 65 2c 20 61 6e 64 20 73 74 61 72   ┆forms a remove, create, and star┆
0x148c0…148e0 74 20 6f 66 20 41 44 41 4d 2e 20 41 6c 6c 20 6d 65 73 73 61 67 65 73 20 61 74 20 0a 19 85 80 80   ┆t of ADAM. All messages at   Ёђђ┆
0x148e0…14900 4f 50 45 52 41 54 4f 52 20 61 6e 64 20 54 49 4d 45 52 20 61 72 65 20 64 65 61 6c 6c 6f 63 61 74   ┆OPERATOR and TIMER are deallocat┆
0x14900…14920 65 64 2e 20 54 68 65 20 70 72 6f 67 72 61 6d 73 20 69 6e 20 74 68 65 20 0a 19 85 80 80 4c 49 4e   ┆ed. The programs in the   ЁђђLIN┆
0x14920…14940 4b 45 52 20 63 61 74 61 6c 6f 67 20 61 72 65 20 6e 6f 74 20 75 6e 6c 6f 61 64 65 64 2e 20 0d 0a   ┆KER catalog are not unloaded.   ┆
0x14940…14960 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 53 65 74 77 61 74 63 68 64 6f 67 20 20 20 20 0d 0a 50 52 4f 43   ┆       SC  Setwatchdog      PROC┆
0x14960…14980 45 44 55 52 45 20 73 65 74 77 61 74 63 68 64 6f 67 20 28 69 20 3a 20 69 6e 74 65 67 65 72 29 3b   ┆EDURE setwatchdog (i : integer);┆
0x14980…149a0 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20   ┆     Not predefined.          - ┆
0x149a0…149c0 84 74 68 65 20 22 77 61 74 63 68 64 6f 67 20 68 69 67 68 22 20 62 79 74 65 20 69 6e 20 74 68 65   ┆ёthe "watchdog high" byte in the┆
0x149c0…149e0 20 63 6f 6e 74 72 6f 6c 20 6d 69 63 72 6f 70 72 6f 63 65 73 73 6f 72 20 69 73 20 0a 19 85 80 80   ┆ control microprocessor is   Ёђђ┆
0x149e0…14a00 69 6e 69 74 69 61 6c 69 7a 65 64 20 74 6f 20 27 69 27 2e 20 0d 0a 0d 0a 20 20 20 20 20 20 20 20   ┆initialized to 'i'.             ┆
0x14a00…14a20 20 27 69 27 20 3d 20 20 20 31 20 20 20 20 20 20 20 36 34 30 20 6d 73 65 63 2e 27 69 27 20 3d 20   ┆ 'i' =   1       640 msec.'i' = ┆
0x14a20…14a40 32 35 35 20 20 20 31 36 33 2c 32 30 30 20 6d 73 65 63 2e 20 0d 0a 0d 0a 27 69 27 20 3d 20 30 20   ┆255   163,200 msec.     'i' = 0 ┆
0x14a40…14a60 64 69 73 61 62 6c 65 73 20 74 68 65 20 77 61 74 63 68 64 6f 67 20 66 75 6e 63 74 69 6f 6e 2e 20   ┆disables the watchdog function. ┆
0x14a60…14a80 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 57 69 6c 64 5f 63 6f 6d 70 61 72 65 20 20 20 20 0d 0a 46   ┆         SC  Wild_compare      F┆
0x14a80…14aa0 55 4e 43 54 49 4f 4e 20 77 69 6c 64 5f 63 6f 6d 70 61 72 65 20 28 20 20 20 20 20 20 6e 61 6d 65   ┆UNCTION wild_compare (      name┆
0x14aa0…14ac0 2c 20 6b 65 79 20 3a 20 61 6c 66 61 29 20 3a 20 62 6f 6f 6c 65 61 6e 3b 20 0d 0a 0d 0a 4e 6f 74   ┆, key : alfa) : boolean;     Not┆
0x14ac0…14ae0 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 54 68 65 20 76 61 6c   ┆ predefined.          - ёThe val┆
0x14ae0…14b00 75 65 20 27 6b 65 79 27 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 77 69 6c 64 20 63 68 61 72 61 63   ┆ue 'key' may contain wild charac┆
0x14b00…14b20 74 65 72 73 2c 20 22 2a 22 2c 20 77 68 65 72 65 20 6f 6e 65 20 0a 19 85 80 80 77 69 73 68 65 73   ┆ters, "*", where one   Ёђђwishes┆
0x14b20…14b40 20 74 6f 20 73 70 65 63 69 66 79 20 7a 65 72 6f 20 6f 72 20 6d 6f 72 65 20 6f 63 63 75 72 72 65   ┆ to specify zero or more occurre┆
0x14b40…14b60 6e 63 65 73 20 6f 66 20 22 49 20 64 6f 6e 27 74 20 63 61 72 65 22 20 0a 19 85 80 80 63 68 61 72   ┆nces of "I don't care"   Ёђђchar┆
0x14b60…14b80 61 63 74 65 72 73 2e 20 45 2e 67 2e 3a 20 27 61 2a 62 27 20 6d 61 74 63 68 65 73 20 27 61 62 27   ┆acters. E.g.: 'a*b' matches 'ab'┆
0x14b80…14ba0 2c 20 27 61 61 62 27 2c 20 27 61 62 62 27 2c 20 27 61 63 64 65 67 66 62 27 2c 20 61 6e 64 20 0a   ┆, 'aab', 'abb', 'acdegfb', and  ┆
0x14ba0…14bc0 19 85 80 80 69 6e 20 66 61 63 74 20 61 6e 79 20 6e 61 6d 65 20 74 68 61 74 20 62 65 67 69 6e 73   ┆ Ёђђin fact any name that begins┆
0x14bc0…14be0 20 77 69 74 68 20 61 6e 20 22 61 22 20 61 6e 64 20 65 6e 64 73 20 77 69 74 68 20 61 20 22 62 22   ┆ with an "a" and ends with a "b"┆
0x14be0…14c00 2e 20 0d 0a 0d 0a 54 68 65 20 76 61 6c 75 65 20 27 74 72 75 65 27 20 69 73 20 72 65 74 75 72 6e   ┆.     The value 'true' is return┆
0x14c00…14c20 65 64 20 69 66 20 74 68 69 73 20 63 6f 6d 70 61 72 69 73 6f 6e 20 69 73 20 73 75 63 63 65 73 73   ┆ed if this comparison is success┆
0x14c20…14c40 66 75 6c 2c 20 0a 6f 74 68 65 72 77 69 73 65 20 27 66 61 6c 73 65 27 2e 20 0d 0a 16 53 42 0d 0a   ┆ful,  otherwise 'false'.    SB  ┆
0x14c40…14c60 52 6f 75 74 69 6e 65 73 20 66 6f 72 20 4f 70 65 72 61 74 6f 72 20 43 6f 6d 6d 75 6e 69 63 61 74   ┆Routines for Operator Communicat┆
0x14c60…14c80 69 6f 6e 20 0d 0a 54 68 69 73 20 73 65 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 73 20 61 20 73   ┆ion   This section describes a s┆
0x14c80…14ca0 65 74 20 6f 66 20 72 6f 75 74 69 6e 65 73 20 77 68 69 63 68 20 6d 61 79 20 62 65 20 75 73 65 64   ┆et of routines which may be used┆
0x14ca0…14cc0 20 66 6f 72 20 0a 69 6e 70 75 74 2f 6f 75 74 70 75 74 20 74 6f 20 74 68 65 20 4f 50 45 52 41 54   ┆ for  input/output to the OPERAT┆
0x14cc0…14ce0 4f 52 20 70 72 6f 63 65 73 73 20 6f 72 20 61 6e 6f 74 68 65 72 20 63 68 61 72 61 63 74 65 72 20   ┆OR process or another character ┆
0x14ce0…14d00 6f 72 69 65 6e 74 65 64 20 0a 69 6e 70 75 74 2f 6f 75 74 70 75 74 20 64 72 69 76 65 72 2e 20 0d   ┆oriented  input/output driver.  ┆
0x14d00…14d20 0a 0d 0a 43 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 74 61 6b 65 73 20 70 6c 61 63 65 20 76 69 61   ┆   Communication takes place via┆
0x14d20…14d40 20 76 61 72 69 61 62 6c 65 73 20 6f 66 20 74 79 70 65 20 7a 6f 6e 65 2e 20 0d 0a 0d 0a 54 68 65   ┆ variables of type zone.     The┆
0x14d40…14d60 20 74 79 70 65 20 7a 6f 6e 65 20 69 73 20 61 20 73 69 6d 70 6c 65 20 69 6d 70 6c 65 6d 65 6e 74   ┆ type zone is a simple implement┆
0x14d60…14d80 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 7a 6f 6e 65 20 63 6f 6e 63 65 70 74 20 6b 6e 6f 77 6e 20   ┆ation of the zone concept known ┆
0x14d80…14da0 0a 66 72 6f 6d 20 41 4c 47 4f 4c 38 20 61 6e 64 20 4d 55 53 49 4c 2e 20 0d 0a 0d 0a 53 65 63 74   ┆ from ALGOL8 and MUSIL.     Sect┆
0x14da0…14dc0 69 6f 6e 20 34 2e 37 2e 31 20 64 65 73 63 72 69 62 65 73 20 74 68 65 20 69 6e 69 74 69 61 6c 69   ┆ion 4.7.1 describes the initiali┆
0x14dc0…14de0 7a 61 74 69 6f 6e 20 6f 66 20 76 61 72 69 61 62 6c 65 73 20 6f 66 20 74 79 70 65 20 7a 6f 6e 65   ┆zation of variables of type zone┆
0x14de0…14e00 2e 20 0d 0a 0d 0a 53 65 63 74 69 6f 6e 20 34 2e 37 2e 32 20 64 65 73 63 72 69 62 65 73 20 74 68   ┆.     Section 4.7.2 describes th┆
0x14e00…14e20 65 20 6f 75 74 70 75 74 20 70 72 6f 63 65 64 75 72 65 20 4f 55 54 43 48 41 52 20 61 6e 64 20 61   ┆e output procedure OUTCHAR and a┆
0x14e20…14e40 20 73 65 74 20 6f 66 20 0a 6f 75 74 70 75 74 20 70 72 6f 63 65 64 75 72 65 73 2c 20 77 68 69 63   ┆ set of  output procedures, whic┆
0x14e40…14e60 68 20 75 73 65 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 4f 55 54 43 48 41 52 2e 20 0d 0a 0d   ┆h use the procedure OUTCHAR.    ┆
0x14e60…14e80 0a 53 65 63 74 69 6f 6e 20 34 2e 37 2e 33 20 64 65 73 63 72 69 62 65 73 20 74 68 65 20 69 6e 70   ┆ Section 4.7.3 describes the inp┆
0x14e80…14ea0 75 74 20 70 72 6f 63 65 64 75 72 65 20 49 4e 43 48 41 52 20 61 6e 64 20 61 20 73 65 74 20 6f 66   ┆ut procedure INCHAR and a set of┆
0x14ea0…14ec0 20 0a 69 6e 70 75 74 20 70 72 6f 63 65 64 75 72 65 73 2c 20 77 68 69 63 68 20 75 73 65 20 74 68   ┆  input procedures, which use th┆
0x14ec0…14ee0 65 20 70 72 6f 63 65 64 75 72 65 20 49 4e 43 48 41 52 2e 20 0d 0a 0d 0a 49 4f 45 4e 56 49 52 20   ┆e procedure INCHAR.     IOENVIR ┆
0x14ee0…14f00 63 6f 6e 74 61 69 6e 73 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 74 79 70   ┆contains declarations of the typ┆
0x14f00…14f20 65 73 20 61 6e 64 20 72 6f 75 74 69 6e 65 73 20 61 6e 64 20 69 73 20 6c 69 73 74 65 64 20 0a 69   ┆es and routines and is listed  i┆
0x14f20…14f40 6e 20 61 70 70 65 6e 64 69 78 20 4b 2e 20 0d 0a 0d 0a 8c 8a c0 0a 41 70 70 65 6e 64 69 78 20 4c   ┆n appendix K.     їі└ Appendix L┆
0x14f40…14f60 20 63 6f 6e 74 61 69 6e 73 20 61 20 6d 6f 72 65 20 63 6f 6d 70 72 65 68 65 6e 73 69 76 65 20 65   ┆ contains a more comprehensive e┆
0x14f60…14f80 78 61 6d 70 6c 65 20 6f 66 20 4f 50 45 52 41 54 4f 52 20 0a 63 6f 6d 6d 75 6e 69 63 61 74 69 6f   ┆xample of OPERATOR  communicatio┆
0x14f80…14fa0 6e 2e 20 0d 0a 0d 0a 54 68 65 20 72 6f 75 74 69 6e 65 73 20 63 6f 6e 66 6f 72 6d 20 74 6f 20 74   ┆n.     The routines conform to t┆
0x14fa0…14fc0 68 65 20 64 72 69 76 65 72 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 20 28 72 65 66 20 33 29 20 72 65   ┆he driver conventions (ref 3) re┆
0x14fc0…14fe0 67 61 72 64 69 6e 67 20 74 68 65 20 0a 75 73 65 20 6f 66 20 74 68 65 20 75 73 65 72 20 75 2d 66   ┆garding the  use of the user u-f┆
0x14fe0…15000 69 65 6c 64 73 20 61 6e 64 20 74 68 65 20 62 75 66 66 65 72 20 69 6e 64 69 63 65 73 2e 20 0d 0a   ┆ields and the buffer indices.   ┆
0x15000…15020 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 49 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 20 0d 0a 54 68 65   ┆       SC  Initialization    The┆
0x15020…15040 20 74 79 70 65 20 7a 6f 6e 65 20 69 73 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 65 6e 76   ┆ type zone is defined in the env┆
0x15040…15060 69 72 6f 6e 6d 65 6e 74 20 49 4f 45 4e 56 49 52 20 61 73 3a 20 0d 0a 0d 0a 20 20 20 20 20 7a 6f   ┆ironment IOENVIR as:          zo┆
0x15060…15080 6e 65 20 3d 20 52 45 43 4f 52 44 20 20 20 20 20 20 64 72 69 76 65 72 20 20 20 20 20 20 20 20 20   ┆ne = RECORD      driver         ┆
0x15080…150a0 2c 20 20 20 20 20 20 61 6e 73 77 65 72 20 20 20 20 20 20 20 20 20 3a 20 20 20 0a 73 65 6d 61 70   ┆,      answer         :    semap┆
0x150a0…150c0 68 6f 72 65 3b 20 20 20 20 20 20 64 61 74 61 72 65 61 64 79 20 20 20 20 20 20 2c 20 20 20 20 20   ┆hore;      dataready      ,     ┆
0x150c0…150e0 20 66 72 65 65 20 3a 20 73 65 6d 61 70 68 6f 72 65 3b 20 20 20 20 20 20 63 75 72 20 20 3a 20 0a   ┆ free : semaphore;      cur  :  ┆
0x150e0…15100 72 65 66 65 72 65 6e 63 65 3b 20 20 20 20 20 20 75 32 76 61 6c 2c 20 20 20 20 20 20 73 74 61 74   ┆reference;      u2val,      stat┆
0x15100…15120 65 3a 20 62 79 74 65 20 20 20 20 20 20 72 65 61 64 73 74 61 74 65 20 20 20 20 20 20 2c 20 20 20   ┆e: byte      readstate      ,   ┆
0x15120…15140 20 20 20 0a 6e 65 78 74 70 2c 20 20 20 20 20 20 6c 61 73 74 70 6f 73 20 20 20 20 20 20 20 20 3a   ┆    nextp,      lastpos        :┆
0x15140…15160 20 69 6e 74 65 67 65 72 20 20 20 45 4e 44 3b 20 27 64 72 69 76 65 72 27 1f 0d 0a 20 20 20 2d 20   ┆ integer   END; 'driver'      - ┆
0x15160…15180 84 70 6f 69 6e 74 73 20 74 6f 20 74 68 65 20 64 72 69 76 65 72 20 73 65 6d 61 70 68 6f 72 65 20   ┆ёpoints to the driver semaphore ┆
0x15180…151a0 28 65 2e 67 2e 20 74 68 65 20 4f 50 45 52 41 54 4f 52 20 73 65 6d 61 70 68 6f 72 65 29 2e 20 0d   ┆(e.g. the OPERATOR semaphore).  ┆
0x151a0…151c0 0a 0d 0a 27 61 6e 73 77 65 72 27 1f 0d 0a 20 20 20 2d 20 84 70 6f 69 6e 74 73 20 74 6f 20 74 68   ┆   'answer'      - ёpoints to th┆
0x151c0…151e0 65 20 73 65 6d 61 70 68 6f 72 65 2c 20 77 68 65 72 65 20 61 6e 73 77 65 72 73 20 61 72 72 69 76   ┆e semaphore, where answers arriv┆
0x151e0…15200 65 20 66 72 6f 6d 20 74 68 65 20 64 72 69 76 65 72 2e 20 0d 0a 0d 0a 27 64 61 74 61 72 65 61 64   ┆e from the driver.     'dataread┆
0x15200…15220 79 27 1f 2d 1f 68 6f 6c 64 73 20 74 68 65 20 61 6e 73 77 65 72 73 20 66 72 6f 6d 20 74 68 65 20   ┆y' - holds the answers from the ┆
0x15220…15240 64 72 69 76 65 72 2c 20 69 66 20 74 68 69 73 20 73 65 6d 61 70 68 6f 72 65 20 69 73 20 0a 73 70   ┆driver, if this semaphore is  sp┆
0x15240…15260 65 63 69 66 69 65 64 20 61 73 20 27 61 6e 73 77 65 72 27 20 69 6e 20 74 68 65 20 63 61 6c 6c 20   ┆ecified as 'answer' in the call ┆
0x15260…15280 6f 66 20 6f 70 65 6e 7a 6f 6e 65 20 6f 72 20 6f 70 65 6e 6f 70 7a 6f 6e 65 2e 20 0a 27 64 61 74   ┆of openzone or openopzone.  'dat┆
0x15280…152a0 61 72 65 61 64 79 27 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 73 70 65 63 69 66 69 65 64 2c 20 77   ┆aready' is normally specified, w┆
0x152a0…152c0 68 65 6e 20 74 68 65 20 7a 6f 6e 65 20 69 73 20 75 73 65 64 20 66 6f 72 20 69 6e 70 75 74 20 0a   ┆hen the zone is used for input  ┆
0x152c0…152e0 66 72 6f 6d 20 4f 50 45 52 41 54 4f 52 2e 20 0d 0a 0d 0a 27 66 72 65 65 27 1f 1f 1f 0d 0a 20 20   ┆from OPERATOR.     'free'       ┆
0x152e0…15300 20 2d 20 84 68 6f 6c 64 73 20 74 68 65 20 65 6d 70 74 79 20 6d 65 73 73 61 67 65 73 2e 20 0d 0a   ┆ - ёholds the empty messages.   ┆
0x15300…15320 0d 0a 27 63 75 72 27 1f 1f 1f 1f 0d 0a 20 20 20 2d 20 84 72 65 66 65 72 73 20 74 68 65 20 6d 65   ┆  'cur'         - ёrefers the me┆
0x15320…15340 73 73 61 67 65 20 77 68 69 63 68 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20 69 6e 20 75 73 65 20   ┆ssage which is currently in use ┆
0x15340…15360 66 6f 72 20 72 65 61 64 69 6e 67 20 69 6e 70 75 74 20 6f 72 20 0a 19 85 80 80 77 72 69 74 69 6e   ┆for reading input or   Ёђђwritin┆
0x15360…15380 67 20 6f 75 74 70 75 74 2e 20 0d 0a 0d 0a 27 75 32 76 61 6c 27 1f 1f 0d 0a 20 20 20 2d 20 84 77   ┆g output.     'u2val'       - ёw┆
0x15380…153a0 68 65 6e 65 76 65 72 20 61 20 6d 65 73 73 61 67 65 20 69 73 20 73 69 67 6e 61 6c 6c 65 64 20 74   ┆henever a message is signalled t┆
0x153a0…153c0 6f 20 74 68 65 20 64 72 69 76 65 72 20 73 65 6d 61 70 68 6f 72 65 2c 20 74 68 65 20 75 32 20 0a   ┆o the driver semaphore, the u2  ┆
0x153c0…153e0 19 85 80 80 66 69 65 6c 64 20 28 72 65 73 75 6c 74 20 66 69 65 6c 64 29 20 69 6e 20 74 68 65 20   ┆ Ёђђfield (result field) in the ┆
0x153e0…15400 6d 65 73 73 61 67 65 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 74 6f 20 75 32 76 61 6c 2e   ┆message is initialized to u2val.┆
0x15400…15420 20 0a 19 85 80 80 41 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 64 72 69 76 65 72 20 63 6f   ┆   ЁђђAccording to the driver co┆
0x15420…15440 6e 76 65 6e 74 69 6f 6e 73 2c 20 73 6f 6d 65 20 64 72 69 76 65 72 73 20 75 74 69 6c 69 7a 65 73   ┆nventions, some drivers utilizes┆
0x15440…15460 20 74 68 65 20 0a 19 85 80 80 73 70 65 63 69 66 69 63 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c 20 74   ┆ the   Ёђђspecific convention, t┆
0x15460…15480 68 61 74 20 27 75 32 27 20 6e 65 76 65 72 20 74 61 6b 65 73 20 74 68 65 20 76 61 6c 75 65 20 37   ┆hat 'u2' never takes the value 7┆
0x15480…154a0 20 69 6e 20 0a 19 85 80 80 61 6e 73 77 65 72 73 20 66 72 6f 6d 20 61 20 64 72 69 76 65 72 2c 20   ┆ in   Ёђђanswers from a driver, ┆
0x154a0…154c0 74 68 65 72 65 62 79 20 64 69 73 74 69 6e 67 75 69 73 68 69 6e 67 20 6d 65 73 73 61 67 65 73 20   ┆thereby distinguishing messages ┆
0x154c0…154e0 66 72 6f 6d 20 0a 19 85 80 80 61 70 70 6c 69 63 61 74 69 6f 6e 20 70 72 6f 63 65 73 73 65 73 20   ┆from   Ёђђapplication processes ┆
0x154e0…15500 61 6e 64 20 61 6e 73 77 65 72 73 20 66 72 6f 6d 20 65 2e 67 2e 20 69 6e 74 65 72 6e 61 6c 20 64   ┆and answers from e.g. internal d┆
0x15500…15520 72 69 76 65 72 20 0a 19 85 80 80 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 70 72 6f 63 65 73 73 65   ┆river   Ёђђinterruption processe┆
0x15520…15540 73 2e 20 0d 0a 0d 0a 27 73 74 61 74 65 27 1f 1f 0d 0a 20 20 20 2d 20 84 68 6f 6c 64 73 20 74 68   ┆s.     'state'       - ёholds th┆
0x15540…15560 65 20 72 65 73 75 6c 74 20 66 69 65 6c 64 20 28 75 32 29 20 66 72 6f 6d 20 74 68 65 20 6d 65 73   ┆e result field (u2) from the mes┆
0x15560…15580 73 61 67 65 20 72 65 66 65 72 72 65 64 20 62 79 20 27 63 75 72 27 2e 20 0a 19 85 80 80 53 74 61   ┆sage referred by 'cur'.   ЁђђSta┆
0x15580…155a0 74 65 20 69 73 20 75 70 64 61 74 65 64 20 77 68 65 6e 20 61 20 6d 65 73 73 61 67 65 20 69 73 20   ┆te is updated when a message is ┆
0x155a0…155c0 74 61 6b 65 6e 20 66 72 6f 6d 20 27 66 72 65 65 27 20 61 73 20 61 20 6e 65 77 20 0a 19 85 80 80   ┆taken from 'free' as a new   Ёђђ┆
0x155c0…155e0 63 75 72 72 65 6e 74 20 6d 65 73 73 61 67 65 20 66 6f 72 20 6f 75 74 70 75 74 20 69 6e 20 74 68   ┆current message for output in th┆
0x155e0…15600 65 20 70 72 6f 63 65 64 75 72 65 20 6f 75 74 63 68 61 72 2c 20 6f 72 20 77 68 65 6e 20 61 20 0a   ┆e procedure outchar, or when a  ┆
0x15600…15620 19 85 80 80 6d 65 73 73 61 67 65 20 69 73 20 74 61 6b 65 6e 20 66 72 6f 6d 20 27 64 61 74 61 72   ┆ Ёђђmessage is taken from 'datar┆
0x15620…15640 65 61 64 79 27 20 69 6e 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 6f 70 77 61 69 74 20 61 73   ┆eady' in the procedure opwait as┆
0x15640…15660 20 61 20 0a 19 85 80 80 6e 65 77 20 63 75 72 72 65 6e 74 20 6d 65 73 73 61 67 65 20 68 6f 6c 64   ┆ a   Ёђђnew current message hold┆
0x15660…15680 69 6e 67 20 69 6e 70 75 74 20 64 61 74 61 2e 20 0d 0a 0d 0a 27 72 65 61 64 73 74 61 74 65 27 1f   ┆ing input data.     'readstate' ┆
0x15680…156a0 2d 1f 73 70 65 63 69 66 69 65 73 20 74 68 65 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 7a 6f 6e   ┆- specifies the state of the zon┆
0x156a0…156c0 65 20 77 68 65 6e 20 75 73 65 64 20 66 6f 72 20 69 6e 70 75 74 20 0a 61 66 74 65 72 20 65 61 63   ┆e when used for input  after eac┆
0x156c0…156e0 68 20 63 61 6c 6c 20 6f 66 20 6f 6e 65 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 72 6f 75 74 69   ┆h call of one of the input routi┆
0x156e0…15700 6e 65 73 2e 20 0d 0a 0d 0a 52 65 61 64 73 74 61 74 65 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65   ┆nes.     Readstate is initialize┆
0x15700…15720 64 20 74 6f 20 2d 31 20 61 66 74 65 72 20 63 61 6c 6c 20 6f 66 20 27 6f 70 65 6e 7a 6f 6e 65 27   ┆d to -1 after call of 'openzone'┆
0x15720…15740 20 6f 72 20 0a 27 6f 70 65 6e 6f 70 7a 6f 6e 65 27 2e 20 0d 0a 0d 0a 54 68 65 20 66 6f 6c 6c 6f   ┆ or  'openopzone'.     The follo┆
0x15740…15760 77 69 6e 67 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 6f 66 20 72 65 61 64 73 74 61 74 65   ┆wing interpretation of readstate┆
0x15760…15780 20 68 6f 6c 64 73 3a 20 0d 0a 0d 0a 8c 8a c0 0a a1 27 72 65 61 64 73 74 61 74 65 27 1f 3d 1f 2d   ┆ holds:     їі└ А'readstate' = -┆
0x15780…157a0 1f 31 20 e1 4e 6f 20 69 6e 70 75 74 20 77 61 73 20 72 65 61 64 79 20 28 27 63 75 72 27 20 3d 20   ┆ 1 рNo input was ready ('cur' = ┆
0x157a0…157c0 27 6e 69 6c 27 29 20 77 68 65 6e 20 61 6e 20 69 6e 70 75 74 20 0a 70 72 6f 63 65 64 75 72 65 20   ┆'nil') when an input  procedure ┆
0x157c0…157e0 77 61 73 20 63 61 6c 6c 65 64 20 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 6e 70 75 74 20   ┆was called or the current input ┆
0x157e0…15800 62 75 66 66 65 72 20 62 65 63 61 6d 65 20 65 6d 70 74 79 20 64 75 72 69 6e 67 20 0a 63 61 6c 6c   ┆buffer became empty during  call┆
0x15800…15820 2e 20 0d 0a 0d 0a a1 27 72 65 61 64 73 74 61 74 65 27 1f 3d 1f 30 20 e1 54 68 65 20 63 61 6c 6c   ┆.     А'readstate' = 0 рThe call┆
0x15820…15840 20 6f 66 20 61 6e 20 69 6e 70 75 74 20 70 72 6f 63 65 64 75 72 65 20 73 75 63 63 65 65 64 65 64   ┆ of an input procedure succeeded┆
0x15840…15860 20 77 69 74 68 20 6e 6f 20 0a 73 79 6e 74 61 78 20 65 72 72 6f 72 73 2e 20 0d 0a 0d 0a a1 27 72   ┆ with no  syntax errors.     А'r┆
0x15860…15880 65 61 64 73 74 61 74 65 27 1f 3e 1f 30 20 e1 54 68 69 73 20 76 61 6c 75 65 20 72 61 6e 67 65 20   ┆eadstate' > 0 рThis value range ┆
0x15880…158a0 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 69 6e 64 69 63 61 74 69 6f 6e 20 6f 66 20 61 20   ┆is intended for indication of a ┆
0x158a0…158c0 0a 73 79 6e 74 61 78 20 65 72 72 6f 72 20 64 65 74 65 63 74 65 64 20 64 75 72 69 6e 67 20 74 68   ┆ syntax error detected during th┆
0x158c0…158e0 65 20 63 61 6c 6c 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 70 72 6f 63 65 64 75 72 65 2e 20 54   ┆e call of the input procedure. T┆
0x158e0…15900 68 65 20 0a 72 6f 75 74 69 6e 65 73 20 69 6e 20 74 68 69 73 20 6d 61 6e 75 61 6c 20 64 6f 20 6e   ┆he  routines in this manual do n┆
0x15900…15920 6f 74 20 64 65 6c 69 76 65 72 20 70 6f 73 69 74 69 76 65 20 76 61 6c 75 65 73 2e 20 0d 0a 0d 0a   ┆ot deliver positive values.     ┆
0x15920…15940 27 6e 65 78 74 70 27 1f 1f 0d 0a 20 20 20 2d 20 84 69 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66   ┆'nextp'       - ёis the index of┆
0x15940…15960 20 74 68 65 20 6e 65 78 74 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 63 75 72 72 65 6e 74 20 6d 65   ┆ the next position in current me┆
0x15960…15980 73 73 61 67 65 20 66 6f 72 20 72 65 61 64 69 6e 67 20 0a 19 85 80 80 6f 72 20 77 72 69 74 69 6e   ┆ssage for reading   Ёђђor writin┆
0x15980…159a0 67 2e 20 0d 0a 0d 0a 27 6c 61 73 74 70 6f 73 27 0d 0a 20 20 20 2d 20 84 69 73 20 74 68 65 20 69   ┆g.     'lastpos'     - ёis the i┆
0x159a0…159c0 6e 64 65 78 20 6f 66 20 74 68 65 20 6c 61 73 74 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 63 75 72   ┆ndex of the last position in cur┆
0x159c0…159e0 72 65 6e 74 20 6d 65 73 73 61 67 65 20 66 6f 72 20 72 65 61 64 69 6e 67 20 0a 19 85 80 80 6f 72   ┆rent message for reading   Ёђђor┆
0x159e0…15a00 20 77 72 69 74 69 6e 67 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 4f 70 65 6e 7a 6f 6e 65 20   ┆ writing.          SD  Openzone ┆
0x15a00…15a20 20 20 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 6f 70 65 6e 7a 6f 6e 65 20 28 20 20 20 56   ┆        PROCEDURE openzone (   V┆
0x15a20…15a40 41 52 20 7a 20 20 20 20 20 3a 20 7a 6f 6e 65 3b 20 20 20 64 72 69 76 65 72 20 20 20 20 2c 20 20   ┆AR z     : zone;   driver    ,  ┆
0x15a40…15a60 20 61 6e 73 77 65 72 20 20 20 20 0a 3a 20 20 20 73 65 6d 61 70 68 6f 72 65 3b 20 20 20 62 75 66   ┆ answer     :   semaphore;   buf┆
0x15a60…15a80 73 20 20 20 20 20 20 3a 20 69 6e 74 65 67 65 72 3b 20 20 20 56 41 52 20 68 6f 6d 65 20 20 3a 20   ┆s      : integer;   VAR home  : ┆
0x15a80…15aa0 70 6f 6f 6c 20 31 3b 20 20 20 76 31 2c 20 0a 76 32 2c 20 76 33 2c 20 76 34 20 20 20 20 20 20 3a   ┆pool 1;   v1,  v2, v3, v4      :┆
0x15aa0…15ac0 20 62 79 74 65 29 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 49 4f 45 4e 56 49 52 2e 20   ┆ byte);     Defined in IOENVIR. ┆
0x15ac0…15ae0 0d 0a 0d 0a 4f 70 65 6e 7a 6f 6e 65 20 70 72 65 70 61 72 65 73 20 74 68 65 20 7a 6f 6e 65 20 27   ┆    Openzone prepares the zone '┆
0x15ae0…15b00 7a 27 20 77 69 74 68 20 6d 65 73 73 61 67 65 73 20 66 6f 72 20 69 6e 70 75 74 2f 6f 75 74 70 75   ┆z' with messages for input/outpu┆
0x15b00…15b20 74 2e 20 0d 0a 0d 0a 4e 6f 74 65 3a 20 49 66 20 4f 50 45 52 41 54 4f 52 20 63 6f 6d 6d 75 6e 69   ┆t.     Note: If OPERATOR communi┆
0x15b20…15b40 63 61 74 69 6f 6e 20 69 73 20 77 61 6e 74 65 64 2c 20 75 73 65 20 4f 50 45 4e 4f 50 5a 4f 4e 45   ┆cation is wanted, use OPENOPZONE┆
0x15b40…15b60 2e 20 0d 0a 0d 0a 27 7a 27 1f 1f 1f 1f 1f 1f 0d 0a 20 20 20 2d 20 84 74 68 65 20 7a 6f 6e 65 20   ┆.     'z'           - ёthe zone ┆
0x15b60…15b80 77 68 69 63 68 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 2e 20 0d 0a 0d 0a 27 64 72 69 76 65   ┆which is initialized.     'drive┆
0x15b80…15ba0 72 27 1f 0d 0a 20 20 20 2d 20 84 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 64 72 69 76   ┆r'      - ёa pointer to the driv┆
0x15ba0…15bc0 65 72 20 73 65 6d 61 70 68 6f 72 65 2c 20 77 68 69 63 68 20 69 73 20 61 73 73 69 67 6e 65 64 20   ┆er semaphore, which is assigned ┆
0x15bc0…15be0 74 6f 20 0a 19 85 80 80 27 7a 2e 64 72 69 76 65 72 27 2e 20 0d 0a 0d 0a 27 61 6e 73 77 65 72 27   ┆to   Ёђђ'z.driver'.     'answer'┆
0x15be0…15c00 1f 0d 0a 20 20 20 2d 20 84 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 65 6d 61 70 68 6f 72   ┆      - ёa pointer to a semaphor┆
0x15c00…15c20 65 20 77 68 65 72 65 20 61 6e 73 77 65 72 73 20 61 72 72 69 76 65 20 66 72 6f 6d 20 74 68 65 20   ┆e where answers arrive from the ┆
0x15c20…15c40 64 72 69 76 65 72 2e 20 0a 19 85 80 80 27 61 6e 73 77 65 72 27 20 69 73 20 61 73 73 69 67 6e 65   ┆driver.   Ёђђ'answer' is assigne┆
0x15c40…15c60 64 20 74 6f 20 27 7a 2e 61 6e 73 77 65 72 27 2e 20 0d 0a 0d 0a 27 62 75 66 73 27 1f 1f 1f 0d 0a   ┆d to 'z.answer'.     'bufs'     ┆
0x15c60…15c80 20 20 20 2d 20 84 73 70 65 63 69 66 69 65 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6d 65   ┆   - ёspecifies the number of me┆
0x15c80…15ca0 73 73 61 67 65 73 20 77 68 69 63 68 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 77 69 6c 6c 20   ┆ssages which the procedure will ┆
0x15ca0…15cc0 0a 19 85 80 80 61 6c 6c 6f 63 61 74 65 20 74 68 65 20 7a 6f 6e 65 20 7a 2e 20 54 68 65 20 6d 65   ┆  Ёђђallocate the zone z. The me┆
0x15cc0…15ce0 73 73 61 67 65 73 20 61 72 65 20 70 6c 61 63 65 64 20 69 6e 20 27 7a 2e 66 72 65 65 27 2e 20 0d   ┆ssages are placed in 'z.free'.  ┆
0x15ce0…15d00 0a 0d 0a 27 68 6f 6d 65 27 1f 1f 1f 0d 0a 20 20 20 2d 20 84 74 68 65 20 6d 65 73 73 61 67 65 73   ┆   'home'        - ёthe messages┆
0x15d00…15d20 20 61 72 65 20 61 6c 6c 6f 63 61 74 65 64 20 66 72 6f 6d 20 74 68 65 20 70 6f 6f 6c 20 27 68 6f   ┆ are allocated from the pool 'ho┆
0x15d20…15d40 6d 65 27 2e 20 54 68 65 20 6d 65 73 73 61 67 65 73 20 0a 19 85 80 80 63 6f 6e 66 6f 72 6d 20 74   ┆me'. The messages   Ёђђconform t┆
0x15d40…15d60 6f 20 74 68 65 20 64 72 69 76 65 72 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 20 61 6e 64 20 73 68 6f   ┆o the driver conventions and sho┆
0x15d60…15d80 75 6c 64 20 62 65 20 61 62 6c 65 20 74 6f 20 68 6f 6c 64 20 61 20 0a 19 85 80 80 76 61 72 69 61   ┆uld be able to hold a   Ёђђvaria┆
0x15d80…15da0 62 6c 65 20 6f 66 20 74 79 70 65 3a 20 0d 0a 0d 0a 20 20 20 20 20 20 52 45 43 4f 52 44 66 69 72   ┆ble of type:           RECORDfir┆
0x15da0…15dc0 73 74 2c 20 6c 61 73 74 2c 20 6e 65 78 74 3a 20 69 6e 74 65 67 65 72 3b 63 68 61 72 73 20 3a 20   ┆st, last, next: integer;chars : ┆
0x15dc0…15de0 41 52 52 41 59 20 28 36 2e 2e 6d 61 78 29 20 4f 46 20 0a 63 68 61 72 3b 20 20 20 20 20 20 20 45   ┆ARRAY (6..max) OF  char;       E┆
0x15de0…15e00 4e 44 3b 20 0d 0a 0d 0a 27 76 31 27 2c 20 27 76 32 27 2c 20 27 76 33 27 2c 1f 27 76 34 27 1f 1f   ┆ND;     'v1', 'v2', 'v3', 'v4'  ┆
0x15e00…15e20 2d 1f 74 68 65 20 75 2d 66 69 65 6c 64 73 20 69 6e 20 74 68 65 20 6d 65 73 73 61 67 65 73 20 61   ┆- the u-fields in the messages a┆
0x15e20…15e40 72 65 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 74 6f 20 0a 27 76 31 27 2c 20 27 76 32 27 2c 20 27   ┆re initialized to  'v1', 'v2', '┆
0x15e40…15e60 76 33 27 2c 20 61 6e 64 20 27 76 34 27 2e 20 27 76 32 27 20 69 73 20 75 73 65 64 20 74 6f 20 72   ┆v3', and 'v4'. 'v2' is used to r┆
0x15e60…15e80 65 73 65 74 20 74 68 65 20 72 65 73 75 6c 74 20 66 69 65 6c 64 20 28 75 32 29 2c 20 0a 77 68 65   ┆eset the result field (u2),  whe┆
0x15e80…15ea0 6e 65 76 65 72 20 61 20 6d 65 73 73 61 67 65 20 69 73 20 73 69 67 6e 61 6c 6c 65 64 20 74 6f 20   ┆never a message is signalled to ┆
0x15ea0…15ec0 74 68 65 20 64 72 69 76 65 72 2e 20 0d 0a 0d 0a 0d 0a 8c 8b a0 0a 0d 0a 16 53 44 0d 0a 4f 70 65   ┆the driver.       їІа    SD  Ope┆
0x15ec0…15ee0 6e 6f 70 7a 6f 6e 65 20 20 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 6f 70 65 6e 6f 70 7a   ┆nopzone        PROCEDURE openopz┆
0x15ee0…15f00 6f 6e 65 20 28 20 20 20 56 41 52 20 7a 20 20 20 20 20 3a 20 7a 6f 6e 65 3b 20 20 20 64 72 69 76   ┆one (   VAR z     : zone;   driv┆
0x15f00…15f20 65 72 20 20 20 20 2c 20 20 20 0a 61 6e 73 77 65 72 20 20 20 20 3a 20 20 20 73 65 6d 61 70 68 6f   ┆er    ,    answer    :   semapho┆
0x15f20…15f40 72 65 3b 20 20 20 62 75 66 73 20 20 20 20 20 20 3a 20 69 6e 74 65 67 65 72 3b 20 20 20 56 41 52   ┆re;   bufs      : integer;   VAR┆
0x15f40…15f60 20 68 6f 6d 65 20 20 3a 20 70 6f 6f 6c 20 0a 31 3b 20 20 20 76 31 2c 20 76 32 2c 20 76 33 2c 20   ┆ home  : pool  1;   v1, v2, v3, ┆
0x15f60…15f80 76 34 20 20 20 20 20 20 3a 20 62 79 74 65 29 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20   ┆v4      : byte);     Defined in ┆
0x15f80…15fa0 49 4f 45 4e 56 49 52 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 4d 65 73 73 61 67 65 73 20 66 72   ┆IOENVIR.          - ёMessages fr┆
0x15fa0…15fc0 6f 6d 20 74 68 65 20 70 6f 6f 6c 20 27 68 6f 6d 65 27 20 73 68 6f 75 6c 64 20 62 65 20 61 62 6c   ┆om the pool 'home' should be abl┆
0x15fc0…15fe0 65 20 74 6f 20 68 6f 6c 64 20 76 61 72 69 61 62 6c 65 73 20 0a 19 85 80 80 6f 66 20 74 79 70 65   ┆e to hold variables   Ёђђof type┆
0x15fe0…16000 3a 20 0d 0a 0d 0a 52 45 43 4f 52 44 20 20 20 20 66 69 72 73 74 2c 20 6c 61 73 74 2c 20 6e 65 78   ┆:     RECORD    first, last, nex┆
0x16000…16020 74 3a 20 69 6e 74 65 67 65 72 3b 20 20 20 20 6e 61 6d 65 20 20 3a 20 61 6c 66 61 3b 20 20 20 20   ┆t: integer;    name  : alfa;    ┆
0x16020…16040 63 68 61 72 73 20 3a 20 0a 41 52 52 41 59 20 28 66 69 72 73 74 69 6e 64 65 78 2e 2e 6c 61 73 74   ┆chars :  ARRAY (firstindex..last┆
0x16040…16060 69 6e 64 65 78 29 20 4f 46 20 63 68 61 72 3b 20 45 4e 44 3b 20 0d 0a 0d 0a 27 66 69 72 73 74 27   ┆index) OF char; END;     'first'┆
0x16060…16080 2c 20 27 6c 61 73 74 27 2c 20 61 6e 64 20 27 6e 65 78 74 27 20 61 72 65 20 74 68 65 20 62 75 66   ┆, 'last', and 'next' are the buf┆
0x16080…160a0 66 65 72 20 69 6e 64 69 63 65 73 2c 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 0a 64   ┆fer indices, according to the  d┆
0x160a0…160c0 72 69 76 65 72 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 2e 20 0d 0a 0d 0a 41 20 74 79 70 65 20 27 6f   ┆river conventions.     A type 'o┆
0x160c0…160e0 70 62 75 66 66 65 72 27 20 69 73 20 64 65 66 69 6e 65 64 20 69 6e 20 49 4f 45 4e 56 49 52 20 77   ┆pbuffer' is defined in IOENVIR w┆
0x160e0…16100 69 74 68 20 27 6c 61 73 74 69 6e 64 65 78 20 2d 20 66 69 72 73 74 69 6e 64 65 78 20 2d 20 0a 31   ┆ith 'lastindex - firstindex -  1┆
0x16100…16120 20 3d 20 38 30 27 2e 20 0d 0a 0d 0a 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 69 6e 69 74 69 61   ┆ = 80'.     The procedure initia┆
0x16120…16140 6c 69 7a 65 73 20 74 68 65 20 66 69 65 6c 64 20 27 6e 61 6d 65 27 20 74 6f 20 27 6f 77 6e 2e 69   ┆lizes the field 'name' to 'own.i┆
0x16140…16160 6e 63 6e 61 6d 65 27 20 69 6e 20 61 6c 6c 20 0a 6d 65 73 73 61 67 65 73 2c 20 77 68 65 72 65 61   ┆ncname' in all  messages, wherea┆
0x16160…16180 66 74 65 72 20 69 74 20 70 65 72 66 6f 72 6d 73 20 61 73 20 74 68 65 20 70 72 6f 63 65 64 75 72   ┆fter it performs as the procedur┆
0x16180…161a0 65 20 6f 70 65 6e 7a 6f 6e 65 2e 20 0d 0a 0d 0a 54 68 65 20 4f 50 45 52 41 54 4f 52 20 70 72 6f   ┆e openzone.     The OPERATOR pro┆
0x161a0…161c0 63 65 73 73 20 69 64 65 6e 74 69 66 69 65 73 20 74 68 65 20 69 6e 70 75 74 20 61 6e 64 20 6f 75   ┆cess identifies the input and ou┆
0x161c0…161e0 74 70 75 74 20 6d 65 73 73 61 67 65 73 20 62 79 20 0a 6d 65 61 6e 73 20 6f 66 20 74 68 65 20 70   ┆tput messages by  means of the p┆
0x161e0…16200 61 72 61 6d 65 74 65 72 20 27 6e 61 6d 65 27 2e 20 0d 0a 0d 0a 49 66 20 74 68 65 20 61 63 74 75   ┆arameter 'name'.     If the actu┆
0x16200…16220 61 6c 20 64 72 69 76 65 72 20 73 65 6d 61 70 68 6f 72 65 20 70 6f 69 6e 74 65 72 20 69 73 20 6e   ┆al driver semaphore pointer is n┆
0x16220…16240 69 6c 20 28 61 6e 20 75 6e 64 65 66 69 6e 65 64 20 73 65 6d 61 70 68 6f 72 65 20 0a 70 6f 69 6e   ┆il (an undefined semaphore  poin┆
0x16240…16260 74 65 72 29 2c 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74   ┆ter), the procedure will automat┆
0x16260…16280 69 63 61 6c 6c 79 20 6f 70 65 6e 20 74 68 65 20 7a 6f 6e 65 20 77 69 74 68 20 74 68 65 20 0a 6f   ┆ically open the zone with the  o┆
0x16280…162a0 70 65 72 61 74 6f 72 20 73 65 6d 61 70 68 6f 72 65 20 61 73 20 64 72 69 76 65 72 20 73 65 6d 61   ┆perator semaphore as driver sema┆
0x162a0…162c0 70 68 6f 72 65 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 4f 75 74 70 75 74 20 20 20 20 20 20   ┆phore.          SC  Output      ┆
0x162c0…162e0 20 20 20 0d 0a 49 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 64 6f 65 73 20 6e 6f 74 20 77 61 6e   ┆     If the process does not wan┆
0x162e0…16300 74 20 74 6f 20 62 65 20 61 63 74 69 76 61 74 65 64 2c 20 77 68 65 6e 20 61 6e 20 6f 75 74 70 75   ┆t to be activated, when an outpu┆
0x16300…16320 74 20 0a 6d 65 73 73 61 67 65 20 72 65 74 75 72 6e 73 20 66 72 6f 6d 20 74 68 65 20 64 72 69 76   ┆t  message returns from the driv┆
0x16320…16340 65 72 2c 20 69 74 20 75 73 65 73 3a 20 0d 0a 0d 0a 72 65 66 20 28 7a 2e 66 72 65 65 29 20 0d 0a   ┆er, it uses:     ref (z.free)   ┆
0x16340…16360 0d 0a 61 73 20 74 68 65 20 61 63 74 75 61 6c 20 70 61 72 61 6d 65 74 65 72 20 27 61 6e 73 77 65   ┆  as the actual parameter 'answe┆
0x16360…16380 72 27 20 69 6e 20 74 68 65 20 63 61 6c 6c 20 6f 66 20 27 6f 70 65 6e 7a 6f 6e 65 27 20 6f 72 20   ┆r' in the call of 'openzone' or ┆
0x16380…163a0 0a 27 6f 70 65 6e 6f 70 7a 6f 6e 65 27 2e 20 49 6e 20 74 68 69 73 20 77 61 79 20 65 6d 70 74 79   ┆ 'openopzone'. In this way empty┆
0x163a0…163c0 20 6f 75 74 70 75 74 20 6d 65 73 73 61 67 65 73 20 72 65 74 75 72 6e 20 64 69 72 65 63 74 6c 79   ┆ output messages return directly┆
0x163c0…163e0 20 74 6f 20 0a 74 68 65 20 73 65 6d 61 70 68 6f 72 65 20 27 7a 2e 66 72 65 65 27 20 61 73 20 61   ┆ to  the semaphore 'z.free' as a┆
0x163e0…16400 76 61 69 6c 61 62 6c 65 20 6d 65 73 73 61 67 65 73 20 66 6f 72 20 63 6f 6e 74 69 6e 75 65 64 20   ┆vailable messages for continued ┆
0x16400…16420 6f 75 74 70 75 74 2e 20 0d 0a 0d 0a 49 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 77 61 6e 74 73   ┆output.     If the process wants┆
0x16420…16440 20 74 6f 20 73 75 70 65 72 76 69 73 65 20 74 68 65 20 61 6e 73 77 65 72 73 2c 20 69 74 20 75 73   ┆ to supervise the answers, it us┆
0x16440…16460 65 73 3a 20 0d 0a 0d 0a 72 65 66 20 28 22 6d 61 69 6e 73 65 6d 61 70 68 6f 72 65 22 29 20 0d 0a   ┆es:     ref ("mainsemaphore")   ┆
0x16460…16480 0d 0a 69 6e 20 74 68 65 20 63 61 6c 6c 20 6f 66 20 6f 70 65 6e 7a 6f 6e 65 20 6f 72 20 6f 70 65   ┆  in the call of openzone or ope┆
0x16480…164a0 6e 6f 70 7a 6f 6e 65 2e 20 54 68 65 20 6d 65 73 73 61 67 65 73 20 6d 75 73 74 20 62 65 20 0a 73   ┆nopzone. The messages must be  s┆
0x164a0…164c0 69 67 6e 61 6c 6c 65 64 20 74 6f 20 27 7a 2e 66 72 65 65 27 20 61 66 74 65 72 77 61 72 64 73 2e   ┆ignalled to 'z.free' afterwards.┆
0x164c0…164e0 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 4f 75 74 65 6e 64 0d 0a 8c 89 f8 0a 50 52 4f 43 45 44   ┆          SD  Outend  їЅЭ PROCED┆
0x164e0…16500 55 52 45 20 6f 75 74 65 6e 64 20 28 56 41 52 20 7a 3a 20 7a 6f 6e 65 29 3b 20 0d 0a 0d 0a 44 65   ┆URE outend (VAR z: zone);     De┆
0x16500…16520 66 69 6e 65 64 20 69 6e 20 49 4f 45 4e 56 49 52 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 73 69   ┆fined in IOENVIR.          - ёsi┆
0x16520…16540 67 6e 61 6c 73 20 68 65 20 63 75 72 72 65 6e 74 20 6d 65 73 73 61 67 65 20 27 7a 2e 63 75 72 27   ┆gnals he current message 'z.cur'┆
0x16540…16560 20 74 6f 20 74 68 65 20 64 72 69 76 65 72 20 73 65 6d 61 70 68 6f 72 65 20 0a 19 85 80 80 27 7a   ┆ to the driver semaphore   Ёђђ'z┆
0x16560…16580 2e 64 72 69 76 65 72 1f 27 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 4f 75 74 63 68 61 72 20   ┆.driver '.          SD  Outchar ┆
0x16580…165a0 20 20 20 20 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 6f 75 74 63 68 61 72 20 28 56 41 52   ┆          PROCEDURE outchar (VAR┆
0x165a0…165c0 20 7a 3a 20 7a 6f 6e 65 3b 20 63 68 3a 20 63 68 61 72 29 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64   ┆ z: zone; ch: char);     Defined┆
0x165c0…165e0 20 69 6e 20 49 4f 45 4e 56 49 52 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 70 6c 61 63 65 73 20   ┆ in IOENVIR.          - ёplaces ┆
0x165e0…16600 74 68 65 20 63 68 61 72 61 63 74 65 72 20 27 63 68 27 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e   ┆the character 'ch' in the curren┆
0x16600…16620 74 20 6d 65 73 73 61 67 65 20 27 7a 2e 63 75 72 27 2e 20 0d 0a 0d 0a 49 66 20 6e 6f 20 63 75 72   ┆t message 'z.cur'.     If no cur┆
0x16620…16640 72 65 6e 74 20 6d 65 73 73 61 67 65 20 69 73 20 61 76 61 69 6c 61 62 6c 65 2c 20 61 20 77 61 69   ┆rent message is available, a wai┆
0x16640…16660 74 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 6f 6e 20 74 68 65 20 0a 73 65 6d 61 70 68 6f 72 65   ┆t is performed on the  semaphore┆
0x16660…16680 20 27 7a 2e 66 72 65 65 27 2e 20 0d 0a 0d 0a 49 66 20 74 68 65 20 6d 65 73 73 61 67 65 20 62 65   ┆ 'z.free'.     If the message be┆
0x16680…166a0 63 6f 6d 65 73 20 66 75 6c 6c 2c 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 4f 55 54 45 4e 44   ┆comes full, the procedure OUTEND┆
0x166a0…166c0 20 69 73 20 63 61 6c 6c 65 64 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 4f 75 74 61 6c 66 61   ┆ is called.          SD  Outalfa┆
0x166c0…166e0 20 20 20 20 20 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 6f 75 74 61 6c 66 61 20 28 56 41   ┆           PROCEDURE outalfa (VA┆
0x166e0…16700 52 20 7a 3a 20 7a 6f 6e 65 3b 20 74 65 78 74 3a 20 61 6c 66 61 29 3b 20 0d 0a 0d 0a 44 65 66 69   ┆R z: zone; text: alfa);     Defi┆
0x16700…16720 6e 65 64 20 69 6e 20 49 4f 45 4e 56 49 52 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 77 72 69 74   ┆ned in IOENVIR.          - ёwrit┆
0x16720…16740 65 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 27 74 65 78 74 27 20 62 79 20 63 61 6c 6c 69 6e   ┆es the variable 'text' by callin┆
0x16740…16760 67 20 6f 75 74 63 68 61 72 2e 20 54 68 65 20 63 68 61 72 61 63 74 65 72 20 27 1f 1f 27 20 0a 19   ┆g outchar. The character '  '   ┆
0x16760…16780 85 80 80 61 63 74 73 20 61 73 20 61 20 73 74 6f 70 20 63 68 61 72 61 63 74 65 72 2e 20 0d 0a 0d   ┆Ёђђacts as a stop character.    ┆
0x16780…167a0 0a 0d 0a 0d 0a 16 53 44 0d 0a 4f 75 74 74 65 78 74 20 20 20 20 20 20 20 20 20 0d 0a 50 52 4f 43   ┆      SD  Outtext           PROC┆
0x167a0…167c0 45 44 55 52 45 20 6f 75 74 74 65 78 74 20 28 56 41 52 20 7a 3a 20 7a 6f 6e 65 3b 20 74 65 78 74   ┆EDURE outtext (VAR z: zone; text┆
0x167c0…167e0 3a 20 61 6c 66 61 29 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 49 4f 45 4e 56 49 52 2e   ┆: alfa);     Defined in IOENVIR.┆
0x167e0…16800 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 77 6f 72 6b 73 20 61 73 20 27 6f 75 74 61 6c 66 61 27 2c   ┆          - ёworks as 'outalfa',┆
0x16800…16820 20 77 68 69 63 68 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20 69 6e 73 74 65 61 64 20 6f 66   ┆ which should be used instead of┆
0x16820…16840 20 6f 75 74 74 65 78 74 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 4f 75 74 66 69 6c 6c 20 20   ┆ outtext.          SD  Outfill  ┆
0x16840…16860 20 20 20 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 6f 75 74 66 69 6c 6c 20 28 56 41 52 20   ┆         PROCEDURE outfill (VAR ┆
0x16860…16880 7a 3a 20 7a 6f 6e 65 3b 20 66 69 6c 6c 65 72 3a 20 63 68 61 72 3b 20 72 65 70 3a 20 69 6e 74 65   ┆z: zone; filler: char; rep: inte┆
0x16880…168a0 67 65 72 29 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 49 4f 45 4e 56 49 52 2e 20 0d 0a   ┆ger);     Defined in IOENVIR.   ┆
0x168a0…168c0 0d 0a 0d 0a 20 20 20 2d 20 84 72 65 70 65 61 74 73 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20   ┆       - ёrepeats the character ┆
0x168c0…168e0 27 66 69 6c 6c 65 72 27 2c 20 27 72 65 70 27 20 74 69 6d 65 73 2e 20 0d 0a 0d 0a 49 66 20 27 72   ┆'filler', 'rep' times.     If 'r┆
0x168e0…16900 65 70 27 20 69 73 20 6e 65 67 61 74 69 76 65 2c 20 6e 6f 20 66 69 6c 6c 20 63 68 61 72 61 63 74   ┆ep' is negative, no fill charact┆
0x16900…16920 65 72 20 69 73 20 77 72 69 74 74 65 6e 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 4f 75 74 69   ┆er is written.          SD  Outi┆
0x16920…16940 6e 74 65 67 65 72 20 20 20 20 20 20 0d 0a 8c 8b 88 0a 50 52 4f 43 45 44 55 52 45 20 6f 75 74 69   ┆nteger        їІѕ PROCEDURE outi┆
0x16940…16960 6e 74 65 67 65 72 20 28 56 41 52 20 7a 3a 20 7a 6f 6e 65 3b 20 69 2c 20 70 6f 73 3a 20 69 6e 74   ┆nteger (VAR z: zone; i, pos: int┆
0x16960…16980 65 67 65 72 29 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 49 4f 45 4e 56 49 52 2e 20 0d   ┆eger);     Defined in IOENVIR.  ┆
0x16980…169a0 0a 0d 0a 0d 0a 20 20 20 2d 20 84 77 72 69 74 65 73 20 74 68 65 20 6e 75 6d 62 65 72 20 27 69 27   ┆        - ёwrites the number 'i'┆
0x169a0…169c0 20 6f 6e 20 64 65 63 69 6d 61 6c 20 66 6f 72 6d 2e 20 49 66 20 74 68 65 20 6e 75 6d 62 65 72 20   ┆ on decimal form. If the number ┆
0x169c0…169e0 6f 63 63 75 70 69 65 73 20 0a 19 85 80 80 6c 65 73 73 20 74 68 61 6e 20 27 70 6f 73 27 20 70 6f   ┆occupies   Ёђђless than 'pos' po┆
0x169e0…16a00 73 69 74 69 6f 6e 73 20 28 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 27 2d 27 20 63 68 61 72 61   ┆sitions (including the '-' chara┆
0x16a00…16a20 63 74 65 72 2c 20 69 66 20 0a 19 85 80 80 6e 65 67 61 74 69 76 65 29 2c 20 74 68 65 20 6e 75 6d   ┆cter, if   Ёђђnegative), the num┆
0x16a20…16a40 62 65 72 20 69 73 20 70 72 65 66 69 78 65 64 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 73 70 61 63   ┆ber is prefixed a number of spac┆
0x16a40…16a60 65 73 20 74 6f 20 66 69 6c 6c 20 74 68 65 20 0a 19 85 80 80 27 70 6f 73 27 20 70 6f 73 69 74 69   ┆es to fill the   Ёђђ'pos' positi┆
0x16a60…16a80 6f 6e 73 2e 20 49 66 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 63 63 75 70 69 65 73 20 6d 6f 72 65   ┆ons. If the number occupies more┆
0x16a80…16aa0 20 74 68 61 6e 20 27 70 6f 73 27 20 0a 19 85 80 80 70 6f 73 69 74 69 6f 6e 73 2c 20 61 6c 6c 20   ┆ than 'pos'   Ёђђpositions, all ┆
0x16aa0…16ac0 73 69 67 6e 69 66 69 63 61 6e 74 20 64 69 67 69 74 73 20 61 72 65 20 77 72 69 74 74 65 6e 20 28   ┆significant digits are written (┆
0x16ac0…16ae0 69 6e 63 6c 75 73 69 76 65 20 61 20 70 6f 73 73 69 62 6c 65 20 0a 19 85 80 80 6d 69 6e 75 73 20   ┆inclusive a possible   Ёђђminus ┆
0x16ae0…16b00 73 69 67 6e 29 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 4f 75 74 68 65 78 0d 0a 50 52 4f 43   ┆sign).          SD  Outhex  PROC┆
0x16b00…16b20 45 44 55 52 45 20 6f 75 74 68 65 78 20 28 56 41 52 20 7a 3a 20 7a 6f 6e 65 3b 20 69 2c 20 70 6f   ┆EDURE outhex (VAR z: zone; i, po┆
0x16b20…16b40 73 3a 20 69 6e 74 65 67 65 72 29 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 49 4f 45 4e   ┆s: integer);     Defined in IOEN┆
0x16b40…16b60 56 49 52 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 77 72 69 74 65 73 20 74 68 65 20 6e 75 6d 62   ┆VIR.          - ёwrites the numb┆
0x16b60…16b80 65 72 20 27 69 27 20 69 6e 20 68 65 78 61 64 65 63 69 6d 61 6c 20 66 6f 72 6d 2e 20 49 66 20 70   ┆er 'i' in hexadecimal form. If p┆
0x16b80…16ba0 6f 73 20 69 73 20 67 72 65 61 74 65 72 20 0a 19 85 80 80 74 68 61 6e 20 66 6f 75 72 2c 20 70 6f   ┆os is greater   Ёђђthan four, po┆
0x16ba0…16bc0 73 20 2d 34 20 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 70 72 65 66 69 78   ┆s -4 space characters are prefix┆
0x16bc0…16be0 65 64 20 74 68 65 20 6e 75 6d 62 65 72 2e 20 49 66 20 0a 19 85 80 80 27 70 6f 73 27 20 69 73 20   ┆ed the number. If   Ёђђ'pos' is ┆
0x16be0…16c00 6c 65 73 73 20 74 68 61 6e 20 66 6f 75 72 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 73   ┆less than four, the following is┆
0x16c00…16c20 20 76 61 6c 69 64 2e 20 49 66 20 74 68 65 20 6e 75 6d 62 65 72 20 0a 19 85 80 80 6f 63 63 75 70   ┆ valid. If the number   Ёђђoccup┆
0x16c20…16c40 69 65 73 20 6d 6f 72 65 20 74 68 61 6e 20 27 70 6f 73 27 20 70 6f 73 69 74 69 6f 6e 73 2c 20 74   ┆ies more than 'pos' positions, t┆
0x16c40…16c60 68 65 6e 20 6e 75 6d 62 65 72 20 69 73 20 70 72 69 6e 74 65 64 20 61 73 20 0a 19 85 80 80 66 6f   ┆hen number is printed as   Ёђђfo┆
0x16c60…16c80 75 72 20 68 65 78 20 63 68 61 72 61 63 74 65 72 73 2e 20 49 66 20 74 68 65 20 6e 75 6d 62 65 72   ┆ur hex characters. If the number┆
0x16c80…16ca0 20 6f 63 63 75 70 69 65 73 20 6c 65 73 73 20 74 68 61 6e 20 27 70 6f 73 27 20 0a 19 85 80 80 70   ┆ occupies less than 'pos'   Ёђђp┆
0x16ca0…16cc0 6f 73 69 74 69 6f 6e 73 2c 20 74 68 65 20 6e 75 6d 62 65 72 20 69 73 20 70 72 65 66 69 78 65 64   ┆ositions, the number is prefixed┆
0x16cc0…16ce0 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 7a 65 72 6f 65 73 20 74 6f 20 66 69 6c 6c 20 74 68 65 20   ┆ a number of zeroes to fill the ┆
0x16ce0…16d00 0a 19 85 80 80 27 70 6f 73 27 20 70 6f 73 69 74 69 6f 6e 73 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53   ┆  Ёђђ'pos' positions.          S┆
0x16d00…16d20 44 0d 0a 4f 75 74 64 6f 75 62 6c 65 20 20 20 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 6f   ┆D  Outdouble         PROCEDURE o┆
0x16d20…16d40 75 74 64 6f 75 62 6c 65 20 28 56 41 52 20 7a 3a 20 7a 6f 6e 65 3b 20 64 3a 20 64 6f 75 62 6c 65   ┆utdouble (VAR z: zone; d: double┆
0x16d40…16d60 3b 20 70 6f 73 3a 20 69 6e 74 65 67 65 72 29 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20   ┆; pos: integer);     Defined in ┆
0x16d60…16d80 49 4f 45 4e 56 49 52 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 77 72 69 74 65 73 20 74 68 65 20   ┆IOENVIR.          - ёwrites the ┆
0x16d80…16da0 64 6f 75 62 6c 65 20 27 64 27 20 6f 6e 20 64 65 63 69 6d 61 6c 20 66 6f 72 6d 2e 20 49 66 20 74   ┆double 'd' on decimal form. If t┆
0x16da0…16dc0 68 65 20 64 6f 75 62 6c 65 20 6f 63 63 75 70 69 65 73 20 0a 19 85 80 80 6c 65 73 73 20 74 68 61   ┆he double occupies   Ёђђless tha┆
0x16dc0…16de0 6e 20 27 70 6f 73 27 20 70 6f 73 69 74 69 6f 6e 73 20 28 69 6e 63 6c 75 64 69 6e 67 20 74 68 65   ┆n 'pos' positions (including the┆
0x16de0…16e00 20 27 2d 27 20 63 68 61 72 61 63 74 65 72 2c 20 69 66 20 0a 19 85 80 80 6e 65 67 61 74 69 76 65   ┆ '-' character, if   Ёђђnegative┆
0x16e00…16e20 29 2c 20 74 68 65 20 64 6f 75 62 6c 65 20 69 73 20 70 72 65 66 69 78 65 64 20 61 20 6e 75 6d 62   ┆), the double is prefixed a numb┆
0x16e20…16e40 65 72 20 6f 66 20 73 70 61 63 65 73 20 74 6f 20 66 69 6c 6c 20 74 68 65 20 0a 19 85 80 80 27 70   ┆er of spaces to fill the   Ёђђ'p┆
0x16e40…16e60 6f 73 27 20 70 6f 73 69 74 69 6f 6e 73 2e 20 49 66 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 63 63   ┆os' positions. If the number occ┆
0x16e60…16e80 75 70 69 65 73 20 6d 6f 72 65 20 74 68 61 6e 20 27 70 6f 73 27 20 0a 19 85 80 80 70 6f 73 69 74   ┆upies more than 'pos'   Ёђђposit┆
0x16e80…16ea0 69 6f 6e 73 2c 20 61 6c 6c 20 73 69 67 6e 69 66 69 63 61 6e 74 20 64 69 67 69 74 73 20 61 72 65   ┆ions, all significant digits are┆
0x16ea0…16ec0 20 77 72 69 74 74 65 6e 20 28 69 6e 63 6c 75 73 69 76 65 20 61 20 70 6f 73 73 69 62 6c 65 20 0a   ┆ written (inclusive a possible  ┆
0x16ec0…16ee0 19 85 80 80 6d 69 6e 75 73 20 73 69 67 6e 29 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 4f 75   ┆ Ёђђminus sign).          SD  Ou┆
0x16ee0…16f00 74 61 64 64 72 20 20 20 20 20 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 6f 75 74 61 64 64   ┆taddr           PROCEDURE outadd┆
0x16f00…16f20 72 20 28 56 41 52 20 7a 20 3a 20 7a 6f 6e 65 3b 20 61 20 3a 20 33 32 62 69 74 74 79 70 65 29 3b   ┆r (VAR z : zone; a : 32bittype);┆
0x16f20…16f40 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20   ┆     Not predefined.          - ┆
0x16f40…16f60 84 77 72 69 74 65 73 20 74 68 65 20 74 68 72 65 65 20 6c 65 61 73 74 20 73 69 67 6e 69 66 69 63   ┆ёwrites the three least signific┆
0x16f60…16f80 61 6e 74 20 62 79 74 65 73 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 61 20 69 6e 20 0a   ┆ant bytes of the variable a in  ┆
0x16f80…16fa0 19 85 80 80 68 65 78 61 64 65 63 69 6d 61 6c 20 66 6f 72 6d 20 77 69 74 68 20 74 68 65 20 6c 61   ┆ Ёђђhexadecimal form with the la┆
0x16fa0…16fc0 79 6f 75 74 3a 20 0d 0a 0d 0a 42 42 2e 44 44 44 44 20 0d 0a 0d 0a 54 68 65 20 72 6f 75 74 69 6e   ┆yout:     BB.DDDD     The routin┆
0x16fc0…16fe0 65 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 6f 75 74 70 75 74 20 6f 66 20 52 43 33 35   ┆e is intended for output of RC35┆
0x16fe0…17000 30 32 20 61 64 64 72 65 73 73 65 73 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 20 4f 75 74 64   ┆02 addresses.          SD   Outd┆
0x17000…17020 61 74 65 20 20 20 20 20 20 20 20 0d 0a 8c 8b b8 0a 50 52 4f 43 45 44 55 52 45 20 6f 75 74 64 61   ┆ate          їІИ PROCEDURE outda┆
0x17020…17040 74 65 20 28 56 41 52 20 7a 3a 20 7a 6f 6e 65 3b 20 64 61 74 65 3a 20 63 6f 64 65 64 5f 64 61 74   ┆te (VAR z: zone; date: coded_dat┆
0x17040…17060 65 29 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 49 4f 45 4e 56 49 52 2e 20 0d 0a 0d 0a   ┆e);     Defined in IOENVIR.     ┆
0x17060…17080 0d 0a 20 20 20 2d 20 84 77 72 69 74 65 73 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 64 61 74   ┆     - ёwrites the parameter dat┆
0x17080…170a0 65 20 77 69 74 68 20 74 68 65 20 6c 61 79 6f 75 74 3a 20 0d 0a 0d 0a 59 59 59 59 2e 4d 4d 2e 44   ┆e with the layout:     YYYY.MM.D┆
0x170a0…170c0 44 20 0d 0a 0d 0a 54 68 65 20 74 79 70 65 20 27 63 6f 64 65 64 5f 64 61 74 65 27 20 69 73 20 70   ┆D     The type 'coded_date' is p┆
0x170c0…170e0 72 65 64 65 66 69 6e 65 64 20 61 6e 64 20 69 73 20 75 73 65 64 20 74 68 72 6f 75 67 68 6f 75 74   ┆redefined and is used throughout┆
0x170e0…17100 20 74 68 65 20 72 75 6e 20 0a 74 69 6d 65 20 73 79 73 74 65 6d 2c 20 65 73 70 65 63 69 61 6c 6c   ┆ the run  time system, especiall┆
0x17100…17120 79 20 74 68 65 20 74 69 6d 65 72 20 73 79 73 74 65 6d 20 28 73 65 65 20 64 65 73 63 72 69 70 74   ┆y the timer system (see descript┆
0x17120…17140 69 6f 6e 20 6f 66 20 74 68 65 20 0a 70 72 6f 63 65 64 75 72 65 20 73 65 6e 64 74 69 6d 65 72 29   ┆ion of the  procedure sendtimer)┆
0x17140…17160 29 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 20 4f 75 74 74 69 6d 65 20 20 20 20 20 20 20 20   ┆).          SD   Outtime        ┆
0x17160…17180 0d 0a 50 52 4f 43 45 44 55 52 45 20 6f 75 74 74 69 6d 65 20 28 56 41 52 20 7a 3a 20 7a 6f 6e 65   ┆  PROCEDURE outtime (VAR z: zone┆
0x17180…171a0 3b 20 74 69 6d 65 3a 20 63 6f 64 65 64 5f 74 69 6d 65 29 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64   ┆; time: coded_time);     Defined┆
0x171a0…171c0 20 69 6e 20 49 4f 45 4e 56 49 52 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 77 72 69 74 65 73 20   ┆ in IOENVIR.          - ёwrites ┆
0x171c0…171e0 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 74 69 6d 65 20 77 69 74 68 20 74 68 65 20 6c 61 79 6f   ┆the parameter time with the layo┆
0x171e0…17200 75 74 3a 20 0d 0a 0d 0a 48 48 2e 4d 4d 20 0d 0a 0d 0a 54 68 65 20 74 79 70 65 20 63 6f 64 65 64   ┆ut:     HH.MM     The type coded┆
0x17200…17220 5f 74 69 6d 65 20 69 73 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 16 53 44 0d 0a 20 4f 75 74   ┆_time is predefined.    SD   Out┆
0x17220…17240 6e 6c 0d 0a 50 52 4f 43 45 44 55 52 45 20 6f 75 74 6e 6c 20 28 56 41 52 20 7a 3a 20 7a 6f 6e 65   ┆nl  PROCEDURE outnl (VAR z: zone┆
0x17240…17260 29 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 49 4f 45 4e 56 49 52 2e 20 0d 0a 0d 0a 0d   ┆);     Defined in IOENVIR.      ┆
0x17260…17280 0a 20 20 20 2d 20 84 77 72 69 74 65 73 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 6e 6c 20 61   ┆    - ёwrites the character nl a┆
0x17280…172a0 6e 64 20 73 69 67 6e 61 6c 73 20 74 68 65 20 6d 65 73 73 61 67 65 20 74 6f 20 74 68 65 20 64 72   ┆nd signals the message to the dr┆
0x172a0…172c0 69 76 65 72 20 62 79 20 0a 19 85 80 80 63 61 6c 6c 69 6e 67 20 6f 75 74 65 6e 64 2e 20 0d 0a 0d   ┆iver by   Ёђђcalling outend.    ┆
0x172c0…172e0 0a 0d 0a 0d 0a 16 53 44 0d 0a 20 50 72 69 6e 74 0d 0a 50 52 4f 43 45 44 55 52 45 20 70 72 69 6e   ┆      SD   Print  PROCEDURE prin┆
0x172e0…17300 74 20 28 56 41 52 20 7a 3a 20 7a 6f 6e 65 3b 20 62 61 73 65 20 3a 20 62 79 74 65 3b 20 66 69 72   ┆t (VAR z: zone; base : byte; fir┆
0x17300…17320 73 74 5f 64 69 73 70 2c 20 6c 61 73 74 5f 64 69 73 70 2c 20 0a 77 6f 72 64 73 5f 70 65 72 5f 6c   ┆st_disp, last_disp,  words_per_l┆
0x17320…17340 69 6e 65 20 3a 20 69 6e 74 65 67 65 72 29 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e   ┆ine : integer);     Not predefin┆
0x17340…17360 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 70 72 69 6e 74 73 20 74 68 65 20 6d 65 6d 6f 72   ┆ed.          - ёprints the memor┆
0x17360…17380 79 20 77 6f 72 64 73 3a 20 0d 0a 0d 0a 27 62 61 73 65 2e 66 69 72 73 74 5f 64 69 73 70 27 20 74   ┆y words:     'base.first_disp' t┆
0x17380…173a0 68 72 6f 75 67 68 20 27 62 61 73 65 2e 6c 61 73 74 5f 64 69 73 70 27 20 0d 0a 0d 0a 77 69 74 68   ┆hrough 'base.last_disp'     with┆
0x173a0…173c0 20 74 68 65 20 6c 61 79 6f 75 74 3a 20 0d 0a 0d 0a 3c 61 64 64 72 65 73 73 3e 20 20 3c 77 6f 72   ┆ the layout:     <address>  <wor┆
0x173c0…173e0 64 20 68 65 78 3e 20 20 3c 77 6f 72 64 20 64 65 63 69 6d 61 6c 3e 20 0d 0a 0d 0a 20 3c 4d 53 42   ┆d hex>  <word decimal>      <MSB┆
0x173e0…17400 20 64 65 63 69 6d 61 6c 3e 20 3c 4c 53 42 20 64 65 63 69 6d 61 6c 3e 20 20 20 20 20 20 20 20 77   ┆ decimal> <LSB decimal>        w┆
0x17400…17420 6f 72 64 73 5f 70 65 72 5f 6c 69 6e 65 20 20 3c 4d 53 42 20 63 68 61 72 3e 20 0a 3c 4c 53 42 20   ┆ords_per_line  <MSB char>  <LSB ┆
0x17420…17440 63 68 61 72 3e 20 20 20 20 20 20 20 3c 6e 6c 3e 20 20 20 20 20 20 20 20 31 20 0d 0a 0d 0a 8c 8a   ┆char>       <nl>        1     їі┆
0x17440…17460 a8 0a 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 74 65 72 6d 69 6e 61 74 65 73 20 69 66 20 74 68   ┆е The procedure terminates if th┆
0x17460…17480 65 20 27 73 74 61 74 65 27 20 66 69 65 6c 64 20 6f 66 20 74 68 65 20 7a 6f 6e 65 20 62 65 63 6f   ┆e 'state' field of the zone beco┆
0x17480…174a0 6d 65 73 20 6e 6f 74 20 0a 4f 4b 20 28 3c 3e 20 30 29 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d   ┆mes not  OK (<> 0).          SD ┆
0x174a0…174c0 0a 20 50 72 69 6e 74 5f 64 65 73 63 72 69 70 74 6f 72 20 20 20 20 20 20 20 20 20 0d 0a 50 52 4f   ┆  Print_descriptor           PRO┆
0x174c0…174e0 43 45 44 55 52 45 20 70 72 69 6e 74 5f 64 65 73 63 72 69 70 74 6f 72 20 28 56 41 52 20 7a 20 3a   ┆CEDURE print_descriptor (VAR z :┆
0x174e0…17500 20 7a 6f 6e 65 3b 20 20 20 20 20 20 20 20 20 56 41 52 20 64 20 3a 20 0a 6c 6f 6f 6b 75 70 5f 64   ┆ zone;         VAR d :  lookup_d┆
0x17500…17520 65 73 63 72 69 70 74 6f 72 5f 73 65 67 6d 65 6e 74 29 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64   ┆escriptor_segment);     Not pred┆
0x17520…17540 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 70 72 69 6e 74 73 20 73 65 6c 65 63   ┆efined.          - ёprints selec┆
0x17540…17560 74 65 64 20 66 69 65 6c 64 73 20 66 72 6f 6d 20 74 68 65 20 70 72 65 64 65 66 69 6e 65 64 20 74   ┆ted fields from the predefined t┆
0x17560…17580 79 70 65 20 0a 19 85 80 80 6c 6f 6f 6b 75 70 5f 64 65 73 63 72 69 70 74 6f 72 5f 73 65 67 6d 65   ┆ype   Ёђђlookup_descriptor_segme┆
0x17580…175a0 6e 74 20 77 69 74 68 20 74 68 65 20 6c 61 79 6f 75 74 3a 20 0d 0a 0d 0a 20 50 52 4f 43 45 53 53   ┆nt with the layout:      PROCESS┆
0x175a0…175c0 20 20 20 3c 6e 61 6d 65 3e 3c 64 61 74 65 3e 3c 74 69 6d 65 3e 3c 6e 6f 5f 6f 66 5f 70 61 67 65   ┆   <name><date><time><no_of_page┆
0x175c0…175e0 73 3e 20 20 50 52 4f 43 45 44 55 52 45 20 20 20 20 20 20 20 0a 3c 70 61 67 65 73 69 7a 65 3e 3c   ┆s>  PROCEDURE        <pagesize><┆
0x175e0…17600 6c 61 73 74 5f 70 61 67 65 5f 6c 65 6e 67 74 68 3e 20 20 46 55 4e 43 54 49 4f 4e 20 20 20 20 20   ┆last_page_length>  FUNCTION     ┆
0x17600…17620 20 20 20 3c 64 65 66 61 75 6c 74 20 0a 61 70 70 65 74 69 74 65 3e 3c 6e 6f 5f 6f 66 5f 70 61 72   ┆   <default  appetite><no_of_par┆
0x17620…17640 61 6d 73 3e 3c 6e 6c 3e 20 0d 0a 0d 0a 41 20 72 65 63 6f 72 64 20 6f 66 20 74 79 70 65 20 6c 6f   ┆ams><nl>     A record of type lo┆
0x17640…17660 6f 6b 75 70 5f 64 65 73 63 72 69 70 74 6f 72 5f 73 65 67 6d 65 6e 74 20 6d 61 79 20 62 65 20 6f   ┆okup_descriptor_segment may be o┆
0x17660…17680 62 74 61 69 6e 65 64 20 62 79 20 6d 65 61 6e 73 20 0a 6f 66 20 74 68 65 20 27 73 65 6e 64 6c 69   ┆btained by means  of the 'sendli┆
0x17680…176a0 6e 6b 65 72 20 28 6c 6f 6f 6b 75 70 6e 61 6d 65 29 27 20 72 6f 75 74 69 6e 65 2e 20 53 65 65 20   ┆nker (lookupname)' routine. See ┆
0x176a0…176c0 35 2e 32 2e 31 30 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 20 50 72 69 6e 74 6d 65 73 73 61   ┆5.2.10.          SD   Printmessa┆
0x176c0…176e0 67 65 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 70 72 69 6e 74 6d 65 73 73 61 67 65 20 28 56   ┆ge     PROCEDURE printmessage (V┆
0x176e0…17700 41 52 20 7a 3a 20 7a 6f 6e 65 3b 20 20 20 20 20 56 41 52 20 72 3a 20 72 65 66 65 72 65 6e 63 65   ┆AR z: zone;     VAR r: reference┆
0x17700…17720 3b 20 20 20 20 20 0a 66 69 72 73 74 69 6e 64 65 78 2c 20 20 20 20 20 6c 61 73 74 69 6e 64 65 78   ┆;      firstindex,     lastindex┆
0x17720…17740 2c 20 20 20 20 20 77 6f 72 64 73 5f 70 65 72 5f 6c 69 6e 65 3a 20 69 6e 74 65 67 65 72 29 3b 20   ┆,     words_per_line: integer); ┆
0x17740…17760 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 49 4f 45 4e 56 49 52 2e 20 0d 0a 0d 0a 0d 0a 20 20   ┆    Defined in IOENVIR.         ┆
0x17760…17780 20 2d 20 84 70 72 69 6e 74 73 20 74 68 65 20 66 69 65 6c 64 73 20 66 72 6f 6d 20 74 68 65 20 6d   ┆ - ёprints the fields from the m┆
0x17780…177a0 65 73 73 61 67 65 20 68 65 61 64 65 72 20 61 6e 64 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20   ┆essage header and the specified ┆
0x177a0…177c0 61 72 65 61 20 0a 19 85 80 80 6f 66 20 74 68 65 20 64 61 74 61 20 70 61 72 74 2e 20 54 68 65 20   ┆area   Ёђђof the data part. The ┆
0x177c0…177e0 6d 65 73 73 61 67 65 20 69 73 20 73 75 70 70 6f 73 65 64 20 74 6f 20 62 65 20 6f 66 20 74 79 70   ┆message is supposed to be of typ┆
0x177e0…17800 65 3a 20 0d 0a 0d 0a 62 75 66 66 65 72 20 3d 20 41 52 52 41 59 20 28 30 2e 2e 6d 61 78 29 20 4f   ┆e:     buffer = ARRAY (0..max) O┆
0x17800…17820 46 20 62 79 74 65 20 0d 0a 0d 0a 54 68 65 20 70 72 69 6e 74 65 64 20 61 72 65 61 20 69 73 20 66   ┆F byte     The printed area is f┆
0x17820…17840 72 6f 6d 20 27 62 75 66 66 65 72 20 28 66 69 72 73 74 69 6e 64 65 78 29 27 20 74 6f 20 27 62 75   ┆rom 'buffer (firstindex)' to 'bu┆
0x17840…17860 66 66 65 72 20 28 6c 61 73 74 69 6e 64 65 78 29 27 2e 20 0a 0d 0a 16 53 43 0d 0a 49 6e 70 75 74   ┆ffer (lastindex)'.     SC  Input┆
0x17860…17880 20 0d 0a 54 68 65 20 69 6e 70 75 74 20 70 72 6f 63 65 64 75 72 65 73 20 63 6f 6e 73 69 73 74 20   ┆   The input procedures consist ┆
0x17880…178a0 6f 66 20 72 6f 75 74 69 6e 65 73 20 66 6f 72 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 77 69   ┆of routines for communication wi┆
0x178a0…178c0 74 68 20 74 68 65 20 0a 64 72 69 76 65 72 20 28 4f 50 45 52 41 54 4f 52 29 20 70 72 6f 63 65 73   ┆th the  driver (OPERATOR) proces┆
0x178c0…178e0 73 2c 20 69 2e 65 2e 20 4f 50 49 4e 20 61 6e 64 20 4f 50 57 41 49 54 2c 20 62 65 73 69 64 65 73   ┆s, i.e. OPIN and OPWAIT, besides┆
0x178e0…17900 20 61 20 73 65 74 20 6f 66 20 0a 72 6f 75 74 69 6e 65 73 20 66 6f 72 20 63 6f 6e 76 65 72 74 69   ┆ a set of  routines for converti┆
0x17900…17920 6e 67 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 61 6e 20 69 6e 70 75 74 20 62 75 66 66   ┆ng the contents of an input buff┆
0x17920…17940 65 72 20 74 6f 20 76 61 72 69 61 62 6c 65 73 20 6f 66 20 0a 74 79 70 65 20 27 63 68 61 72 27 2c   ┆er to variables of  type 'char',┆
0x17940…17960 20 27 69 6e 74 65 67 65 72 27 2c 20 6f 72 20 27 61 6c 66 61 27 2e 20 0d 0a 0d 0a 49 66 20 74 68   ┆ 'integer', or 'alfa'.     If th┆
0x17960…17980 65 20 70 72 6f 63 65 73 73 20 77 61 6e 74 73 20 74 6f 20 62 65 20 61 63 74 69 76 61 74 65 64 20   ┆e process wants to be activated ┆
0x17980…179a0 6f 6e 6c 79 20 77 68 65 6e 20 61 6e 20 69 6e 70 75 74 20 6d 65 73 73 61 67 65 20 0a 72 65 74 75   ┆only when an input message  retu┆
0x179a0…179c0 72 6e 73 20 66 72 6f 6d 20 74 68 65 20 64 72 69 76 65 72 2c 20 69 74 20 75 73 65 73 3a 20 0d 0a   ┆rns from the driver, it uses:   ┆
0x179c0…179e0 0d 0a 72 65 66 20 28 7a 2e 64 61 74 61 72 65 61 64 79 29 20 0d 0a 0d 0a 61 73 20 74 68 65 20 61   ┆  ref (z.dataready)     as the a┆
0x179e0…17a00 63 74 75 61 6c 20 70 61 72 61 6d 65 74 65 72 20 27 61 6e 73 77 65 72 27 20 69 6e 20 74 68 65 20   ┆ctual parameter 'answer' in the ┆
0x17a00…17a20 63 61 6c 6c 20 6f 66 20 27 6f 70 65 6e 7a 6f 6e 65 27 20 6f 72 20 0a 27 6f 70 65 6e 6f 70 7a 6f   ┆call of 'openzone' or  'openopzo┆
0x17a20…17a40 6e 65 27 2e 20 0d 0a 0d 0a 4d 6f 72 65 20 63 6f 6d 6d 6f 6e 6c 79 2c 20 74 68 65 20 70 72 6f 63   ┆ne'.     More commonly, the proc┆
0x17a40…17a60 65 73 73 20 69 73 20 61 6c 73 6f 20 61 63 74 69 76 61 74 65 64 20 62 79 20 6f 74 68 65 72 20 65   ┆ess is also activated by other e┆
0x17a60…17a80 76 65 6e 74 73 2e 20 49 6e 20 74 68 61 74 20 0a 73 69 74 75 61 74 69 6f 6e 2c 20 69 74 20 73 70   ┆vents. In that  situation, it sp┆
0x17a80…17aa0 65 63 69 66 69 65 73 3a 20 0d 0a 0d 0a 8c 8a a8 0a 72 65 66 20 28 27 6d 61 69 6e 73 65 6d 61 70   ┆ecifies:     їіе ref ('mainsemap┆
0x17aa0…17ac0 68 6f 72 65 27 29 20 0d 0a 0d 0a 0d 0a 0d 0a 61 73 20 74 68 65 20 61 63 74 75 61 6c 20 70 61 72   ┆hore')         as the actual par┆
0x17ac0…17ae0 61 6d 65 74 65 72 20 27 61 6e 73 77 65 72 27 20 69 6e 20 74 68 65 20 63 61 6c 6c 20 6f 66 20 27   ┆ameter 'answer' in the call of '┆
0x17ae0…17b00 6f 70 65 6e 7a 6f 6e 65 27 20 6f 72 20 0a 27 6f 70 65 6e 6f 70 7a 6f 6e 65 27 20 61 6e 64 20 75   ┆openzone' or  'openopzone' and u┆
0x17b00…17b20 73 65 73 20 27 6f 70 61 6e 73 77 65 72 27 20 74 6f 20 70 6c 61 63 65 20 74 68 65 20 6d 65 73 73   ┆ses 'opanswer' to place the mess┆
0x17b20…17b40 61 67 65 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 0a 7a 6f 6e 65 20 66 6f 72 20 66 75 72 74 68   ┆age in the input  zone for furth┆
0x17b40…17b60 65 72 20 72 65 61 64 69 6e 67 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 4f 70 69 6e 20 20 0d   ┆er reading.          SD  Opin   ┆
0x17b60…17b80 0a 50 52 4f 43 45 44 55 52 45 20 6f 70 69 6e 20 28 56 41 52 20 7a 3a 20 7a 6f 6e 65 29 3b 20 0d   ┆ PROCEDURE opin (VAR z: zone);  ┆
0x17b80…17ba0 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 49 4f 45 4e 56 49 52 2e 20 0d 0a 0d 0a 0d 0a 20 20 20   ┆   Defined in IOENVIR.          ┆
0x17ba0…17bc0 2d 20 84 73 69 67 6e 61 6c 73 20 61 20 6d 65 73 73 61 67 65 20 66 72 6f 6d 20 27 7a 2e 66 72 65   ┆- ёsignals a message from 'z.fre┆
0x17bc0…17be0 65 27 2c 20 69 66 20 61 6e 79 2c 20 74 6f 20 74 68 65 20 64 72 69 76 65 72 20 73 65 6d 61 70 68   ┆e', if any, to the driver semaph┆
0x17be0…17c00 6f 72 65 20 0a 19 85 80 80 27 7a 2e 64 72 69 76 65 72 1f 27 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53   ┆ore   Ёђђ'z.driver '.          S┆
0x17c00…17c20 44 0d 0a 4f 70 77 61 69 74 0d 0a 50 52 4f 43 45 44 55 52 45 20 6f 70 77 61 69 74 20 28 56 41 52   ┆D  Opwait  PROCEDURE opwait (VAR┆
0x17c20…17c40 20 7a 3a 20 7a 6f 6e 65 3b 20 56 41 52 20 69 6e 70 75 74 70 6f 6f 6c 3a 20 70 6f 6f 6c 20 31 29   ┆ z: zone; VAR inputpool: pool 1)┆
0x17c40…17c60 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 49 4f 45 4e 56 49 52 2e 20 0d 0a 0d 0a 0d 0a   ┆;     Defined in IOENVIR.       ┆
0x17c60…17c80 20 20 20 2d 20 84 69 73 20 75 73 65 64 20 74 6f 20 77 61 69 74 20 66 6f 72 20 73 70 65 63 69 66   ┆   - ёis used to wait for specif┆
0x17c80…17ca0 69 63 20 69 6e 70 75 74 20 74 6f 20 74 68 65 20 7a 6f 6e 65 2c 20 77 68 69 63 68 20 72 65 74 75   ┆ic input to the zone, which retu┆
0x17ca0…17cc0 72 6e 73 20 0a 19 85 80 80 64 69 72 65 63 74 6c 79 20 74 6f 20 27 7a 2e 64 61 74 61 72 65 61 64   ┆rns   Ёђђdirectly to 'z.dataread┆
0x17cc0…17ce0 79 27 2c 20 6f 72 20 74 6f 20 61 20 6d 61 69 6e 73 65 6d 61 70 68 6f 72 65 20 74 6f 67 65 74 68   ┆y', or to a mainsemaphore togeth┆
0x17ce0…17d00 65 72 20 77 69 74 68 20 0a 19 85 80 80 6f 74 68 65 72 20 6d 65 73 73 61 67 65 73 2e 20 49 66 20   ┆er with   Ёђђother messages. If ┆
0x17d00…17d20 61 20 6d 65 73 73 61 67 65 20 69 73 20 71 75 65 75 65 64 20 61 74 20 27 7a 2e 64 61 74 61 72 65   ┆a message is queued at 'z.datare┆
0x17d20…17d40 61 64 79 27 2c 20 74 68 69 73 20 0a 19 85 80 80 6d 65 73 73 61 67 65 20 69 73 20 74 61 6b 65 6e   ┆ady', this   Ёђђmessage is taken┆
0x17d40…17d60 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 61 20 77 61 69 74 20 69 73 20 70 65 72 66 6f 72 6d 65 64   ┆. Otherwise, a wait is performed┆
0x17d60…17d80 20 6f 6e 20 27 7a 2e 61 6e 73 77 65 72 1f 27 2e 20 0a 19 85 80 80 27 6f 70 77 61 69 74 27 20 63   ┆ on 'z.answer '.   Ёђђ'opwait' c┆
0x17d80…17da0 68 65 63 6b 73 2c 20 74 68 61 74 20 61 6e 20 61 72 72 69 76 69 6e 67 20 6d 65 73 73 61 67 65 20   ┆hecks, that an arriving message ┆
0x17da0…17dc0 6f 72 69 67 69 6e 61 74 65 73 20 66 72 6f 6d 20 74 68 65 20 0a 19 85 80 80 27 69 6e 70 75 74 70   ┆originates from the   Ёђђ'inputp┆
0x17dc0…17de0 6f 6f 6c 27 20 77 68 65 6e 20 74 68 65 20 7a 6f 6e 65 20 77 61 73 20 6f 70 65 6e 65 64 2c 20 61   ┆ool' when the zone was opened, a┆
0x17de0…17e00 6e 64 20 74 68 61 74 20 28 75 31 20 4d 4f 44 20 38 29 20 3d 20 31 20 0a 19 85 80 80 28 72 65 61   ┆nd that (u1 MOD 8) = 1   Ёђђ(rea┆
0x17e00…17e20 64 29 2e 20 4f 74 68 65 72 20 61 72 72 69 76 69 6e 67 20 6d 65 73 73 61 67 65 73 20 61 72 65 20   ┆d). Other arriving messages are ┆
0x17e20…17e40 71 75 65 75 65 64 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 69 6e 20 74 68 65 20 0a 19 85 80 80 7a   ┆queued temporarily in the   Ёђђz┆
0x17e40…17e60 6f 6e 65 20 75 6e 74 69 6c 20 61 20 7a 6f 6e 65 20 6d 65 73 73 61 67 65 20 72 65 74 75 72 6e 73   ┆one until a zone message returns┆
0x17e60…17e80 2e 20 54 68 65 20 71 75 65 75 65 64 20 6d 65 73 73 61 67 65 73 20 61 72 65 20 70 75 74 20 0a 19   ┆. The queued messages are put   ┆
0x17e80…17ea0 85 80 80 62 61 63 6b 20 69 6e 20 74 68 65 20 6d 61 69 6e 73 65 6d 61 70 68 6f 72 65 20 61 6e 64   ┆Ёђђback in the mainsemaphore and┆
0x17ea0…17ec0 20 74 68 65 20 7a 6f 6e 65 20 6d 65 73 73 61 67 65 20 70 72 65 70 61 72 65 64 20 66 6f 72 20 0a   ┆ the zone message prepared for  ┆
0x17ec0…17ee0 19 85 80 80 6c 61 74 65 72 20 63 61 6c 6c 73 20 6f 66 20 49 4e 43 48 41 52 2e 20 0d 0a 0d 0a 0d   ┆ Ёђђlater calls of INCHAR.      ┆
0x17ee0…17f00 0a 0d 0a 16 53 44 0d 0a 4f 70 61 6e 73 77 65 72 20 20 20 20 20 20 20 20 0d 0a 50 52 4f 43 45 44   ┆    SD  Opanswer          PROCED┆
0x17f00…17f20 55 52 45 20 6f 70 61 6e 73 77 65 72 20 28 56 41 52 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 3b   ┆URE opanswer (VAR r : reference;┆
0x17f20…17f40 20 56 41 52 20 7a 20 3a 20 7a 6f 6e 65 29 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 49   ┆ VAR z : zone);     Defined in I┆
0x17f40…17f60 4f 45 4e 56 49 52 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 73 69 67 6e 61 6c 73 20 74 68 65 20   ┆OENVIR.          - ёsignals the ┆
0x17f60…17f80 6d 65 73 73 61 67 65 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 27 72 27 20 74 6f 20 74 68 65   ┆message referenced by 'r' to the┆
0x17f80…17fa0 20 73 65 6d 61 70 68 6f 72 65 20 0a 19 85 80 80 27 7a 2e 64 61 74 61 72 65 61 64 79 27 2e 20 0d   ┆ semaphore   Ёђђ'z.dataready'.  ┆
0x17fa0…17fc0 0a 0d 0a 54 68 65 20 72 6f 75 74 69 6e 65 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 75   ┆   The routine is intended for u┆
0x17fc0…17fe0 73 65 2c 20 77 68 65 6e 20 74 68 65 20 70 72 6f 63 65 73 73 20 77 61 69 74 73 20 61 74 20 61 20   ┆se, when the process waits at a ┆
0x17fe0…18000 6d 61 69 6e 20 0a 73 65 6d 61 70 68 6f 72 65 20 61 6e 64 20 73 6f 72 74 73 20 6f 75 74 20 61 6c   ┆main  semaphore and sorts out al┆
0x18000…18020 6c 20 61 72 72 69 76 69 6e 67 20 69 6e 70 75 74 20 6d 65 73 73 61 67 65 73 2e 20 0d 0a 0d 0a 0d   ┆l arriving input messages.      ┆
0x18020…18040 0a 0d 0a 16 53 44 0d 0a 4f 70 74 65 73 74 0d 0a 46 55 4e 43 54 49 4f 4e 20 6f 70 74 65 73 74 20   ┆    SD  Optest  FUNCTION optest ┆
0x18040…18060 28 56 41 52 20 7a 3a 20 7a 6f 6e 65 29 3a 20 62 6f 6f 6c 65 61 6e 3b 20 0d 0a 0d 0a 44 65 66 69   ┆(VAR z: zone): boolean;     Defi┆
0x18060…18080 6e 65 64 20 69 6e 20 49 4f 45 4e 56 49 52 2e 20 0d 0a 0d 0a 8c 8b 88 0a 0d 0a 20 20 20 2d 20 84   ┆ned in IOENVIR.     їІѕ      - ё┆
0x18080…180a0 69 73 20 74 72 75 65 20 69 66 20 61 20 6d 65 73 73 61 67 65 20 69 73 20 71 75 65 75 65 64 20 61   ┆is true if a message is queued a┆
0x180a0…180c0 74 20 27 7a 2e 64 61 74 61 72 65 61 64 79 27 2c 20 6f 74 68 65 72 77 69 73 65 20 66 61 6c 73 65   ┆t 'z.dataready', otherwise false┆
0x180c0…180e0 2e 20 0a 19 85 80 80 54 68 69 73 20 6d 61 79 20 62 65 20 75 73 65 64 20 74 6f 20 61 76 6f 69 64   ┆.   ЁђђThis may be used to avoid┆
0x180e0…18100 20 61 20 77 61 69 74 20 69 6e 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 6f 70 77 61 69 74 2e   ┆ a wait in the procedure opwait.┆
0x18100…18120 20 0d 0a 0d 0a 45 78 61 6d 70 6c 65 3a 20 0d 0a 0d 0a 20 20 20 20 20 49 46 20 6f 70 74 65 73 74   ┆     Example:          IF optest┆
0x18120…18140 20 28 7a 29 20 54 48 45 4e 20 20 20 20 20 20 20 20 20 42 45 47 49 4e 20 20 6f 70 77 61 69 74 20   ┆ (z) THEN         BEGIN  opwait ┆
0x18140…18160 28 7a 2c 20 69 6e 70 75 74 70 6f 6f 6c 29 3b 20 20 28 2a 20 0a 70 72 6f 63 65 73 73 20 69 6e 70   ┆(z, inputpool);  (*  process inp┆
0x18160…18180 75 74 64 61 74 61 20 66 72 6f 6d 20 7a 6f 6e 65 20 7a 20 2a 29 20 20 20 20 20 20 20 20 20 45 4e   ┆utdata from zone z *)         EN┆
0x18180…181a0 44 20 20 20 20 20 20 20 20 20 45 4c 53 45 20 20 28 2a 20 64 6f 20 0a 73 6f 6d 65 74 68 69 6e 67   ┆D         ELSE  (* do  something┆
0x181a0…181c0 20 65 6c 73 65 20 2a 29 20 0d 0a 16 53 44 0d 0a 49 6e 63 68 61 72 0d 0a 50 52 4f 43 45 44 55 52   ┆ else *)    SD  Inchar  PROCEDUR┆
0x181c0…181e0 45 20 69 6e 63 68 61 72 20 28 56 41 52 20 7a 3a 20 7a 6f 6e 65 3b 20 56 41 52 20 63 68 3a 20 63   ┆E inchar (VAR z: zone; VAR ch: c┆
0x181e0…18200 68 61 72 29 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 49 4f 45 4e 56 49 52 2e 20 0d 0a   ┆har);     Defined in IOENVIR.   ┆
0x18200…18220 0d 0a 0d 0a 20 20 20 2d 20 84 74 68 65 20 6e 65 78 74 20 63 68 61 72 61 63 74 65 72 20 66 72 6f   ┆       - ёthe next character fro┆
0x18220…18240 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 6d 65 73 73 61 67 65 20 27 7a 2e 63 75 72 27 20 69 73   ┆m the current message 'z.cur' is┆
0x18240…18260 20 72 65 61 64 2e 20 0d 0a 0d 0a 49 66 20 74 68 65 20 6d 65 73 73 61 67 65 20 62 65 63 6f 6d 65   ┆ read.     If the message become┆
0x18260…18280 73 20 65 6d 70 74 79 2c 20 69 74 20 69 73 20 73 69 67 6e 61 6c 6c 65 64 20 74 6f 20 27 7a 2e 66   ┆s empty, it is signalled to 'z.f┆
0x18280…182a0 72 65 65 27 2e 20 0d 0a 0d 0a 41 66 74 65 72 20 74 68 65 20 63 61 6c 6c 20 74 68 65 20 76 61 72   ┆ree'.     After the call the var┆
0x182a0…182c0 69 61 62 6c 65 20 27 7a 2e 72 65 61 64 73 74 61 74 65 27 20 69 6e 64 69 63 61 74 65 73 20 74 68   ┆iable 'z.readstate' indicates th┆
0x182c0…182e0 65 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 0a 7a 6f 6e 65 20 77 69 74 68 20 74 68 65 20 69 6e   ┆e state of the  zone with the in┆
0x182e0…18300 74 65 72 70 72 65 74 61 74 69 6f 6e 3a 20 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆terpretation:     --------------┆
0x18300…18320 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆--------------------------------┆
0x18320…18340 2d 2d 2d 2d 2d 2d 2d 20 21 20 7a 2e 72 65 61 64 73 74 61 74 65 20 21 20 20 20 20 20 20 20 21 20   ┆------- ! z.readstate !       ! ┆
0x18340…18360 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆ -------------------------------┆
0x18360…18380 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 21 20 20 20 20 20 20 20 30   ┆---------------------- !       0┆
0x18380…183a0 20 20 20 20 20 21 20 0a 53 75 63 63 65 73 73 66 75 6c 20 72 65 61 64 69 6e 67 2e 20 20 20 20 20   ┆     !  Successful reading.     ┆
0x183a0…183c0 20 20 21 20 21 20 20 20 20 20 2d 20 31 20 20 20 20 20 21 20 54 68 69 73 20 62 75 66 66 65 72 20   ┆  ! !     - 1     ! This buffer ┆
0x183c0…183e0 77 61 73 20 65 6d 70 74 79 20 0a 62 65 66 6f 72 65 20 63 61 6c 6c 2e 20 20 21 20 21 20 20 20 21   ┆was empty  before call.  ! !   !┆
0x183e0…18400 20 54 68 65 20 63 68 61 72 61 63 74 65 72 20 6e 6c 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20   ┆ The character nl is returned.  ┆
0x18400…18420 20 20 20 20 20 21 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆     ! ------------- -----------┆
0x18420…18440 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 0d 0a   ┆-----------------------------   ┆
0x18440…18460 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 49 6e 69 6e 74 65 67 65 72 20 20 20 20 20 20 20 0d 0a 50 52 4f   ┆       SD  Ininteger         PRO┆
0x18460…18480 43 45 44 55 52 45 20 69 6e 69 6e 74 65 67 65 72 20 28 56 41 52 20 7a 3a 20 7a 6f 6e 65 3b 20 56   ┆CEDURE ininteger (VAR z: zone; V┆
0x18480…184a0 41 52 20 69 3a 20 69 6e 74 65 67 65 72 29 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 49   ┆AR i: integer);     Defined in I┆
0x184a0…184c0 4f 45 4e 56 49 52 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 72 65 61 64 73 20 61 20 64 65 63 69   ┆OENVIR.          - ёreads a deci┆
0x184c0…184e0 6d 61 6c 20 6e 75 6d 62 65 72 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 70 73 65 75   ┆mal number according to the pseu┆
0x184e0…18500 64 6f 20 73 79 6e 74 61 78 3a 20 0d 0a 0d 0a 20 20 20 20 20 20 6e 20 20 20 20 20 31 20 6e 20 2b   ┆do syntax:           n     1 n +┆
0x18500…18520 20 20 20 20 20 20 3c 6e 6f 6e 64 69 67 69 74 3e 20 3c 64 69 67 69 74 3e 20 20 2d 20 20 20 20 20   ┆      <nondigit> <digit>  -     ┆
0x18520…18540 20 20 30 20 20 20 20 20 30 20 31 20 0d 0a 0d 0a 44 69 67 69 74 73 20 61 72 65 20 72 65 61 64 20   ┆  0     0 1     Digits are read ┆
0x18540…18560 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 69 73 20 69 6e 20 74 68 65 20   ┆as long as the number is in the ┆
0x18560…18580 72 61 6e 67 65 20 2d 33 32 37 36 38 2e 2e 33 32 37 36 37 2e 20 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d   ┆range -32768..32767.     -------┆
0x18580…185a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆--------------------------------┆
0x185a0…185c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 21 20 7a 2e 72 65 61 64 73 74 61 74 65 20 21 20 20   ┆-------------- ! z.readstate !  ┆
0x185c0…185e0 20 20 20 20 20 21 20 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆     !  ------------------------┆
0x185e0…18600 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 21 20   ┆----------------------------- ! ┆
0x18600…18620 20 20 20 20 20 20 30 20 20 20 20 20 21 20 41 74 20 0a 6c 65 61 73 74 20 6f 6e 65 20 64 69 67 69   ┆      0     ! At  least one digi┆
0x18620…18640 74 20 69 73 20 72 65 61 64 2e 20 20 20 20 20 20 20 20 20 21 20 21 20 20 20 20 20 2d 20 31 20 20   ┆t is read.         ! !     - 1  ┆
0x18640…18660 20 20 20 21 20 4e 6f 20 64 69 67 69 74 20 77 61 73 20 6d 65 74 20 69 6e 20 0a 74 68 65 20 62 75   ┆   ! No digit was met in  the bu┆
0x18660…18680 66 66 65 72 2e 20 20 20 20 20 21 20 21 20 20 20 21 20 54 68 65 20 62 75 66 66 65 72 20 69 73 20   ┆ffer.     ! !   ! The buffer is ┆
0x18680…186a0 65 6d 70 74 79 20 61 6e 64 20 74 68 65 20 76 61 6c 75 65 20 20 20 21 20 21 20 20 20 21 20 30 20   ┆empty and the value   ! !   ! 0 ┆
0x186a0…186c0 0a 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 21 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆ is returned.  ! ---------------┆
0x186c0…186e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆--------------------------------┆
0x186e0…18700 2d 2d 2d 2d 2d 2d 20 0a 45 78 61 6d 70 6c 65 73 3a 20 20 20 20 20 49 6e 70 75 74 20 20 20 20 20   ┆------  Examples:     Input     ┆
0x18700…18720 20 20 52 65 73 75 6c 74 20 28 69 29 3a 20 0d 0a 0d 0a 0d 0a 0d 0a 20 20 20 20 20 61 20 62 20 63   ┆  Result (i):              a b c┆
0x18720…18740 20 31 20 32 20 2a 20 61 20 62 20 63 20 64 20 65 20 20 20 20 20 20 20 31 32 20 0d 0a 0d 0a 20 20   ┆ 1 2 * a b c d e       12       ┆
0x18740…18760 20 20 20 61 20 62 20 63 20 2b 20 2d 20 2d 20 2b 20 31 20 37 20 39 20 61 20 62 20 20 20 20 31 37   ┆   a b c + - - + 1 7 9 a b    17┆
0x18760…18780 39 20 0d 0a 0d 0a 8c 8a a8 0a 20 20 20 20 20 61 20 62 20 63 20 2b 20 2d 20 30 20 30 20 31 20 32   ┆9     їіе      a b c + - 0 0 1 2┆
0x18780…187a0 20 33 20 34 20 35 20 36 20 37 20 20 20 20 20 20 20 2d 31 32 33 34 35 20 0d 0a 0d 0a 20 20 20 20   ┆ 3 4 5 6 7       -12345         ┆
0x187a0…187c0 20 61 20 62 20 63 20 33 20 32 20 37 20 36 20 38 20 33 32 37 36 20 0d 0a 0d 0a 28 1f 1f 69 6e 64   ┆ a b c 3 2 7 6 8 3276     (  ind┆
0x187c0…187e0 69 63 61 74 65 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 6e 65 78 74 70 20 62 65 66 6f 72 65   ┆icates the value of nextp before┆
0x187e0…18800 20 61 6e 64 20 61 66 74 65 72 20 74 68 65 20 63 61 6c 6c 29 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53   ┆ and after the call).          S┆
0x18800…18820 44 0d 0a 49 6e 68 65 78 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 69 6e 68 65 78 20 28 56 41 52 20   ┆D  Inhex   PROCEDURE inhex (VAR ┆
0x18820…18840 7a 3a 20 7a 6f 6e 65 3b 20 56 41 52 20 69 3a 20 69 6e 74 65 67 65 72 29 3b 20 0d 0a 0d 0a 44 65   ┆z: zone; VAR i: integer);     De┆
0x18840…18860 66 69 6e 65 64 20 69 6e 20 49 4f 45 4e 56 49 52 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 72 65   ┆fined in IOENVIR.          - ёre┆
0x18860…18880 61 64 73 20 61 20 68 65 78 61 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 20 61 63 63 6f 72 64 69   ┆ads a hexadecimal number accordi┆
0x18880…188a0 6e 67 20 74 6f 20 74 68 65 20 70 73 65 75 64 6f 20 73 79 6e 74 61 78 3a 20 0d 0a 0d 0a 20 6e 20   ┆ng to the pseudo syntax:      n ┆
0x188a0…188c0 20 20 20 20 6e 20 20 20 20 20 20 3c 6e 6f 6e 20 68 65 78 20 64 69 67 69 74 3e 20 20 20 20 20 3c   ┆    n      <non hex digit>     <┆
0x188c0…188e0 68 65 78 20 64 69 67 69 74 3e 20 20 20 30 20 20 20 20 20 31 20 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d   ┆hex digit>   0     1     -------┆
0x188e0…18900 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆--------------------------------┆
0x18900…18920 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 21 20 7a 2e 72 65 61 64 73 74 61 74 65 20 21 20 20   ┆-------------- ! z.readstate !  ┆
0x18920…18940 20 20 20 20 20 21 20 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆     !  ------------------------┆
0x18940…18960 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 21 20   ┆----------------------------- ! ┆
0x18960…18980 20 20 20 20 20 20 30 20 20 20 20 20 21 20 41 74 20 0a 6c 65 61 73 74 20 6f 6e 65 20 68 65 78 20   ┆      0     ! At  least one hex ┆
0x18980…189a0 64 69 67 69 74 20 69 73 20 72 65 61 64 2e 20 20 20 20 20 21 20 21 20 20 20 20 20 2d 20 31 20 20   ┆digit is read.     ! !     - 1  ┆
0x189a0…189c0 20 20 20 21 20 4e 6f 20 68 65 78 20 64 69 67 69 74 20 77 61 73 20 0a 6d 65 74 20 69 6e 20 74 68   ┆   ! No hex digit was  met in th┆
0x189c0…189e0 65 20 62 75 66 66 65 72 2e 20 21 20 21 20 20 20 21 20 54 68 65 20 76 61 6c 75 65 20 30 20 69 73   ┆e buffer. ! !   ! The value 0 is┆
0x189e0…18a00 20 72 65 74 75 72 6e 65 64 20 61 6e 64 20 74 68 65 20 20 20 20 20 21 20 21 20 20 20 21 20 0a 62   ┆ returned and the     ! !   !  b┆
0x18a00…18a20 75 66 66 65 72 20 69 73 20 65 6d 70 74 79 20 21 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆uffer is empty ! ---------------┆
0x18a20…18a40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆--------------------------------┆
0x18a40…18a60 2d 2d 2d 2d 2d 2d 20 0d 0a 0d 0a 48 65 78 20 64 69 67 69 74 73 20 61 72 65 20 72 65 61 64 20 61   ┆------     Hex digits are read a┆
0x18a60…18a80 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 69 73 20 69 6e 20 74 68 65 20 72   ┆s long as the number is in the r┆
0x18a80…18aa0 61 6e 67 65 20 0a 1f 1f 68 30 30 30 30 2e 2e 1f 1f 68 66 66 66 66 2e 20 0d 0a 0d 0a 0d 0a 0d 0a   ┆ange    h0000..  hffff.         ┆
0x18aa0…18ac0 16 53 44 0d 0a 49 6e 64 6f 75 62 6c 65 20 20 20 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20   ┆ SD  Indouble         PROCEDURE ┆
0x18ac0…18ae0 69 6e 64 6f 75 62 6c 65 20 28 56 41 52 20 7a 20 3a 20 7a 6f 6e 65 3b 20 56 41 52 20 64 20 3a 20   ┆indouble (VAR z : zone; VAR d : ┆
0x18ae0…18b00 64 6f 75 62 6c 65 29 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 49 4f 45 4e 56 49 52 2e   ┆double);     Defined in IOENVIR.┆
0x18b00…18b20 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 77 6f 72 6b 73 20 61 73 20 49 4e 49 4e 54 45 47 45 52 20   ┆          - ёworks as ININTEGER ┆
0x18b20…18b40 65 78 63 65 70 74 20 74 68 61 74 20 72 65 61 64 69 6e 67 20 69 73 20 69 6e 20 74 68 65 20 72 61   ┆except that reading is in the ra┆
0x18b40…18b60 6e 67 65 20 2d 0a 19 85 80 80 32 31 34 37 34 38 33 36 34 38 2e 2e 32 31 34 37 34 38 33 36 34 37   ┆nge -  Ёђђ2147483648..2147483647┆
0x18b60…18b80 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 49 6e 6e 61 6d 65 0d 0a 50 52 4f 43 45 44 55 52 45   ┆.          SD  Inname  PROCEDURE┆
0x18b80…18ba0 20 69 6e 6e 61 6d 65 20 28 56 41 52 20 7a 3a 20 7a 6f 6e 65 3b 20 56 41 52 20 6e 61 6d 65 3a 20   ┆ inname (VAR z: zone; VAR name: ┆
0x18ba0…18bc0 61 6c 66 61 29 3b 20 0d 0a 0d 0a 44 65 66 69 6e 65 64 20 69 6e 20 49 4f 45 4e 56 49 52 2e 20 0d   ┆alfa);     Defined in IOENVIR.  ┆
0x18bc0…18be0 0a 0d 0a 0d 0a 20 20 20 2d 20 84 72 65 61 64 73 20 61 20 6e 61 6d 65 20 6f 66 20 6d 61 78 69 6d   ┆        - ёreads a name of maxim┆
0x18be0…18c00 75 6d 20 31 32 20 63 68 61 72 61 63 74 65 72 73 20 61 66 74 65 72 20 74 68 65 20 73 79 6e 74 61   ┆um 12 characters after the synta┆
0x18c00…18c20 78 3a 20 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 6e 20 20 20 20 20 20 20 31 31 20 20 3c 6e 6f 74   ┆x:              n       11  <not┆
0x18c20…18c40 20 6c 65 74 74 65 72 20 6f 72 20 5f 3e 20 20 20 3c 6c 65 74 74 65 72 20 6f 72 20 5f 3e 20 20 3c   ┆ letter or _>   <letter or _>  <┆
0x18c40…18c60 6c 65 74 74 65 72 2c 20 64 69 67 69 74 20 0a 6f 72 20 5f 3e 20 30 20 20 20 20 20 20 20 30 20 0d   ┆letter, digit  or _> 0       0  ┆
0x18c60…18c80 0a 0d 0a 0d 0a 0d 0a 20 20 20 20 20 45 78 61 6d 70 6c 65 3a 20 52 65 73 75 6c 74 3a 20 0d 0a 0d   ┆            Example: Result:    ┆
0x18c80…18ca0 0a 0d 0a 0d 0a 8c 8a d8 0a 20 20 20 20 20 61 20 62 63 20 20 20 20 20 61 20 0d 0a 0d 0a 20 5f 61   ┆     їіп      a bc     a      _a┆
0x18ca0…18cc0 62 63 38 39 5f 36 63 3b 20 20 20 5f 61 62 63 38 39 5f 36 63 20 0d 0a 0d 0a 20 20 20 20 20 20 20   ┆bc89_6c;   _abc89_6c            ┆
0x18cc0…18ce0 20 31 32 61 62 20 20 61 62 20 0d 0a 0d 0a 0d 0a 0d 0a 54 68 65 20 63 68 61 72 61 63 74 65 72 73   ┆ 12ab  ab         The characters┆
0x18ce0…18d00 20 61 72 65 20 64 65 6c 69 76 65 72 65 64 20 69 6e 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20   ┆ are delivered in the parameter ┆
0x18d00…18d20 27 6e 61 6d 65 27 20 66 72 6f 6d 20 6c 65 66 74 20 74 6f 20 0a 72 69 67 68 74 2e 20 27 6e 61 6d   ┆'name' from left to  right. 'nam┆
0x18d20…18d40 65 27 20 69 73 20 6e 6f 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 62 79 20 27 69 6e 6e 61 6d 65   ┆e' is not initialized by 'inname┆
0x18d40…18d60 27 2c 20 73 6f 20 27 6e 61 6d 65 27 20 6d 75 73 74 20 62 65 20 0a 69 6e 69 74 69 61 6c 69 7a 65   ┆', so 'name' must be  initialize┆
0x18d60…18d80 64 20 62 65 66 6f 72 65 20 74 68 65 20 63 61 6c 6c 2e 20 54 68 65 20 76 61 72 69 61 62 6c 65 20   ┆d before the call. The variable ┆
0x18d80…18da0 27 7a 2e 6e 65 78 74 70 27 20 6d 61 79 20 62 65 20 75 73 65 64 20 74 6f 20 0a 63 61 6c 63 75 6c   ┆'z.nextp' may be used to  calcul┆
0x18da0…18dc0 61 74 65 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 72 65 61   ┆ate the number of characters rea┆
0x18dc0…18de0 64 20 28 69 6e 63 6c 75 73 69 76 65 20 6c 65 61 64 69 6e 67 20 62 6c 61 6e 6b 73 29 2e 20 0d 0a   ┆d (inclusive leading blanks).   ┆
0x18de0…18e00 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆  ------------------------------┆
0x18e00…18e20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 21 20 7a 2e 72 65 61 64   ┆----------------------- ! z.read┆
0x18e20…18e40 73 74 61 74 65 20 21 20 20 20 20 20 20 20 21 20 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆state !       !  ---------------┆
0x18e40…18e60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆--------------------------------┆
0x18e60…18e80 2d 2d 2d 2d 2d 2d 20 21 20 20 20 20 20 20 20 30 20 20 20 20 20 21 20 41 74 20 0a 6c 65 61 73 74   ┆------ !       0     ! At  least┆
0x18e80…18ea0 20 6f 6e 65 20 3c 6c 65 74 74 65 72 20 6f 72 20 5f 3e 20 69 73 20 20 20 20 20 20 20 21 20 21 20   ┆ one <letter or _> is       ! ! ┆
0x18ea0…18ec0 20 20 21 20 74 72 61 6e 73 66 65 72 72 65 64 20 74 6f 20 27 6e 61 6d 65 27 2e 20 20 20 20 21 20   ┆  ! transferred to 'name'.    ! ┆
0x18ec0…18ee0 21 20 20 20 20 20 0a 2d 20 31 20 20 20 20 20 21 20 4e 6f 20 3c 6c 65 74 74 65 72 20 6f 72 20 5f   ┆!      - 1     ! No <letter or _┆
0x18ee0…18f00 3e 20 77 61 73 20 6d 65 74 20 69 6e 20 74 68 65 20 20 20 20 20 21 20 21 20 20 20 21 20 62 75 66   ┆> was met in the     ! !   ! buf┆
0x18f00…18f20 66 65 72 2e 20 54 68 65 20 0a 62 75 66 66 65 72 20 69 73 20 65 6d 70 74 79 20 61 6e 64 20 20 20   ┆fer. The  buffer is empty and   ┆
0x18f20…18f40 20 20 21 20 21 20 20 20 21 20 70 6f 73 73 69 62 6c 79 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 73   ┆  ! !   ! possibly a number of s┆
0x18f40…18f60 70 61 63 65 73 20 77 61 73 20 20 20 20 20 21 20 0a 21 20 20 20 21 20 73 6b 69 70 70 65 64 2e 20   ┆paces was     !  !   ! skipped. ┆
0x18f60…18f80 20 20 20 20 20 20 20 21 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆       ! -----------------------┆
0x18f80…18fa0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 0d   ┆------------------------------  ┆
0x18fa0…18fc0 0a 16 53 44 0d 0a 20 49 6e 77 69 6c 64 6e 61 6d 65 20 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52   ┆  SD   Inwildname       PROCEDUR┆
0x18fc0…18fe0 45 20 69 6e 77 69 6c 64 6e 61 6d 65 20 28 20 20 20 20 20 20 56 41 52 20 7a 20 3a 20 7a 6f 6e 65   ┆E inwildname (      VAR z : zone┆
0x18fe0…19000 3b 20 56 41 52 20 6e 61 6d 65 20 3a 20 61 6c 66 61 29 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64   ┆; VAR name : alfa);     Not pred┆
0x19000…19020 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 57 6f 72 6b 73 20 61 73 20 74 68 65   ┆efined.          - ёWorks as the┆
0x19020…19040 20 72 6f 75 74 69 6e 65 20 49 4e 4e 41 4d 45 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20   ┆ routine INNAME except that the ┆
0x19040…19060 6c 65 67 61 6c 20 63 68 61 72 61 63 74 65 72 73 20 0a 19 85 80 80 61 72 65 20 65 78 74 65 6e 64   ┆legal characters   Ёђђare extend┆
0x19060…19080 65 64 20 77 69 74 68 20 74 68 65 20 77 69 6c 64 20 63 68 61 72 61 63 74 65 72 20 22 2a 22 2e 20   ┆ed with the wild character "*". ┆
0x19080…190a0 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 41 64 76 61 6e 63 65 64 1f 55 73 65 20 20 20 0d 0a 42 65   ┆         SC  Advanced Use     Be┆
0x190a0…190c0 73 69 64 65 73 20 74 68 65 20 6f 72 64 69 6e 61 72 79 20 75 73 65 20 6f 66 20 74 68 65 20 4f 50   ┆sides the ordinary use of the OP┆
0x190c0…190e0 45 52 41 54 4f 52 20 74 6f 20 73 65 6e 64 20 6f 75 74 70 75 74 20 61 6e 64 20 0a 72 65 63 65 69   ┆ERATOR to send output and  recei┆
0x190e0…19100 76 65 20 69 6e 70 75 74 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e 73 6f 6c 65 2c 20 61 64 64 69 74   ┆ve input from the console, addit┆
0x19100…19120 69 6f 6e 61 6c 20 66 61 63 69 6c 69 74 69 65 73 20 61 72 65 20 6f 66 66 65 72 65 64 2e 20 54 68   ┆ional facilities are offered. Th┆
0x19120…19140 65 73 65 20 0a 73 65 72 76 69 63 65 73 20 61 72 65 20 72 65 71 75 65 73 74 65 64 20 62 79 20 73   ┆ese  services are requested by s┆
0x19140…19160 65 6e 64 69 6e 67 20 61 20 6d 65 73 73 61 67 65 20 74 6f 20 74 68 65 20 4f 50 45 52 41 54 4f 52   ┆ending a message to the OPERATOR┆
0x19160…19180 20 61 73 6b 69 6e 67 20 0a 66 6f 72 20 74 68 65 20 77 61 6e 74 65 64 20 66 61 63 69 6c 69 74 79   ┆ asking  for the wanted facility┆
0x19180…191a0 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 49 6e 70 75 74 1f 2d 1f 4f 75 74 70 75 74 1f 4d 6f   ┆.          SD  Input - Output Mo┆
0x191a0…191c0 64 65 20 20 20 20 20 20 20 0d 0a 4e 6f 72 6d 61 6c 6c 79 20 4f 50 45 52 41 54 4f 52 20 73 65 6e   ┆de         Normally OPERATOR sen┆
0x191c0…191e0 64 73 20 6f 75 74 70 75 74 20 74 6f 20 74 68 65 20 63 6f 6e 73 6f 6c 65 20 61 6e 64 20 72 65 63   ┆ds output to the console and rec┆
0x191e0…19200 65 69 76 65 73 20 69 6e 70 75 74 20 0a 66 72 6f 6d 20 74 68 65 20 63 6f 6e 73 6f 6c 65 2e 20 0d   ┆eives input  from the console.  ┆
0x19200…19220 0a 0d 0a 4f 6e 20 72 65 71 75 65 73 74 20 4f 50 45 52 41 54 4f 52 20 77 69 6c 6c 20 73 65 6e 64   ┆   On request OPERATOR will send┆
0x19220…19240 20 6f 75 74 70 75 74 20 74 6f 20 0d 0a 20 20 20 2d 20 84 74 68 65 20 63 6f 6e 73 6f 6c 65 20 0d   ┆ output to      - ёthe console  ┆
0x19240…19260 0a 20 20 20 2d 20 84 61 6e 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 72 65 71 75 65 73 74 69 6e 67   ┆    - ёan incarnation requesting┆
0x19260…19280 20 74 68 65 20 6f 75 74 70 75 74 20 0d 0a 0d 0a 4f 6e 20 72 65 71 75 65 73 74 20 4f 50 45 52 41   ┆ the output     On request OPERA┆
0x19280…192a0 54 4f 52 20 77 69 6c 6c 20 73 65 6e 64 20 69 6e 70 75 74 20 6d 65 73 73 61 67 65 20 74 6f 20 28   ┆TOR will send input message to (┆
0x192a0…192c0 72 65 63 65 69 76 65 20 69 6e 70 75 74 20 0a 66 72 6f 6d 29 20 0d 0a 20 20 20 2d 20 84 74 68 65   ┆receive input  from)      - ёthe┆
0x192c0…192e0 20 63 6f 6e 73 6f 6c 65 20 0d 0a 20 20 20 2d 20 84 61 6e 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20   ┆ console      - ёan incarnation ┆
0x192e0…19300 72 65 71 75 65 73 74 69 6e 67 20 74 68 65 20 69 6e 70 75 74 20 6d 65 73 73 61 67 65 20 28 61 6e   ┆requesting the input message (an┆
0x19300…19320 64 20 67 65 6e 65 72 61 74 69 6e 67 20 0a 19 85 80 80 69 6e 70 75 74 29 20 0d 0a 0d 0a 54 68 65   ┆d generating   Ёђђinput)     The┆
0x19320…19340 72 65 20 61 72 65 20 66 6f 75 72 20 69 2f 6f 20 6d 6f 64 65 73 3a 20 6c 6f 63 5f 69 5f 67 6c 6f   ┆re are four i/o modes: loc_i_glo┆
0x19340…19360 62 5f 6f 1f 1f 1f 28 30 29 3a 1f 69 6e 70 75 74 20 66 72 6f 6d 20 63 6f 6e 73 6f 6c 65 20 0a 6f   ┆b_o   (0): input from console  o┆
0x19360…19380 75 74 70 75 74 20 74 6f 20 72 65 71 75 65 73 74 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 6c 6f 63   ┆utput to request incarnation loc┆
0x19380…193a0 5f 69 5f 6c 6f 63 5f 6f 1f 1f 1f 1f 28 31 29 3a 1f 69 6e 70 75 74 20 66 72 6f 6d 20 63 6f 6e 73   ┆_i_loc_o    (1): input from cons┆
0x193a0…193c0 6f 6c 65 20 0a 6f 75 74 70 75 74 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 67 6c 6f 62 5f 69 5f 6c 6f   ┆ole  output to console glob_i_lo┆
0x193c0…193e0 63 5f 6f 1f 1f 1f 28 32 29 3a 1f 69 6e 70 75 74 20 66 72 6f 6d 20 72 65 71 75 65 73 74 20 69 6e   ┆c_o   (2): input from request in┆
0x193e0…19400 63 61 72 6e 61 74 69 6f 6e 20 0a 6f 75 74 70 75 74 20 74 6f 20 63 6f 6e 73 6f 6c 65 20 67 6c 6f   ┆carnation  output to console glo┆
0x19400…19420 62 5f 69 5f 67 6c 6f 62 5f 6f 1f 1f 28 33 29 3a 1f 69 6e 70 75 74 20 66 72 6f 6d 20 72 65 71 75   ┆b_i_glob_o  (3): input from requ┆
0x19420…19440 65 73 74 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 0a 6f 75 74 70 75 74 20 74 6f 20 72 65 71 75 65   ┆est incarnation  output to reque┆
0x19440…19460 73 74 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 0d 0a 0d 0a 0d 0a 0d 0a 8c 8b a0 0a 44 65 66 61 75   ┆st incarnation         їІа Defau┆
0x19460…19480 6c 74 20 6d 6f 64 65 20 69 73 20 27 6c 6f 63 5f 69 5f 6c 6f 63 5f 6f 27 2e 20 0d 0a 0d 0a 54 68   ┆lt mode is 'loc_i_loc_o'.     Th┆
0x19480…194a0 65 20 6d 6f 64 65 20 27 6c 6f 63 5f 69 5f 6c 6f 63 5f 6f 27 20 69 73 20 6b 65 70 74 20 75 6e 63   ┆e mode 'loc_i_loc_o' is kept unc┆
0x194a0…194c0 68 61 6e 67 65 64 20 75 6e 74 69 6c 20 61 20 63 68 61 6e 67 65 20 6d 6f 64 65 20 72 65 71 75 65   ┆hanged until a change mode reque┆
0x194c0…194e0 73 74 20 0a 69 73 20 72 65 63 65 69 76 65 64 2e 20 0d 0a 0d 0a 54 68 65 20 6d 6f 64 65 73 20 61   ┆st  is received.     The modes a┆
0x194e0…19500 72 65 20 72 65 73 65 74 20 74 6f 20 27 6c 6f 63 5f 69 5f 6c 6f 63 5f 6f 27 20 61 66 74 65 72 20   ┆re reset to 'loc_i_loc_o' after ┆
0x19500…19520 33 30 20 73 65 63 6f 6e 64 73 2c 20 69 66 20 6e 6f 20 0a 69 6e 63 61 72 6e 61 74 69 6f 6e 20 72   ┆30 seconds, if no  incarnation r┆
0x19520…19540 65 71 75 65 73 74 20 74 68 65 20 6d 65 73 73 61 67 65 73 2e 20 4f 74 68 65 72 77 69 73 65 2c 20   ┆equest the messages. Otherwise, ┆
0x19540…19560 74 68 65 20 6d 6f 64 65 20 69 73 20 6b 65 70 74 20 66 6f 72 20 61 20 0a 6e 65 77 20 70 65 72 69   ┆the mode is kept for a  new peri┆
0x19560…19580 6f 64 20 6f 66 20 33 30 20 73 65 63 6f 6e 64 73 2e 20 0d 0a 0d 0a 53 65 63 74 69 6f 6e 20 34 2e   ┆od of 30 seconds.     Section 4.┆
0x19580…195a0 37 2e 34 2e 32 20 6f 6e 20 65 76 65 6e 74 73 20 64 65 73 63 72 69 62 65 73 20 68 6f 77 20 61 6e   ┆7.4.2 on events describes how an┆
0x195a0…195c0 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 63 61 6e 20 75 73 65 20 74 68 65 20 0a 65 76 65 6e 74 20   ┆ incarnation can use the  event ┆
0x195c0…195e0 6d 65 63 68 61 6e 69 73 6d 20 74 6f 20 6d 61 6e 69 70 75 6c 61 74 65 20 74 68 65 20 69 6e 70 75   ┆mechanism to manipulate the inpu┆
0x195e0…19600 74 20 2d 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 73 2e 20 0d 0a 0d 0a 54 68 65 20 63 68 61 6e   ┆t - output streams.     The chan┆
0x19600…19620 67 65 20 6f 66 20 69 2f 6f 20 6d 6f 64 65 20 69 73 20 72 65 71 75 65 73 74 65 64 20 62 79 20 73   ┆ge of i/o mode is requested by s┆
0x19620…19640 65 6e 64 69 6e 67 20 61 20 63 68 61 6e 67 65 20 6d 65 73 73 61 67 65 20 74 6f 20 0a 74 68 65 20   ┆ending a change message to  the ┆
0x19640…19660 4f 50 45 52 41 54 4f 52 20 73 65 6d 61 70 68 6f 72 65 2e 20 0d 0a 0d 0a 1f 1f 1f 1f 1f 1f 1f 1f   ┆OPERATOR semaphore.             ┆
0x19660…19680 1f 1f 74 6f 1f 4f 50 45 52 41 54 4f 52 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 66 72 6f 6d 1f   ┆  to OPERATOR              from ┆
0x19680…196a0 4f 50 45 52 41 54 4f 52 20 0a 1f 1f 75 31 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 30 1f 1f 1f 1f 1f 1f   ┆OPERATOR    u1           0      ┆
0x196a0…196c0 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 75 6e 63 68 61 6e 67 65 64 20 1f 1f 75 32 1f 1f 1f   ┆               unchanged   u2   ┆
0x196c0…196e0 1f 1f 1f 1f 1f 0d 0a 20 20 20 2d 20 84 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f   ┆          - ё                   ┆
0x196e0…19700 1f 1f 1f 1f 1f 6f 6b 20 0a 19 85 80 80 1f 1f 75 33 1f 1f 1f 1f 1f 1f 77 61 6e 74 65 64 1f 6d 6f   ┆     ok   Ёђђ  u3      wanted mo┆
0x19700…19720 64 65 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 75 6e 63 68 61 6e 67 65 64 20 0a 19 85 80   ┆de                unchanged   Ёђ┆
0x19720…19740 80 1f 1f 75 34 1f 1f 1f 1f 1f 1f 1f 1f 0d 0a 20 20 20 2d 20 84 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f   ┆ђ  u4             - ё           ┆
0x19740…19760 1f 1f 1f 1f 1f 1f 1f 1f 1f 75 6e 63 68 61 6e 67 65 64 20 0d 0a 0d 0a 41 6e 20 69 6e 63 61 72 6e   ┆         unchanged     An incarn┆
0x19760…19780 61 74 69 6f 6e 20 72 65 71 75 65 73 74 73 20 74 68 65 20 6d 65 73 73 61 67 65 73 20 69 6e 20 61   ┆ation requests the messages in a┆
0x19780…197a0 63 63 6f 72 64 61 6e 63 65 20 77 69 74 68 20 74 68 65 20 61 63 74 75 61 6c 20 0a 69 2f 6f 20 6d   ┆ccordance with the actual  i/o m┆
0x197a0…197c0 6f 64 65 20 62 79 20 73 65 6e 64 69 6e 67 20 61 20 72 65 71 75 65 73 74 20 6d 65 73 73 61 67 65   ┆ode by sending a request message┆
0x197c0…197e0 20 74 6f 20 74 68 65 20 4f 50 45 52 41 54 4f 52 20 20 20 0a 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 74 6f   ┆ to the OPERATOR              to┆
0x197e0…19800 1f 4f 50 45 52 41 54 4f 52 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 66 72 6f 6d 1f 4f 50 45 52   ┆ OPERATOR              from OPER┆
0x19800…19820 41 54 4f 52 20 0a 1f 1f 75 31 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 31 32 1f 1f 1f 1f 1f 1f 1f 1f 1f   ┆ATOR    u1           12         ┆
0x19820…19840 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 75 6e 63 68 61 6e 67 65 64 20 1f 1f 75 32 1f 1f 1f 1f 1f 1f 1f   ┆           unchanged   u2       ┆
0x19840…19860 1f 0d 0a 20 20 20 2d 20 84 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 72   ┆      - ё                      r┆
0x19860…19880 65 73 75 6c 74 20 1f 1f 75 33 1f 1f 1f 1f 1f 1f 1f 1f 0d 0a 19 85 80 80 20 20 20 2d 20 84 1f 1f   ┆esult   u3           Ёђђ   - ё  ┆
0x19880…198a0 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 75 6e 63 68 61 6e 67 65 64 20 1f 1f 75 34   ┆                  unchanged   u4┆
0x198a0…198c0 1f 1f 1f 1f 1f 1f 1f 1f 0d 0a 19 8a 80 80 20 20 20 2d 20 84 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f   ┆           іђђ   - ё            ┆
0x198c0…198e0 1f 1f 1f 1f 1f 1f 1f 1f 75 6e 63 68 61 6e 67 65 64 20 0d 0a 0d 0a 54 68 65 20 72 65 71 75 65 73   ┆        unchanged     The reques┆
0x198e0…19900 74 20 6d 65 73 73 61 67 65 20 69 73 20 70 6c 61 63 65 64 20 69 6e 20 61 20 71 75 65 75 65 20 6f   ┆t message is placed in a queue o┆
0x19900…19920 66 20 77 61 69 74 69 6e 67 20 72 65 71 75 65 73 74 20 0a 6d 65 73 73 61 67 65 73 2e 20 0d 0a 0d   ┆f waiting request  messages.    ┆
0x19920…19940 0a 54 68 65 20 77 61 69 74 69 6e 67 20 69 6e 70 75 74 20 6d 65 73 73 61 67 65 73 20 61 6e 64 2f   ┆ The waiting input messages and/┆
0x19940…19960 6f 72 20 6f 75 74 70 75 74 20 6d 65 73 73 61 67 65 73 20 69 6e 20 61 63 63 6f 72 64 61 6e 63 65   ┆or output messages in accordance┆
0x19960…19980 20 0a 77 69 74 68 20 69 2f 6f 20 6d 6f 64 65 20 61 72 65 20 73 74 61 63 6b 65 64 20 61 6e 64 20   ┆  with i/o mode are stacked and ┆
0x19980…199a0 74 68 65 20 66 69 72 73 74 20 72 65 71 75 65 73 74 20 6d 65 73 73 61 67 65 20 69 73 20 70 75 73   ┆the first request message is pus┆
0x199a0…199c0 68 65 64 20 0a 75 70 6f 6e 20 74 68 65 20 73 74 61 63 6b 2e 20 46 69 6e 61 6c 6c 79 20 74 68 65   ┆hed  upon the stack. Finally the┆
0x199c0…199e0 20 73 74 61 63 6b 20 69 73 20 72 65 74 75 72 6e 65 64 20 74 6f 20 74 68 65 20 61 6e 73 77 65 72   ┆ stack is returned to the answer┆
0x199e0…19a00 20 73 65 6d 61 70 68 6f 72 65 20 0a 6f 66 20 74 68 65 20 72 65 71 75 65 73 74 20 6d 65 73 73 61   ┆ semaphore  of the request messa┆
0x19a00…19a20 67 65 2e 20 0d 0a 0d 0a 52 65 73 75 6c 74 73 20 20 4d 65 61 6e 69 6e 67 20 20 20 20 20 30 20 20   ┆ge.     Results  Meaning     0  ┆
0x19a20…19a40 20 20 6f 6b 2c 20 73 6f 6d 65 20 62 75 66 66 65 72 73 20 61 72 65 20 72 65 74 75 72 6e 65 64 20   ┆  ok, some buffers are returned ┆
0x19a40…19a60 20 20 20 20 31 20 20 20 20 0a 6e 6f 74 5f 70 72 6f 63 65 73 73 65 64 2c 20 69 2f 6f 20 6d 6f 64   ┆    1     not_processed, i/o mod┆
0x19a60…19a80 65 20 77 61 73 20 6c 6f 63 5f 69 5f 6c 6f 63 5f 6f 20 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 45 76 65   ┆e was loc_i_loc_o        SD  Eve┆
0x19a80…19aa0 6e 74 73 20 20 20 20 20 20 20 20 20 0d 0a 49 6e 63 61 72 6e 61 74 69 6f 6e 73 20 6d 61 79 20 73   ┆nts           Incarnations may s┆
0x19aa0…19ac0 65 6e 64 20 73 6f 6d 65 20 65 76 65 6e 74 20 6d 65 73 73 61 67 65 73 20 74 6f 20 74 68 65 20 4f   ┆end some event messages to the O┆
0x19ac0…19ae0 50 45 52 41 54 4f 52 2e 20 0d 0a 0d 0a 45 76 65 6e 74 20 6d 65 73 73 61 67 65 73 20 61 72 65 20   ┆PERATOR.     Event messages are ┆
0x19ae0…19b00 71 75 65 75 65 64 20 75 6e 74 69 6c 20 0d 0a 20 20 20 2d 20 84 74 68 65 79 20 61 72 65 20 72 65   ┆queued until      - ёthey are re┆
0x19b00…19b20 67 72 65 74 74 65 64 20 28 73 65 65 20 73 65 63 74 69 6f 6e 20 34 2e 37 2e 34 2e 33 29 20 0d 0a   ┆gretted (see section 4.7.4.3)   ┆
0x19b20…19b40 20 20 20 2d 20 84 74 68 65 20 6f 70 65 72 61 74 6f 72 20 70 72 65 73 73 65 73 20 27 45 53 43 27   ┆   - ёthe operator presses 'ESC'┆
0x19b40…19b60 20 61 6e 64 20 74 79 70 65 73 20 74 68 65 20 27 6e 61 6d 65 27 20 6f 66 20 74 68 65 20 65 76 65   ┆ and types the 'name' of the eve┆
0x19b60…19b80 6e 74 20 0a 19 85 80 80 6d 65 73 73 61 67 65 2e 20 0d 0a 0d 0a 45 76 65 6e 74 20 6d 65 73 73 61   ┆nt   Ёђђmessage.     Event messa┆
0x19b80…19ba0 67 65 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 62 79 20 69 6e 63 61 72 6e 61 74 69 6f 6e 73 20   ┆ges can be used by incarnations ┆
0x19ba0…19bc0 74 6f 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20 69 6e 70 75 74 20 2d 20 0a 6f 75 74 70 75 74 20 73   ┆to control the input -  output s┆
0x19bc0…19be0 74 72 65 61 6d 73 20 61 73 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f   ┆treams as described in the follo┆
0x19be0…19c00 77 69 6e 67 20 65 78 61 6d 70 6c 65 3a 20 41 6e 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 0a 6e 6f   ┆wing example: An incarnation  no┆
0x19c00…19c20 72 6d 61 6c 6c 79 20 73 65 6e 64 73 20 6f 75 74 70 75 74 20 74 6f 20 61 6e 64 20 72 65 63 69 65   ┆rmally sends output to and recie┆
0x19c20…19c40 76 65 73 20 69 6e 70 75 74 20 66 72 6f 6d 20 72 65 71 75 65 73 74 20 69 6e 63 61 72 6e 61 74 69   ┆ves input from request incarnati┆
0x19c40…19c60 6f 6e 73 2c 20 0a 62 75 74 20 73 6f 6d 65 74 69 6d 65 73 20 74 68 65 20 6f 70 65 72 61 74 6f 72   ┆ons,  but sometimes the operator┆
0x19c60…19c80 20 77 61 6e 74 73 20 74 6f 20 73 65 6e 64 20 61 20 63 6f 6d 6d 61 6e 64 20 66 72 6f 6d 20 74 68   ┆ wants to send a command from th┆
0x19c80…19ca0 65 20 0a 63 6f 6e 73 6f 6c 65 2e 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 74 68 65 20 69 6e   ┆e  console. In this case, the in┆
0x19ca0…19cc0 63 61 72 6e 61 74 69 6f 6e 3a 20 0d 0a 20 20 20 2d 20 84 73 65 6e 64 73 20 61 6e 20 65 76 65 6e   ┆carnation:      - ёsends an even┆
0x19cc0…19ce0 74 20 6d 65 73 73 61 67 65 20 74 6f 20 4f 50 45 52 41 54 4f 52 20 77 69 74 68 20 74 68 65 20 6e   ┆t message to OPERATOR with the n┆
0x19ce0…19d00 61 6d 65 20 73 65 74 20 74 6f 20 0a 19 85 80 80 27 63 6f 6d 6d 61 6e 64 27 20 0d 0a 20 20 20 2d   ┆ame set to   Ёђђ'command'      -┆
0x19d00…19d20 20 84 72 65 71 75 65 73 74 73 20 27 67 6c 6f 62 5f 69 5f 67 6c 6f 62 5f 6f 27 20 6d 6f 64 65 20   ┆ ёrequests 'glob_i_glob_o' mode ┆
0x19d20…19d40 63 6f 6e 74 69 6e 75 6f 73 6c 79 2e 20 0d 0a 0d 0a 8c 8b 88 0a 57 68 65 6e 20 74 68 65 20 6f 70   ┆continuosly.     їІѕ When the op┆
0x19d40…19d60 65 72 61 74 6f 72 20 70 72 65 73 73 65 73 20 27 45 53 43 27 20 61 6e 64 20 74 79 70 65 73 20 27   ┆erator presses 'ESC' and types '┆
0x19d60…19d80 63 6f 6d 6d 61 6e 64 27 2c 20 74 68 65 20 65 76 65 6e 74 20 0a 6d 65 73 73 61 67 65 20 69 73 20   ┆command', the event  message is ┆
0x19d80…19da0 72 65 74 75 72 6e 65 64 2e 20 4e 6f 77 20 74 68 65 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 63 61   ┆returned. Now the incarnation ca┆
0x19da0…19dc0 6e 20 63 68 61 6e 67 65 20 69 2f 6f 20 6d 6f 64 65 20 0a 61 63 63 6f 72 64 69 6e 67 20 74 6f 20   ┆n change i/o mode  according to ┆
0x19dc0…19de0 74 68 65 20 6e 65 65 64 2c 20 61 6e 64 20 6c 61 74 65 72 20 63 6f 6e 74 69 6e 75 65 20 77 69 74   ┆the need, and later continue wit┆
0x19de0…19e00 68 20 74 68 65 20 27 67 6c 6f 62 5f 69 5f 67 6c 6f 62 5f 6f 27 20 0a 6d 6f 64 65 2e 20 0d 0a 0d   ┆h the 'glob_i_glob_o'  mode.    ┆
0x19e00…19e20 0a 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 74 6f 1f 4f 50 45 52 41 54 4f 52 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f   ┆           to OPERATOR          ┆
0x19e20…19e40 1f 1f 1f 1f 66 72 6f 6d 1f 4f 50 45 52 41 54 4f 52 20 0a 1f 1f 75 31 1f 1f 1f 1f 1f 1f 1f 1f 1f   ┆    from OPERATOR    u1         ┆
0x19e40…19e60 1f 1f 34 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 75 6e 63 68 61 6e 67 65   ┆  4                     unchange┆
0x19e60…19e80 64 20 1f 1f 75 32 1f 1f 1f 1f 1f 1f 1f 1f 0d 0a 20 20 20 2d 20 84 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f   ┆d   u2             - ё          ┆
0x19e80…19ea0 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 72 65 73 75 6c 74 20 1f 1f 75 33 1f 1f 1f 1f 1f 1f 1f 1f 0d   ┆            result   u3         ┆
0x19ea0…19ec0 0a 19 85 80 80 20 20 20 2d 20 84 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 75   ┆  Ёђђ   - ё                    u┆
0x19ec0…19ee0 6e 63 68 61 6e 67 65 64 20 1f 1f 75 34 1f 1f 1f 1f 1f 1f 1f 1f 0d 0a 19 8a 80 80 20 20 20 2d 20   ┆nchanged   u4           іђђ   - ┆
0x19ee0…19f00 84 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 75 6e 63 68 61 6e 67 65 64 20 0d   ┆ё                    unchanged  ┆
0x19f00…19f20 0a 0d 0a 44 61 74 61 20 62 75 66 66 65 72 3a 20 54 68 65 20 62 75 66 66 65 72 20 69 73 20 73 75   ┆   Data buffer: The buffer is su┆
0x19f20…19f40 70 70 6f 73 65 64 20 74 6f 20 68 6f 6c 64 20 61 20 6d 65 73 73 61 67 65 20 6f 66 20 74 79 70 65   ┆pposed to hold a message of type┆
0x19f40…19f60 20 0a 27 6f 70 62 75 66 66 65 72 27 20 28 61 70 70 65 6e 64 69 78 20 4b 29 2e 20 54 68 65 20 66   ┆  'opbuffer' (appendix K). The f┆
0x19f60…19f80 69 65 6c 64 20 27 6e 61 6d 65 27 20 69 73 20 75 73 65 64 20 74 6f 20 69 64 65 6e 74 69 66 79 20   ┆ield 'name' is used to identify ┆
0x19f80…19fa0 74 68 65 20 0a 6d 65 73 73 61 67 65 2e 20 0d 0a 0d 0a 52 65 73 75 6c 74 73 20 20 4d 65 61 6e 69   ┆the  message.     Results  Meani┆
0x19fa0…19fc0 6e 67 20 20 20 20 20 30 20 20 20 20 6f 6b 2c 20 6e 6f 20 69 6e 70 75 74 20 6d 65 73 73 61 67 65   ┆ng     0    ok, no input message┆
0x19fc0…19fe0 20 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20 0a 6e 65 65 64 65 64 2e 20 20 20 20 20 31 20 20   ┆ available when  needed.     1  ┆
0x19fe0…1a000 20 20 6e 6f 74 5f 70 72 6f 63 65 73 73 65 64 2c 20 74 68 65 20 65 76 65 6e 74 20 6d 65 73 73 61   ┆  not_processed, the event messa┆
0x1a000…1a020 67 65 20 69 73 20 72 65 67 72 65 74 74 65 64 2e 20 0d 0a 0d 0a 0d 0a 16 53 44 0d 0a 52 65 67 72   ┆ge is regretted.        SD  Regr┆
0x1a020…1a040 65 74 20 20 20 20 20 20 20 20 20 0d 0a 41 6e 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 63 61 6e 20   ┆et           An incarnation can ┆
0x1a040…1a060 72 65 67 72 65 74 20 6d 65 73 73 61 67 65 73 20 70 72 65 76 69 6f 75 73 6c 79 20 73 65 6e 74 20   ┆regret messages previously sent ┆
0x1a060…1a080 74 6f 20 4f 50 45 52 41 54 4f 52 20 62 79 20 0a 73 65 6e 64 69 6e 67 20 61 20 72 65 67 72 65 74   ┆to OPERATOR by  sending a regret┆
0x1a080…1a0a0 20 6d 65 73 73 61 67 65 2e 20 0d 0a 0d 0a 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 74 6f 1f 4f 50 45 52 41   ┆ message.               to OPERA┆
0x1a0a0…1a0c0 54 4f 52 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 66 72 6f 6d 1f 4f 50 45 52 41 54 4f 52 20 0a   ┆TOR              from OPERATOR  ┆
0x1a0c0…1a0e0 1f 1f 75 31 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 38 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f   ┆  u1           8                ┆
0x1a0e0…1a100 1f 1f 1f 1f 1f 75 6e 63 68 61 6e 67 65 64 20 1f 1f 75 32 1f 1f 1f 1f 1f 1f 1f 1f 0d 0a 20 20 20   ┆     unchanged   u2             ┆
0x1a100…1a120 2d 20 84 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 6f 6b 20 1f 1f   ┆- ё                        ok   ┆
0x1a120…1a140 75 33 1f 1f 1f 1f 1f 1f 1f 1f 0d 0a 19 85 80 80 20 20 20 2d 20 84 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f   ┆u3           Ёђђ   - ё          ┆
0x1a140…1a160 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 75 6e 63 68 61 6e 67 65 64 20 1f 1f 75 34 1f 1f 1f 1f 1f 1f 1f 1f   ┆          unchanged   u4        ┆
0x1a160…1a180 0d 0a 19 8a 80 80 20 20 20 2d 20 84 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f   ┆   іђђ   - ё                    ┆
0x1a180…1a1a0 75 6e 63 68 61 6e 67 65 64 20 0d 0a 0d 0a 54 68 65 20 71 75 65 75 65 73 20 68 6f 6c 64 69 6e 67   ┆unchanged     The queues holding┆
0x1a1a0…1a1c0 20 65 76 65 6e 74 20 6d 65 73 73 61 67 65 73 2c 20 69 6e 70 75 74 20 6d 65 73 73 61 67 65 73 20   ┆ event messages, input messages ┆
0x1a1c0…1a1e0 61 6e 64 20 6f 75 74 70 75 74 20 0a 6d 65 73 73 61 67 65 73 20 61 72 65 20 73 65 61 72 63 68 65   ┆and output  messages are searche┆
0x1a1e0…1a200 64 2e 20 4d 65 73 73 61 67 65 73 20 6f 72 69 67 69 6e 61 74 69 6e 67 20 66 72 6f 6d 20 74 68 65   ┆d. Messages originating from the┆
0x1a200…1a220 20 73 61 6d 65 20 70 6f 6f 6c 20 61 73 20 0a 74 68 65 20 72 65 67 72 65 74 20 6d 65 73 73 61 67   ┆ same pool as  the regret messag┆
0x1a220…1a240 65 20 61 72 65 20 72 65 74 75 72 6e 65 64 20 77 69 74 68 20 72 65 73 75 6c 74 20 27 6e 6f 74 5f   ┆e are returned with result 'not_┆
0x1a240…1a260 70 72 6f 63 65 73 73 65 64 27 20 61 6e 64 20 0a 66 69 6e 61 6c 6c 79 20 74 68 65 20 72 65 67 72   ┆processed' and  finally the regr┆
0x1a260…1a280 65 74 20 6d 65 73 73 61 67 65 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 0d 0a   ┆et message is returned.         ┆
0x1a280…1a2a0 16 53 44 0d 0a 4d 61 74 63 68 20 0d 0a 41 6e 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 6d 61 79 20   ┆ SD  Match   An incarnation may ┆
0x1a2a0…1a2c0 73 69 6d 75 6c 61 74 65 20 69 6e 70 75 74 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e 73 6f 6c 65 20   ┆simulate input from the console ┆
0x1a2c0…1a2e0 62 79 20 73 65 6e 64 69 6e 67 20 61 20 0a 6d 61 74 63 68 20 6d 65 73 73 61 67 65 20 74 6f 20 4f   ┆by sending a  match message to O┆
0x1a2e0…1a300 50 45 52 41 54 4f 52 2e 20 0d 0a 0d 0a 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 74 6f 1f 4f 50 45 52 41 54   ┆PERATOR.               to OPERAT┆
0x1a300…1a320 4f 52 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 66 72 6f 6d 1f 4f 50 45 52 41 54 4f 52 20 0a 1f   ┆OR              from OPERATOR   ┆
0x1a320…1a340 1f 75 31 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 36 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f   ┆ u1           6                 ┆
0x1a340…1a360 1f 1f 1f 1f 75 6e 63 68 61 6e 67 65 64 20 1f 1f 75 32 1f 1f 1f 1f 1f 1f 1f 1f 0d 0a 20 20 20 2d   ┆    unchanged   u2             -┆
0x1a360…1a380 20 84 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 72 65 73 75 6c 74 20 1f   ┆ ё                      result  ┆
0x1a380…1a3a0 1f 75 33 1f 1f 1f 1f 1f 1f 1f 1f 0d 0a 19 85 80 80 20 20 20 2d 20 84 1f 1f 1f 1f 1f 1f 1f 1f 1f   ┆ u3           Ёђђ   - ё         ┆
0x1a3a0…1a3c0 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 75 6e 63 68 61 6e 67 65 64 20 1f 1f 75 34 1f 1f 1f 1f 1f 1f 1f   ┆           unchanged   u4       ┆
0x1a3c0…1a3e0 1f 0d 0a 19 8a 80 80 20 20 20 2d 20 84 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f   ┆    іђђ   - ё                   ┆
0x1a3e0…1a400 1f 75 6e 63 68 61 6e 67 65 64 20 0d 0a 0d 0a 54 68 65 20 62 75 66 66 65 72 20 69 73 20 73 75 70   ┆ unchanged     The buffer is sup┆
0x1a400…1a420 70 6f 73 65 64 20 74 6f 20 68 6f 6c 64 20 61 20 6d 65 73 73 61 67 65 20 6f 66 20 74 79 70 65 20   ┆posed to hold a message of type ┆
0x1a420…1a440 27 6f 70 62 75 66 66 65 72 27 20 28 61 70 70 65 6e 64 69 78 20 0a 4b 29 2e 20 54 68 65 20 66 69   ┆'opbuffer' (appendix  K). The fi┆
0x1a440…1a460 65 6c 64 20 27 6e 61 6d 65 27 20 69 73 20 75 73 65 64 20 61 73 20 74 68 65 20 6b 65 79 20 69 6e   ┆eld 'name' is used as the key in┆
0x1a460…1a480 20 73 65 61 72 63 68 69 6e 67 20 74 68 65 20 71 75 65 75 65 20 0a 68 6f 6c 64 69 6e 67 20 69 6e   ┆ searching the queue  holding in┆
0x1a480…1a4a0 70 75 74 20 6d 65 73 73 61 67 65 73 2e 20 49 66 20 61 6e 20 69 6e 70 75 74 20 6d 65 73 73 61 67   ┆put messages. If an input messag┆
0x1a4a0…1a4c0 65 20 69 73 20 66 6f 75 6e 64 20 77 69 74 68 20 6d 61 74 63 68 69 6e 67 20 0a 27 6e 61 6d 65 27   ┆e is found with matching  'name'┆
0x1a4c0…1a4e0 20 66 69 65 6c 64 2c 20 74 68 65 20 64 61 74 61 20 66 72 6f 6d 20 74 68 65 20 27 6d 61 74 63 68   ┆ field, the data from the 'match┆
0x1a4e0…1a500 27 20 6d 65 73 73 61 67 65 20 69 73 20 63 6f 70 69 65 64 20 74 6f 20 74 68 65 20 0a 69 6e 70 75   ┆' message is copied to the  inpu┆
0x1a500…1a520 74 20 6d 65 73 73 61 67 65 2c 20 61 6e 64 20 62 6f 74 68 20 6d 65 73 73 61 67 65 73 20 61 72 65   ┆t message, and both messages are┆
0x1a520…1a540 20 72 65 74 75 72 6e 65 64 2e 20 0d 0a 0d 0a 52 65 73 75 6c 74 73 20 20 4d 65 61 6e 69 6e 67 20   ┆ returned.     Results  Meaning ┆
0x1a540…1a560 20 20 20 30 20 20 20 20 20 6f 6b 2c 20 64 61 74 61 20 63 6f 70 69 65 64 20 20 20 20 31 20 20 20   ┆   0     ok, data copied    1   ┆
0x1a560…1a580 20 20 4e 6f 74 70 72 6f 63 65 73 73 65 64 2c 20 6e 6f 20 0a 6d 61 74 63 68 69 6e 67 20 69 6e 70   ┆  Notprocessed, no  matching inp┆
0x1a580…1a5a0 75 74 20 6d 65 73 73 61 67 65 2e 20 0d 0a 0d 0a 8c 8a a8 0a 0d 0a 16 53 42 0d 0a 44 72 69 76 65   ┆ut message.     їіе    SB  Drive┆
0x1a5a0…1a5c0 72 20 49 6e 70 75 74 2f 4f 75 74 70 75 74 20 52 6f 75 74 69 6e 65 73 20 20 20 20 20 20 20 20 0d   ┆r Input/Output Routines         ┆
0x1a5c0…1a5e0 0a 49 6e 20 74 68 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 69 6e 70 75 74   ┆ In the description of the input┆
0x1a5e0…1a600 2f 6f 75 74 70 75 74 20 72 6f 75 74 69 6e 65 73 20 61 20 64 65 76 69 63 65 20 69 73 20 63 6f 6e   ┆/output routines a device is con┆
0x1a600…1a620 73 69 64 65 72 65 64 20 0a 61 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 6e 75 6d 62 65 72 20   ┆sidered  as containing a number ┆
0x1a620…1a640 6f 66 20 72 65 67 69 73 74 65 72 73 3a 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 43 4f 4e 54 52 4f   ┆of registers:          - ёCONTRO┆
0x1a640…1a660 4c 20 0d 0a 20 20 20 2d 20 84 53 54 41 54 55 53 49 4e 20 0d 0a 20 20 20 2d 20 84 53 54 41 54 55   ┆L      - ёSTATUSIN      - ёSTATU┆
0x1a660…1a680 53 4f 55 54 20 0d 0a 20 20 20 2d 20 84 44 41 54 41 49 4e 20 0d 0a 20 20 20 2d 20 84 44 41 54 41   ┆SOUT      - ёDATAIN      - ёDATA┆
0x1a680…1a6a0 4f 55 54 20 0d 0a 0d 0a 77 68 65 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 74 72 61   ┆OUT     where information is tra┆
0x1a6a0…1a6c0 6e 73 66 65 72 72 65 64 20 74 6f 2f 66 72 6f 6d 20 62 79 20 6d 65 61 6e 73 20 6f 66 20 63 6f 6d   ┆nsferred to/from by means of com┆
0x1a6c0…1a6e0 6d 61 6e 64 73 20 69 73 73 75 65 64 20 0a 62 79 20 74 68 65 20 52 43 33 35 30 32 20 6d 61 63 68   ┆mands issued  by the RC3502 mach┆
0x1a6e0…1a700 69 6e 65 2e 20 0d 0a 0d 0a 54 68 65 20 70 72 6f 63 65 64 75 72 65 73 20 49 4e 42 59 54 45 42 4c   ┆ine.     The procedures INBYTEBL┆
0x1a700…1a720 4f 43 4b 2c 20 49 4e 57 4f 52 44 42 4c 4f 43 4b 2c 20 49 4f 57 42 57 43 2c 20 0a 4f 55 54 42 59   ┆OCK, INWORDBLOCK, IOWBWC,  OUTBY┆
0x1a720…1a740 54 45 42 4c 4f 43 4b 2c 20 4f 55 54 57 4f 52 44 42 4c 4f 43 4b 20 69 6e 74 65 72 70 72 65 74 65   ┆TEBLOCK, OUTWORDBLOCK interprete┆
0x1a740…1a760 20 74 68 65 20 61 63 74 75 61 6c 20 64 61 74 61 6d 65 73 73 61 67 65 73 20 0a 61 73 20 62 65 69   ┆ the actual datamessages  as bei┆
0x1a760…1a780 6e 67 20 6f 66 20 74 68 65 20 70 73 65 75 64 6f 20 74 79 70 65 3a 20 0d 0a 0d 0a 20 20 20 20 20   ┆ng of the pseudo type:          ┆
0x1a780…1a7a0 62 75 66 66 65 72 74 79 70 65 20 3d 20 41 52 52 41 59 20 28 30 2e 2e 36 35 35 33 35 29 20 4f 46   ┆buffertype = ARRAY (0..65535) OF┆
0x1a7a0…1a7c0 20 62 79 74 65 20 0d 0a 0d 0a 54 68 65 20 62 75 66 66 65 72 20 69 6e 64 69 63 65 73 2c 20 61 63   ┆ byte     The buffer indices, ac┆
0x1a7c0…1a7e0 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 64 72 69 76 65 72 20 63 6f 6e 76 65 6e 74 69 6f 6e   ┆cording to the driver convention┆
0x1a7e0…1a800 73 2c 20 61 72 65 20 74 68 65 72 65 66 6f 72 65 20 0a 74 72 65 61 74 65 64 20 61 73 20 75 6e 73   ┆s, are therefore  treated as uns┆
0x1a800…1a820 69 67 6e 65 64 20 69 6e 64 69 63 65 73 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 30 2e 2e 36 35   ┆igned indices in the range 0..65┆
0x1a820…1a840 35 33 35 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 43 6c 65 61 72 69 6e 74 65 72 72 75 70 74   ┆535.          SC  Clearinterrupt┆
0x1a840…1a860 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 63 6c 65 61 72 69 6e 74 65 72 72 75 70 74 3b 20 0d 0a   ┆    PROCEDURE clearinterrupt;   ┆
0x1a860…1a880 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 63 6c   ┆  Not predefined.          - ёcl┆
0x1a880…1a8a0 65 61 72 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65   ┆ears the current interruption le┆
0x1a8a0…1a8c0 76 65 6c 20 61 6e 64 20 77 61 69 74 73 20 66 6f 72 20 61 6e 20 69 6e 74 65 72 72 75 70 74 2e 20   ┆vel and waits for an interrupt. ┆
0x1a8c0…1a8e0 0a 19 85 80 80 49 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20   ┆  ЁђђIf the process incarnation ┆
0x1a8e0…1a900 68 61 73 20 73 74 61 74 75 73 20 27 74 69 6d 65 64 6f 75 74 27 2c 20 74 68 65 20 63 61 6c 6c 20   ┆has status 'timedout', the call ┆
0x1a900…1a920 68 61 73 20 6e 6f 20 0a 19 85 80 80 65 66 66 65 63 74 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d   ┆has no   Ёђђeffect.          SC ┆
0x1a920…1a940 0a 43 6f 6e 74 72 6f 6c 20 20 20 20 20 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 63 6f 6e   ┆ Control           PROCEDURE con┆
0x1a940…1a960 74 72 6f 6c 20 28 63 6f 6e 74 72 6f 6c 5f 77 6f 72 64 3a 20 31 36 62 69 74 74 79 70 65 3b 56 41   ┆trol (control_word: 16bittype;VA┆
0x1a960…1a980 52 20 63 68 6d 73 67 3a 20 72 65 66 65 72 65 6e 63 65 29 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65   ┆R chmsg: reference);     Not pre┆
0x1a980…1a9a0 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 54 68 65 20 63 6f 6e 74 65 6e 74   ┆defined.          - ёThe content┆
0x1a9a0…1a9c0 73 20 6f 66 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 27 63 6f 6e 74 72 6f 6c 5f 77 6f 72 64   ┆s of the parameter 'control_word┆
0x1a9c0…1a9e0 27 20 61 72 65 20 74 72 61 6e 73 66 65 72 72 65 64 20 74 6f 20 0a 19 85 80 80 74 68 65 20 43 4f   ┆' are transferred to   Ёђђthe CO┆
0x1a9e0…1aa00 4e 54 52 4f 4c 20 72 65 67 69 73 74 65 72 20 69 6e 20 74 68 65 20 64 65 76 69 63 65 20 73 65 6c   ┆NTROL register in the device sel┆
0x1aa00…1aa20 65 63 74 65 64 20 62 79 20 74 68 65 20 63 68 61 6e 6e 65 6c 20 0a 19 85 80 80 6d 65 73 73 61 67   ┆ected by the channel   Ёђђmessag┆
0x1aa20…1aa40 65 20 63 68 6d 73 67 2e 20 54 68 65 20 63 75 72 72 65 6e 74 20 69 6e 74 65 72 72 75 70 74 20 6c   ┆e chmsg. The current interrupt l┆
0x1aa40…1aa60 65 76 65 6c 20 69 73 20 6e 6f 74 20 63 6c 65 61 72 65 64 20 73 6f 20 74 68 65 20 0a 19 85 80 80   ┆evel is not cleared so the   Ёђђ┆
0x1aa60…1aa80 6e 65 78 74 20 73 74 61 74 65 6d 65 6e 74 20 69 73 20 65 78 65 63 75 74 65 64 20 77 69 74 68 6f   ┆next statement is executed witho┆
0x1aa80…1aaa0 75 74 20 77 61 69 74 69 6e 67 20 66 6f 72 20 69 6e 74 65 72 72 75 70 74 20 66 72 6f 6d 20 0a 19   ┆ut waiting for interrupt from   ┆
0x1aaa0…1aac0 85 80 80 74 68 65 20 64 65 76 69 63 65 2e 20 54 68 65 20 74 79 70 65 20 6f 66 20 27 63 6f 6e 74   ┆Ёђђthe device. The type of 'cont┆
0x1aac0…1aae0 72 6f 6c 5f 77 6f 72 64 27 20 6d 61 79 20 62 65 20 61 6e 79 20 74 79 70 65 20 6f 66 20 73 69 7a   ┆rol_word' may be any type of siz┆
0x1aae0…1ab00 65 20 0a 19 85 80 80 31 36 20 62 69 74 73 2e 20 0d 0a 0d 0a 41 6e 20 65 78 63 65 70 74 69 6f 6e   ┆e   Ёђђ16 bits.     An exception┆
0x1ab00…1ab20 20 6f 63 63 75 72 73 20 69 66 3a 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 74 68 65 20 72 65 66 65   ┆ occurs if:          - ёthe refe┆
0x1ab20…1ab40 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 27 63 68 6d 73 67 27 20 69 73 20 6e 69 6c 2e 20 0d   ┆rence variable 'chmsg' is nil.  ┆
0x1ab40…1ab60 0a 20 20 20 2d 20 84 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 27 63   ┆    - ёthe reference variable 'c┆
0x1ab60…1ab80 68 6d 73 67 27 20 69 73 20 6e 6f 74 20 61 20 63 68 61 6e 6e 65 6c 20 6d 65 73 73 61 67 65 2e 20   ┆hmsg' is not a channel message. ┆
0x1ab80…1aba0 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 43 6f 6e 74 72 6f 6c 63 6c 72 20 20 20 20 20 20 0d 0a 50   ┆         SC  Controlclr        P┆
0x1aba0…1abc0 52 4f 43 45 44 55 52 45 20 63 6f 6e 74 72 6f 6c 63 6c 72 20 28 63 6f 6e 74 72 6f 6c 5f 77 6f 72   ┆ROCEDURE controlclr (control_wor┆
0x1abc0…1abe0 64 3a 20 31 36 62 69 74 74 79 70 65 29 3b 20 0d 0a 0d 0a 8c 8b d0 0a 4e 6f 74 20 70 72 65 64 65   ┆d: 16bittype);     їІл Not prede┆
0x1abe0…1ac00 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 54 68 65 20 63 6f 6e 74 65 6e 74 73 20   ┆fined.          - ёThe contents ┆
0x1ac00…1ac20 6f 66 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 27 63 6f 6e 74 72 6f 6c 5f 77 6f 72 64 27 20   ┆of the parameter 'control_word' ┆
0x1ac20…1ac40 61 72 65 20 74 72 61 6e 73 66 65 72 72 65 64 20 74 6f 20 0a 19 85 80 80 74 68 65 20 43 4f 4e 54   ┆are transferred to   Ёђђthe CONT┆
0x1ac40…1ac60 52 4f 4c 20 72 65 67 69 73 74 65 72 20 69 6e 20 74 68 65 20 64 65 76 69 63 65 20 73 65 6c 65 63   ┆ROL register in the device selec┆
0x1ac60…1ac80 74 65 64 20 62 79 20 74 68 65 20 63 75 72 72 65 6e 74 20 0a 19 85 80 80 69 6e 74 65 72 72 75 70   ┆ted by the current   Ёђђinterrup┆
0x1ac80…1aca0 74 20 6c 65 76 65 6c 2e 20 49 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 6e 63 61 72 6e 61 74   ┆t level. If the process incarnat┆
0x1aca0…1acc0 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 73 74 61 74 75 73 20 0a 19 85 80 80 27 74   ┆ion does not have status   Ёђђ't┆
0x1acc0…1ace0 69 6d 65 64 6f 75 74 27 2c 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 6e 74 65 72 72 75 70 74 69   ┆imedout', the current interrupti┆
0x1ace0…1ad00 6f 6e 20 6c 65 76 65 6c 20 69 73 20 63 6c 65 61 72 65 64 2c 20 61 6e 64 20 74 68 65 20 0a 19 85   ┆on level is cleared, and the   Ё┆
0x1ad00…1ad20 80 80 6e 65 78 74 20 73 74 61 74 65 6d 65 6e 74 20 69 73 20 65 78 65 63 75 74 65 64 20 77 68 65   ┆ђђnext statement is executed whe┆
0x1ad20…1ad40 6e 20 61 6e 20 69 6e 74 65 72 72 75 70 74 20 61 72 72 69 76 65 73 20 66 72 6f 6d 20 74 68 65 20   ┆n an interrupt arrives from the ┆
0x1ad40…1ad60 0a 19 85 80 80 64 65 76 69 63 65 2e 20 49 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 6e 63 61   ┆  Ёђђdevice. If the process inca┆
0x1ad60…1ad80 72 6e 61 74 69 6f 6e 20 68 61 73 20 73 74 61 74 75 73 20 27 74 69 6d 65 64 6f 75 74 27 2c 20 0a   ┆rnation has status 'timedout',  ┆
0x1ad80…1ada0 19 85 80 80 65 78 65 63 75 74 69 6f 6e 20 63 6f 6e 74 69 6e 75 65 73 20 69 6d 6d 65 64 69 61 74   ┆ Ёђђexecution continues immediat┆
0x1ada0…1adc0 65 6c 79 2e 20 0d 0a 0d 0a 54 68 65 20 74 79 70 65 20 6f 66 20 63 6f 6e 74 72 6f 6c 5f 77 6f 72   ┆ely.     The type of control_wor┆
0x1adc0…1ade0 64 20 6d 61 79 20 62 65 20 61 6e 79 20 74 79 70 65 20 6f 66 20 73 69 7a 65 20 31 36 20 62 69 74   ┆d may be any type of size 16 bit┆
0x1ade0…1ae00 73 2e 20 0d 0a 0d 0a 41 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 20 69 66 3a 20 0d   ┆s.     An exception occurs if:  ┆
0x1ae00…1ae20 0a 0d 0a 20 20 20 2d 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 63   ┆      - the reference variable c┆
0x1ae20…1ae40 68 6d 73 67 20 69 73 20 6e 69 6c 20 20 20 20 2d 20 63 68 6d 73 67 20 69 73 20 6e 6f 74 20 61 20   ┆hmsg is nil    - chmsg is not a ┆
0x1ae40…1ae60 63 68 61 6e 6e 65 6c 20 0a 6d 65 73 73 61 67 65 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 43 74   ┆channel  message          SC  Ct┆
0x1ae60…1ae80 72 77 61 69 74 69 64 20 20 20 20 20 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 63 74 72 77 61 69 74   ┆rwaitid         FUNCTION ctrwait┆
0x1ae80…1aea0 69 64 20 28 63 3a 31 36 62 69 74 74 79 70 65 3b 20 64 65 6c 61 79 3a 69 6e 74 65 67 65 72 29 3a   ┆id (c:16bittype; delay:integer):┆
0x1aea0…1aec0 20 61 63 74 69 76 61 74 69 6f 6e 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e   ┆ activation;     Not predefined.┆
0x1aec0…1aee0 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 77 61 69 74 73 20 66 6f 72 20 74 77 6f 20 6b 69 6e 64 73   ┆          - ёwaits for two kinds┆
0x1aee0…1af00 20 6f 66 20 65 76 65 6e 74 3a 20 0d 0a 0d 0a 20 20 20 20 20 20 31 2e 20 41 6e 20 69 6e 74 65 72   ┆ of event:           1. An inter┆
0x1af00…1af20 72 75 70 74 20 28 61 5f 69 6e 74 65 72 72 75 70 74 29 20 20 20 20 20 20 20 32 2e 20 45 78 70 69   ┆rupt (a_interrupt)       2. Expi┆
0x1af20…1af40 72 61 74 69 6f 6e 20 6f 66 20 61 20 64 65 6c 61 79 20 0a 70 65 72 69 6f 64 65 20 28 61 5f 64 65   ┆ration of a delay  periode (a_de┆
0x1af40…1af60 6c 61 79 29 20 0d 0a 0d 0a 54 68 65 20 76 61 72 69 61 62 6c 65 20 4f 57 4e 2e 54 49 4d 45 52 20   ┆lay)     The variable OWN.TIMER ┆
0x1af60…1af80 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 74 6f 20 27 64 65 6c 61 79 27 20 61 6e 64 20 74 68   ┆is initialized to 'delay' and th┆
0x1af80…1afa0 65 20 63 6f 6e 74 72 6f 6c 20 0a 77 6f 72 64 20 27 63 27 20 69 73 20 73 65 6e 74 20 74 6f 20 74   ┆e control  word 'c' is sent to t┆
0x1afa0…1afc0 68 65 20 65 78 74 65 72 6e 61 6c 20 64 65 76 69 63 65 20 63 6f 6e 6e 65 63 74 65 64 20 74 6f 20   ┆he external device connected to ┆
0x1afc0…1afe0 74 68 65 20 63 75 72 72 65 6e 74 20 0a 69 6e 74 65 72 72 75 70 74 20 6c 65 76 65 6c 2c 20 62 65   ┆the current  interrupt level, be┆
0x1afe0…1b000 66 6f 72 65 20 74 68 65 20 77 61 69 74 20 69 73 20 70 65 72 66 6f 72 6d 65 64 2e 20 0d 0a 0d 0a   ┆fore the wait is performed.     ┆
0x1b000…1b020 4e 6f 74 65 20 74 68 61 74 20 64 65 6c 61 79 20 61 63 74 69 76 61 74 69 6f 6e 20 6f 6e 6c 79 20   ┆Note that delay activation only ┆
0x1b020…1b040 74 61 6b 65 73 20 70 6c 61 63 65 2c 20 69 66 20 74 68 65 20 72 6f 75 74 69 6e 65 20 0a 27 64 65   ┆takes place, if the routine  'de┆
0x1b040…1b060 66 69 6e 65 74 69 6d 65 72 27 20 68 61 73 20 62 65 65 6e 20 63 61 6c 6c 65 64 2e 20 0d 0a 0d 0a   ┆finetimer' has been called.     ┆
0x1b060…1b080 0d 0a 0d 0a 16 53 43 0d 0a 43 74 72 77 61 69 74 69 73 20 20 20 20 20 20 20 0d 0a 46 55 4e 43 54   ┆     SC  Ctrwaitis         FUNCT┆
0x1b080…1b0a0 49 4f 4e 20 63 74 72 77 61 69 74 69 73 20 28 63 3a 31 36 62 69 74 74 79 70 65 3b 20 56 41 52 20   ┆ION ctrwaitis (c:16bittype; VAR ┆
0x1b0a0…1b0c0 72 3a 72 65 66 65 72 65 6e 63 65 3b 20 20 20 20 56 41 52 20 73 3a 20 0a 73 65 6d 61 70 68 6f 72   ┆r:reference;    VAR s:  semaphor┆
0x1b0c0…1b0e0 65 29 3a 20 61 63 74 69 76 61 74 69 6f 6e 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e   ┆e): activation;     Not predefin┆
0x1b0e0…1b100 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 77 61 69 74 73 20 66 6f 72 20 74 77 6f 20 6b 69   ┆ed.          - ёwaits for two ki┆
0x1b100…1b120 6e 64 73 20 6f 66 20 65 76 65 6e 74 3a 20 0d 0a 0d 0a 20 20 20 20 20 20 31 2e 20 41 6e 20 69 6e   ┆nds of event:           1. An in┆
0x1b120…1b140 74 65 72 72 75 70 74 20 28 61 5f 69 6e 74 65 72 72 75 70 74 29 20 20 20 20 20 20 20 32 2e 20 54   ┆terrupt (a_interrupt)       2. T┆
0x1b140…1b160 68 65 20 61 72 72 69 76 61 6c 20 6f 66 20 61 20 6d 65 73 73 61 67 65 20 0a 74 6f 20 74 68 65 73   ┆he arrival of a message  to thes┆
0x1b160…1b180 65 6d 61 70 68 6f 72 65 20 73 20 28 61 5f 73 65 6d 61 70 68 6f 72 65 29 20 0d 0a 0d 0a 0d 0a 0d   ┆emaphore s (a_semaphore)        ┆
0x1b180…1b1a0 0a 54 68 65 20 63 6f 6e 74 72 6f 6c 20 77 6f 72 64 20 27 63 27 20 69 73 20 73 65 6e 74 20 74 6f   ┆ The control word 'c' is sent to┆
0x1b1a0…1b1c0 20 74 68 65 20 65 78 74 65 72 6e 61 6c 20 64 65 76 69 63 65 20 63 6f 6e 6e 65 63 74 65 64 20 74   ┆ the external device connected t┆
0x1b1c0…1b1e0 6f 20 74 68 65 20 0a 63 75 72 72 65 6e 74 20 69 6e 74 65 72 72 75 70 74 20 6c 65 76 65 6c 2c 20   ┆o the  current interrupt level, ┆
0x1b1e0…1b200 62 65 66 6f 72 65 20 74 68 65 20 77 61 69 74 20 69 73 20 70 65 72 66 6f 72 6d 65 64 2e 20 0d 0a   ┆before the wait is performed.   ┆
0x1b200…1b220 0d 0a 41 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63 6f 75 72 73 20 69 66 3a 20 0d 0a 0d 0a 8c   ┆  An exception occours if:     ї┆
0x1b220…1b240 8b 88 0a 0d 0a 20 20 20 2d 20 84 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c   ┆Іѕ      - ёthe reference variabl┆
0x1b240…1b260 65 20 27 72 27 20 69 73 20 6e 6f 74 20 6e 69 6c 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 43   ┆e 'r' is not nil.          SC  C┆
0x1b260…1b280 74 72 77 61 69 74 69 73 64 20 20 20 20 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 63 74 72 77 61 69   ┆trwaitisd        FUNCTION ctrwai┆
0x1b280…1b2a0 74 69 73 64 20 28 63 3a 31 36 62 69 74 74 79 70 65 3b 20 56 41 52 20 72 3a 72 65 66 65 72 65 6e   ┆tisd (c:16bittype; VAR r:referen┆
0x1b2a0…1b2c0 63 65 3b 20 20 20 20 20 56 41 52 20 0a 73 3a 73 65 6d 61 70 68 6f 72 65 3b 20 20 20 20 20 64 65   ┆ce;     VAR  s:semaphore;     de┆
0x1b2c0…1b2e0 6c 61 79 3a 69 6e 74 65 67 65 72 29 3a 20 61 63 74 69 76 61 74 69 6f 6e 3b 20 0d 0a 0d 0a 4e 6f   ┆lay:integer): activation;     No┆
0x1b2e0…1b300 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 77 61 69 74 73 20   ┆t predefined.          - ёwaits ┆
0x1b300…1b320 66 6f 72 20 74 68 72 65 65 20 6b 69 6e 64 73 20 6f 66 20 65 76 65 6e 74 3a 20 0d 0a 0d 0a 20 20   ┆for three kinds of event:       ┆
0x1b320…1b340 20 20 20 20 31 2e 20 41 6e 20 69 6e 74 65 72 72 75 70 74 20 28 61 5f 69 6e 74 65 72 72 75 70 74   ┆    1. An interrupt (a_interrupt┆
0x1b340…1b360 29 20 20 20 20 20 20 20 32 2e 20 54 68 65 20 61 72 72 69 76 61 6c 20 6f 66 20 61 20 6d 65 73 73   ┆)       2. The arrival of a mess┆
0x1b360…1b380 61 67 65 20 0a 74 6f 20 74 68 65 73 65 6d 61 70 68 6f 72 65 20 73 20 28 61 5f 73 65 6d 61 70 68   ┆age  to thesemaphore s (a_semaph┆
0x1b380…1b3a0 6f 72 65 29 20 20 20 20 20 20 20 33 2e 20 45 78 70 69 72 61 74 69 6f 6e 20 6f 66 20 61 20 64 65   ┆ore)       3. Expiration of a de┆
0x1b3a0…1b3c0 6c 61 79 20 0a 70 65 72 69 6f 64 20 28 61 5f 64 65 6c 61 79 29 20 0d 0a 0d 0a 54 68 65 20 76 61   ┆lay  period (a_delay)     The va┆
0x1b3c0…1b3e0 72 69 61 62 6c 65 20 4f 57 4e 2e 54 49 4d 45 52 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 20   ┆riable OWN.TIMER is initialized ┆
0x1b3e0…1b400 74 6f 20 27 64 65 6c 61 79 27 2c 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 77 6f 72 64 20 0a 27 63   ┆to 'delay', the control word  'c┆
0x1b400…1b420 27 20 69 73 20 73 65 6e 74 20 74 6f 20 74 68 65 20 65 78 74 65 72 6e 61 6c 20 64 65 76 69 63 65   ┆' is sent to the external device┆
0x1b420…1b440 20 63 6f 6e 6e 65 63 74 65 64 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 0a 69 6e 74 65 72   ┆ connected to the current  inter┆
0x1b440…1b460 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c 2c 20 61 6e 64 20 74 68 65 20 77 61 69 74 20 69 73 20 70   ┆ruption level, and the wait is p┆
0x1b460…1b480 65 72 66 6f 72 6d 65 64 2e 20 0d 0a 0d 0a 44 65 6c 61 79 20 61 63 74 69 76 61 74 69 6f 6e 20 6f   ┆erformed.     Delay activation o┆
0x1b480…1b4a0 6e 6c 79 20 74 61 6b 65 73 20 70 6c 61 63 65 2c 20 69 66 20 61 20 63 61 6c 6c 20 6f 66 20 27 64   ┆nly takes place, if a call of 'd┆
0x1b4a0…1b4c0 65 66 69 6e 65 74 69 6d 65 72 27 20 68 61 73 20 62 65 65 6e 20 0a 69 73 73 75 65 64 2e 20 41 6e   ┆efinetimer' has been  issued. An┆
0x1b4c0…1b4e0 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 20 69 66 3a 20 0d 0a 0d 0a 0d 0a 20 20 20 2d   ┆ exception occurs if:          -┆
0x1b4e0…1b500 20 84 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 6e 6f 74 20   ┆ ёthe reference variable is not ┆
0x1b500…1b520 6e 69 6c 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 45 6f 69 20 20 20 0d 0a 46 55 4e 43 54 49   ┆nil.          SC  Eoi     FUNCTI┆
0x1b520…1b540 4f 4e 20 65 6f 69 3a 20 62 6f 6f 6c 65 61 6e 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e   ┆ON eoi: boolean;     Predefined.┆
0x1b540…1b560 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 74 72 75 65 20 69 66 20 74 68 65 20 45 4f 49 20 28 a1 45   ┆          - ёtrue if the EOI (АE┆
0x1b560…1b580 e1 6e 64 20 a1 4f e1 66 20 a1 49 e1 6e 66 6f 72 6d 61 74 69 6f 6e 29 20 73 74 61 74 75 73 20 62   ┆рnd АOрf АIрnformation) status b┆
0x1b580…1b5a0 69 74 20 69 73 20 31 20 69 6e 20 74 68 65 20 0a 19 85 80 80 70 72 6f 67 72 61 6d 20 73 74 61 74   ┆it is 1 in the   Ёђђprogram stat┆
0x1b5a0…1b5c0 75 73 20 77 6f 72 64 20 69 6e 20 74 68 65 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 64 65 73 63 72   ┆us word in the incarnation descr┆
0x1b5c0…1b5e0 69 70 74 6f 72 2e 20 54 68 65 20 45 4f 49 20 0a 19 85 80 80 73 74 61 74 75 73 20 62 69 74 20 69   ┆iptor. The EOI   Ёђђstatus bit i┆
0x1b5e0…1b600 73 20 75 70 64 61 74 65 64 20 77 68 65 6e 65 76 65 72 20 61 20 52 45 41 44 20 6f 72 20 57 52 49   ┆s updated whenever a READ or WRI┆
0x1b600…1b620 54 45 20 64 61 74 61 20 63 6f 6d 6d 61 6e 64 20 0a 19 85 80 80 69 73 20 69 73 73 75 65 64 20 62   ┆TE data command   Ёђђis issued b┆
0x1b620…1b640 79 20 74 68 65 20 69 6e 63 61 72 6e 61 74 69 6f 6e 2e 20 0d 0a 0d 0a 41 66 74 65 72 20 61 20 52   ┆y the incarnation.     After a R┆
0x1b640…1b660 45 41 44 20 63 6f 6d 6d 61 6e 64 20 65 6f 69 3d 74 72 75 65 20 69 6e 64 69 63 61 74 65 73 20 74   ┆EAD command eoi=true indicates t┆
0x1b660…1b680 68 61 74 20 74 68 65 20 64 65 76 69 63 65 20 68 61 73 20 0a 72 65 73 70 6f 6e 64 65 64 20 77 69   ┆hat the device has  responded wi┆
0x1b680…1b6a0 74 68 20 6e 6f 20 64 61 74 61 2e 20 41 66 74 65 72 20 61 20 57 52 49 54 45 20 63 6f 6d 6d 61 6e   ┆th no data. After a WRITE comman┆
0x1b6a0…1b6c0 64 20 65 6f 69 3d 74 72 75 65 20 69 6e 64 69 63 61 74 65 73 20 0a 74 68 61 74 20 74 68 65 20 64   ┆d eoi=true indicates  that the d┆
0x1b6c0…1b6e0 65 76 69 63 65 20 68 61 73 20 61 63 63 65 70 74 65 64 20 74 68 65 20 64 61 74 61 20 61 6e 64 20   ┆evice has accepted the data and ┆
0x1b6e0…1b700 77 61 6e 74 73 20 6e 6f 20 6d 6f 72 65 20 64 61 74 61 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d   ┆wants no more data.          SC ┆
0x1b700…1b720 0a 47 65 74 62 75 66 70 61 72 61 6d 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 67 65 74 62   ┆ Getbufparam      PROCEDURE getb┆
0x1b720…1b740 75 66 70 61 72 61 6d 20 20 20 28 56 41 52 20 62 75 66 70 61 72 61 6d 3a 20 36 34 62 69 74 74 79   ┆ufparam   (VAR bufparam: 64bitty┆
0x1b740…1b760 70 65 3b 20 20 20 20 66 69 72 73 74 2c 20 6c 61 73 74 3a 20 0a 69 6e 74 65 67 65 72 3b 20 20 20   ┆pe;    first, last:  integer;   ┆
0x1b760…1b780 20 56 41 52 20 6d 73 67 3a 20 72 65 66 65 72 65 6e 63 65 29 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72   ┆ VAR msg: reference);     Not pr┆
0x1b780…1b7a0 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 54 68 65 20 70 61 72 61 6d 65   ┆edefined.          - ёThe parame┆
0x1b7a0…1b7c0 74 65 72 20 27 62 75 66 70 61 72 61 6d 27 20 69 73 20 73 75 70 70 6f 73 65 64 20 74 6f 20 62 65   ┆ter 'bufparam' is supposed to be┆
0x1b7c0…1b7e0 20 6f 66 20 0d 0a 0d 0a 54 59 50 45 20 20 20 62 75 66 70 61 72 61 6d 74 79 70 65 20 3d 20 52 45   ┆ of     TYPE   bufparamtype = RE┆
0x1b7e0…1b800 43 4f 52 44 20 74 6f 70 2c 20 63 6f 75 6e 74 3a 20 69 6e 74 65 67 65 72 3b 20 64 61 74 61 73 74   ┆CORD top, count: integer; datast┆
0x1b800…1b820 61 72 74 20 3a 20 0a 33 32 62 69 74 74 79 70 65 3b 20 20 20 20 20 20 20 20 45 4e 44 3b 20 0d 0a   ┆art :  32bittype;        END;   ┆
0x1b820…1b840 0d 0a 8c 8b 88 0a 0d 0a 20 20 20 2d 20 84 72 65 74 75 72 6e 73 20 74 68 65 20 73 74 61 72 74 20   ┆  їІѕ      - ёreturns the start ┆
0x1b840…1b860 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 62 79 74 65 20 77 69 74 68 20 69 6e 64 65 78 20 66   ┆address of the byte with index f┆
0x1b860…1b880 69 72 73 74 20 69 6e 20 74 68 65 20 0a 19 85 80 80 64 61 74 61 20 62 75 66 66 65 72 20 72 65 66   ┆irst in the   Ёђђdata buffer ref┆
0x1b880…1b8a0 65 72 65 6e 63 65 64 20 62 79 20 6d 73 67 2e 20 41 73 20 61 20 73 69 64 65 20 65 66 66 65 63 74   ┆erenced by msg. As a side effect┆
0x1b8a0…1b8c0 20 0d 0a 0d 0a 63 6f 75 6e 74 20 3a 3d 20 6d 61 64 64 20 28 75 73 75 62 20 28 6c 61 73 74 2c 20   ┆     count := madd (usub (last, ┆
0x1b8c0…1b8e0 66 69 72 73 74 29 2c 20 31 29 20 74 6f 70 20 3a 3d 20 6d 61 64 64 20 28 6c 61 73 74 2c 20 31 29   ┆first), 1) top := madd (last, 1)┆
0x1b8e0…1b900 20 0d 0a 0d 0a 69 73 20 72 65 74 75 72 6e 65 64 2e 20 0d 0a 0d 0a 54 68 65 20 70 72 6f 63 65 64   ┆     is returned.     The proced┆
0x1b900…1b920 75 72 65 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 69 6e 69 74 69 61 6c 69 7a 69 6e 67   ┆ure is intended for initializing┆
0x1b920…1b940 20 61 20 44 4d 41 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 77 69 74 68 20 74 68 65 20 0a 73 74 61 72   ┆ a DMA controller with the  star┆
0x1b940…1b960 74 20 61 64 64 72 65 73 73 20 61 6e 64 20 63 6f 75 6e 74 20 66 6f 72 20 61 6e 20 69 6e 70 75 74   ┆t address and count for an input┆
0x1b960…1b980 2f 6f 75 74 70 75 74 20 6f 70 65 72 61 74 69 6f 6e 2e 20 0d 0a 0d 0a 54 68 65 20 66 6f 6c 6c 6f   ┆/output operation.     The follo┆
0x1b980…1b9a0 77 69 6e 67 20 65 78 63 65 70 74 69 6f 6e 73 20 6d 61 79 20 6f 63 63 75 72 20 0d 0a 0d 0a 1f 1f   ┆wing exceptions may occur       ┆
0x1b9a0…1b9c0 2d 1f 72 65 66 65 72 65 6e 63 65 20 3d 20 6e 69 6c 20 1f 1f 2d 1f 6e 6f 74 20 64 61 74 61 20 6d   ┆- reference = nil   - not data m┆
0x1b9c0…1b9e0 65 73 73 61 67 65 20 1f 1f 2d 1f 73 69 7a 65 20 74 6f 6f 20 73 6d 61 6c 6c 20 1f 1f 2d 1f 75 6c   ┆essage   - size too small   - ul┆
0x1b9e0…1ba00 74 20 0a 28 6c 61 73 74 2c 20 66 69 72 73 74 29 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 49 6e   ┆t  (last, first)          SC  In┆
0x1ba00…1ba20 62 79 74 65 62 6c 6f 63 6b 20 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 69 6e 62 79 74 65   ┆byteblock       PROCEDURE inbyte┆
0x1ba20…1ba40 62 6c 6f 63 6b 20 20 20 28 56 41 52 20 6e 65 78 74 3a 20 69 6e 74 65 67 65 72 3b 20 20 20 20 66   ┆block   (VAR next: integer;    f┆
0x1ba40…1ba60 69 72 73 74 2c 20 6c 61 73 74 3a 20 69 6e 74 65 67 65 72 3b 20 20 20 20 0a 56 41 52 20 6d 73 67   ┆irst, last: integer;     VAR msg┆
0x1ba60…1ba80 3a 20 72 65 66 65 72 65 6e 63 65 29 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a   ┆: reference);     Predefined.   ┆
0x1ba80…1baa0 0d 0a 0d 0a 20 20 20 2d 20 84 69 6e 70 75 74 73 20 61 20 62 6c 6f 63 6b 20 6f 66 20 62 79 74 65   ┆       - ёinputs a block of byte┆
0x1baa0…1bac0 73 20 74 6f 20 74 68 65 20 64 61 74 61 62 75 66 66 65 72 20 73 70 65 63 69 66 69 65 64 20 62 79   ┆s to the databuffer specified by┆
0x1bac0…1bae0 20 27 6d 73 67 27 2c 20 0a 19 85 80 80 27 66 69 72 73 74 27 20 61 6e 64 20 27 6c 61 73 74 27 20   ┆ 'msg',   Ёђђ'first' and 'last' ┆
0x1bae0…1bb00 66 72 6f 6d 20 74 68 65 20 64 65 76 69 63 65 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65   ┆from the device specified by the┆
0x1bb00…1bb20 20 63 75 72 72 65 6e 74 20 0a 19 85 80 80 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c   ┆ current   Ёђђinterruption level┆
0x1bb20…1bb40 2e 20 57 68 65 6e 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 74 65 72 6d 69 6e 61 74 65 73 2c   ┆. When the procedure terminates,┆
0x1bb40…1bb60 20 27 6e 65 78 74 27 20 77 69 6c 6c 20 62 65 20 0a 19 85 80 80 74 68 65 20 69 6e 64 65 78 20 6f   ┆ 'next' will be   Ёђђthe index o┆
0x1bb60…1bb80 66 20 74 68 65 20 62 79 74 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 6c 61 73 74 20 62 79   ┆f the byte following the last by┆
0x1bb80…1bba0 74 65 20 69 6e 70 75 74 2e 20 0d 0a 0d 0a 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 77 69 6c 6c   ┆te input.     The procedure will┆
0x1bba0…1bbc0 20 74 65 72 6d 69 6e 61 74 65 20 69 6e 20 74 77 6f 20 73 69 74 75 61 74 69 6f 6e 73 3a 20 0d 0a   ┆ terminate in two situations:   ┆
0x1bbc0…1bbe0 0d 0a 20 20 20 20 20 2d 20 77 68 65 6e 20 6e 65 78 74 20 3d 20 6d 61 64 64 20 28 6c 61 73 74 2c   ┆       - when next = madd (last,┆
0x1bbe0…1bc00 20 31 29 3b 20 20 20 20 20 20 2d 20 77 68 65 6e 20 65 6f 69 3d 74 72 75 65 20 0d 0a 0d 0a 49 66   ┆ 1);      - when eoi=true     If┆
0x1bc00…1bc20 20 6e 6f 74 68 69 6e 67 20 69 73 20 69 6e 70 75 74 20 27 6e 65 78 74 27 3d 27 66 69 72 73 74 27   ┆ nothing is input 'next'='first'┆
0x1bc20…1bc40 2e 20 0d 0a 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 63 65 70 74 69 6f 6e 73 20 6d   ┆.     The following exceptions m┆
0x1bc40…1bc60 61 79 20 6f 63 63 75 72 3a 20 0d 0a 0d 0a 20 20 20 20 20 2d 20 74 68 65 20 72 65 66 65 72 65 6e   ┆ay occur:          - the referen┆
0x1bc60…1bc80 63 65 20 76 61 72 69 61 62 6c 65 20 27 6d 73 67 27 20 69 73 20 6e 69 6c 20 20 20 20 20 20 2d 20   ┆ce variable 'msg' is nil      - ┆
0x1bc80…1bca0 74 68 65 20 6d 65 73 73 61 67 65 20 27 6d 73 67 27 20 0a 69 73 20 6e 6f 20 64 61 74 61 20 6d 65   ┆the message 'msg'  is no data me┆
0x1bca0…1bcc0 73 73 61 67 65 20 20 20 20 20 20 2d 20 73 69 7a 65 20 6f 66 20 27 6d 73 67 27 20 69 73 20 74 6f   ┆ssage      - size of 'msg' is to┆
0x1bcc0…1bce0 6f 20 73 6d 61 6c 6c 20 20 20 20 20 20 2d 20 75 6c 74 20 28 6c 61 73 74 2c 20 0a 66 69 72 73 74   ┆o small      - ult (last,  first┆
0x1bce0…1bd00 29 20 0d 0a 16 53 43 0d 0a 49 6e 77 6f 72 64 0d 0a 50 52 4f 43 45 44 55 52 45 20 69 6e 77 6f 72   ┆)    SC  Inword  PROCEDURE inwor┆
0x1bd00…1bd20 64 20 28 56 41 52 20 77 6f 72 64 3a 20 31 36 62 69 74 74 79 70 65 3b 20 20 20 20 20 20 20 20 20   ┆d (VAR word: 16bittype;         ┆
0x1bd20…1bd40 56 41 52 20 63 68 6d 73 67 3a 20 0a 72 65 66 65 72 65 6e 63 65 29 3b 20 0d 0a 0d 0a 4e 6f 74 20   ┆VAR chmsg:  reference);     Not ┆
0x1bd40…1bd60 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 74 68 65 20 63 6f 6e 74   ┆predefined.          - ёthe cont┆
0x1bd60…1bd80 65 6e 74 73 20 6f 66 20 74 68 65 20 44 41 54 41 49 4e 20 72 65 67 69 73 74 65 72 20 69 6e 20 74   ┆ents of the DATAIN register in t┆
0x1bd80…1bda0 68 65 20 64 65 76 69 63 65 20 73 65 6c 65 63 74 65 64 20 62 79 20 0a 19 85 80 80 74 68 65 20 63   ┆he device selected by   Ёђђthe c┆
0x1bda0…1bdc0 68 61 6e 6e 65 6c 20 6d 65 73 73 61 67 65 20 27 63 68 6d 73 67 27 20 69 73 20 74 72 61 6e 73 66   ┆hannel message 'chmsg' is transf┆
0x1bdc0…1bde0 65 72 72 65 64 20 74 6f 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 0a 19 85 80 80 27 77 6f 72   ┆erred to the parameter   Ёђђ'wor┆
0x1bde0…1be00 64 27 2e 20 49 66 20 65 6f 69 3d 74 72 75 65 20 61 66 74 65 72 20 74 68 65 20 63 61 6c 6c 2c 20   ┆d'. If eoi=true after the call, ┆
0x1be00…1be20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 27 77 6f 72 64 27 20 61 72 65 20 0a 19 85 80 80   ┆the contents of 'word' are   Ёђђ┆
0x1be20…1be40 75 6e 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 54 68 65 20 74 79 70 65 20 6f 66 20 27 77 6f 72 64   ┆undefined.     The type of 'word┆
0x1be40…1be60 27 20 6d 61 79 20 62 65 20 61 6e 79 20 74 79 70 65 20 6f 66 20 73 69 7a 65 20 31 36 20 62 69 74   ┆' may be any type of size 16 bit┆
0x1be60…1be80 73 2e 20 0d 0a 0d 0a 41 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 20 69 6e 20 74 68   ┆s.     An exception occurs in th┆
0x1be80…1bea0 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 69 74 75 61 74 69 6f 6e 73 3a 20 0d 0a 0d 0a 8c 8a d8 0a   ┆e following situations:     їіп ┆
0x1bea0…1bec0 20 20 20 2d 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 27 63 68 6d   ┆   - the reference variable 'chm┆
0x1bec0…1bee0 73 67 27 20 69 73 20 6e 69 6c 20 20 20 20 2d 20 27 63 68 6d 73 67 27 20 69 73 20 6e 6f 74 20 61   ┆sg' is nil    - 'chmsg' is not a┆
0x1bee0…1bf00 20 0a 63 68 61 6e 6e 65 6c 20 6d 65 73 73 61 67 65 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 49   ┆  channel message          SC  I┆
0x1bf00…1bf20 6e 77 6f 72 64 63 6c 72 20 20 20 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 69 6e 77 6f 72   ┆nwordclr         PROCEDURE inwor┆
0x1bf20…1bf40 64 63 6c 72 20 28 56 41 52 20 77 6f 72 64 20 3a 20 31 36 62 69 74 74 79 70 65 29 3b 20 0d 0a 0d   ┆dclr (VAR word : 16bittype);    ┆
0x1bf40…1bf60 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 54 68 65   ┆ Not predefined.          - ёThe┆
0x1bf60…1bf80 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 44 41 54 41 49 4e 20 72 65 67 69 73 74 65 72   ┆ contents of the DATAIN register┆
0x1bf80…1bfa0 20 69 6e 20 74 68 65 20 64 65 76 69 63 65 2c 20 73 65 6c 65 63 74 65 64 20 62 79 20 0a 19 85 80   ┆ in the device, selected by   Ёђ┆
0x1bfa0…1bfc0 80 74 68 65 20 63 75 72 72 65 6e 74 20 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c 2c   ┆ђthe current interruption level,┆
0x1bfc0…1bfe0 20 69 73 20 74 72 61 6e 73 66 65 72 72 65 64 20 74 6f 20 74 68 65 20 70 61 72 61 6d 65 74 65 72   ┆ is transferred to the parameter┆
0x1bfe0…1c000 20 0a 19 85 80 80 27 77 6f 72 64 27 2e 20 49 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 6e 63   ┆   Ёђђ'word'. If the process inc┆
0x1c000…1c020 61 72 6e 61 74 69 6f 6e 20 68 61 73 20 73 74 61 74 75 73 20 27 74 69 6d 65 64 6f 75 74 27 2c 20   ┆arnation has status 'timedout', ┆
0x1c020…1c040 0a 19 85 80 80 65 78 65 63 75 74 69 6f 6e 20 63 6f 6e 74 69 6e 75 65 73 20 69 6d 6d 65 64 65 61   ┆  Ёђђexecution continues immedea┆
0x1c040…1c060 74 65 6c 79 2e 20 49 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 6e 63 61 72 6e 61 74 69 6f 6e   ┆tely. If the process incarnation┆
0x1c060…1c080 20 64 6f 65 73 20 0a 19 85 80 80 6e 6f 74 20 68 61 76 65 20 73 74 61 74 75 73 20 27 74 69 6d 65   ┆ does   Ёђђnot have status 'time┆
0x1c080…1c0a0 64 6f 75 74 27 2c 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 6e 74 65 72 72 75 70 74 69 6f 6e 20   ┆dout', the current interruption ┆
0x1c0a0…1c0c0 6c 65 76 65 6c 20 69 73 20 0a 19 85 80 80 63 6c 65 61 72 65 64 2c 20 73 6f 20 74 68 65 20 6e 65   ┆level is   Ёђђcleared, so the ne┆
0x1c0c0…1c0e0 78 74 20 73 74 61 74 65 6d 65 6e 74 20 69 73 20 65 78 65 63 75 74 65 64 20 77 68 65 6e 20 61 6e   ┆xt statement is executed when an┆
0x1c0e0…1c100 20 69 6e 74 65 72 72 75 70 74 20 0a 19 85 80 80 61 72 72 69 76 65 73 20 66 72 6f 6d 20 74 68 65   ┆ interrupt   Ёђђarrives from the┆
0x1c100…1c120 20 64 65 76 69 63 65 2e 20 0d 0a 0d 0a 54 68 65 20 74 79 70 65 20 6f 66 20 27 77 6f 72 64 27 20   ┆ device.     The type of 'word' ┆
0x1c120…1c140 6d 61 79 20 62 65 20 61 6e 79 20 74 79 70 65 20 6f 66 20 73 69 7a 65 20 31 36 20 62 69 74 73 2e   ┆may be any type of size 16 bits.┆
0x1c140…1c160 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 49 6f 77 62 77 63 0d 0a 50 52 4f 43 45 44 55 52 45 20   ┆          SC  Iowbwc  PROCEDURE ┆
0x1c160…1c180 69 6f 77 62 77 63 20 28 62 75 66 70 61 72 61 6d 3a 20 36 34 62 69 74 74 79 70 65 29 3b 20 0d 0a   ┆iowbwc (bufparam: 64bittype);   ┆
0x1c180…1c1a0 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 74 68   ┆  Not predefined.          - ёth┆
0x1c1a0…1c1c0 65 20 70 61 72 61 6d 65 74 65 72 20 27 62 75 66 70 61 72 61 6d 27 20 69 73 20 73 75 70 70 6f 73   ┆e parameter 'bufparam' is suppos┆
0x1c1c0…1c1e0 65 64 20 74 6f 20 62 65 20 6f 66 20 0d 0a 0d 0a 54 59 50 45 20 20 20 20 20 20 62 75 66 70 61 72   ┆ed to be of     TYPE      bufpar┆
0x1c1e0…1c200 61 6d 74 79 70 65 20 20 3d 20 52 45 43 4f 52 44 20 20 20 20 74 6f 70 2c 20 63 6f 75 6e 74 3a 20   ┆amtype  = RECORD    top, count: ┆
0x1c200…1c220 69 6e 74 65 67 65 72 3b 20 20 20 20 0a 64 61 74 61 73 74 61 72 74 20 3a 20 33 32 62 69 74 74 79   ┆integer;     datastart : 32bitty┆
0x1c220…1c240 70 65 3b 20 20 45 4e 44 3b 20 0d 0a 0d 0a 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 6f 75 74 70   ┆pe;  END;     The procedure outp┆
0x1c240…1c260 75 74 73 20 61 20 62 6c 6f 63 6b 20 6f 66 20 77 6f 72 64 73 20 66 72 6f 6d 20 61 20 62 75 66 66   ┆uts a block of words from a buff┆
0x1c260…1c280 65 72 20 73 70 65 63 69 66 69 65 64 20 62 79 20 0a 27 64 61 74 61 73 74 61 72 74 27 2e 20 54 68   ┆er specified by  'datastart'. Th┆
0x1c280…1c2a0 65 20 6e 75 6d 62 65 72 20 6f 66 20 77 6f 72 64 73 20 77 69 6c 6c 20 62 65 20 27 63 6f 75 6e 74   ┆e number of words will be 'count┆
0x1c2a0…1c2c0 27 20 44 49 56 1f 32 20 28 63 6f 75 6e 74 20 3d 20 30 20 69 73 20 0a 69 6e 74 65 72 70 72 65 74   ┆' DIV 2 (count = 0 is  interpret┆
0x1c2c0…1c2e0 65 64 20 61 73 20 33 32 1f 4b 20 77 6f 72 64 73 29 2e 20 0d 0a 0d 0a 54 68 65 20 70 72 6f 63 65   ┆ed as 32 K words).     The proce┆
0x1c2e0…1c300 64 75 72 65 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 6d 75 6c 74 61 6e 65 6f 75   ┆dure is intended for simultaneou┆
0x1c300…1c320 73 20 6f 75 74 70 75 74 20 6f 66 20 64 61 74 61 20 72 65 73 69 64 69 6e 67 20 69 6e 20 0a 6f 6e   ┆s output of data residing in  on┆
0x1c320…1c340 65 20 6d 65 73 73 61 67 65 2e 20 54 68 65 20 61 63 74 75 61 6c 20 70 61 72 61 6d 65 74 65 72 20   ┆e message. The actual parameter ┆
0x1c340…1c360 74 6f 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 6d 61 79 20 62 65 20 6f 62 74 61 69 6e 65 64   ┆to the procedure may be obtained┆
0x1c360…1c380 20 0a 62 79 20 6d 65 61 6e 73 20 6f 66 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 27 67 65 74   ┆  by means of the procedure 'get┆
0x1c380…1c3a0 62 75 66 70 61 72 61 6d 27 2e 20 0d 0a 0d 0a 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 63 61 6e   ┆bufparam'.     The procedure can┆
0x1c3a0…1c3c0 20 62 65 20 61 63 63 65 73 73 65 64 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 77 61   ┆ be accessed in the following wa┆
0x1c3c0…1c3e0 79 3a 20 0d 0a 0d 0a 54 59 50 45 20 20 20 20 20 20 62 75 66 70 61 72 61 6d 74 79 70 65 20 3d 20   ┆y:     TYPE      bufparamtype = ┆
0x1c3e0…1c400 52 45 43 4f 52 44 20 20 20 20 74 6f 70 2c 20 63 6f 75 6e 74 3a 20 69 6e 74 65 67 65 72 3b 20 20   ┆RECORD    top, count: integer;  ┆
0x1c400…1c420 20 20 0a 64 61 74 61 73 74 61 72 74 20 3a 20 33 32 62 69 74 74 79 70 65 3b 20 45 4e 44 3b 20 0d   ┆   datastart : 32bittype; END;  ┆
0x1c420…1c440 0a 0d 0a 50 52 4f 43 45 44 55 52 45 20 69 6f 77 62 77 63 20 28 62 75 66 70 61 72 61 6d 3a 20 62   ┆   PROCEDURE iowbwc (bufparam: b┆
0x1c440…1c460 75 66 70 61 72 61 6d 74 79 70 65 29 3b 20 45 58 54 45 52 4e 41 4c 3b 20 0d 0a 0d 0a 0d 0a 0d 0a   ┆ufparamtype); EXTERNAL;         ┆
0x1c460…1c480 16 53 43 0d 0a 49 6e 77 6f 72 64 62 6c 6f 63 6b 20 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45   ┆ SC  Inwordblock       PROCEDURE┆
0x1c480…1c4a0 20 69 6e 77 6f 72 64 62 6c 6f 63 6b 20 20 20 28 56 41 52 20 6e 65 78 74 3a 20 69 6e 74 65 67 65   ┆ inwordblock   (VAR next: intege┆
0x1c4a0…1c4c0 72 3b 20 20 20 20 66 69 72 73 74 2c 20 6c 61 73 74 3a 20 69 6e 74 65 67 65 72 3b 20 20 20 20 0a   ┆r;    first, last: integer;     ┆
0x1c4c0…1c4e0 56 41 52 20 6d 73 67 3a 20 72 65 66 65 72 65 6e 63 65 29 3b 20 0d 0a 0d 0a 8c 8a a8 0a 50 72 65   ┆VAR msg: reference);     їіе Pre┆
0x1c4e0…1c500 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 69 6e 70 75 74 73 20 61 20 62 6c   ┆defined.          - ёinputs a bl┆
0x1c500…1c520 6f 63 6b 20 6f 66 20 77 6f 72 64 73 20 74 6f 20 74 68 65 20 64 61 74 61 20 62 75 66 66 65 72 20   ┆ock of words to the data buffer ┆
0x1c520…1c540 73 70 65 63 69 66 69 65 64 20 62 79 20 27 6d 73 67 27 2c 20 0a 19 85 80 80 27 66 69 72 73 74 27   ┆specified by 'msg',   Ёђђ'first'┆
0x1c540…1c560 2c 20 61 6e 64 20 27 6c 61 73 74 27 20 66 72 6f 6d 20 74 68 65 20 64 65 76 69 63 65 20 73 70 65   ┆, and 'last' from the device spe┆
0x1c560…1c580 63 69 66 69 65 64 20 62 79 20 74 68 65 20 63 75 72 72 65 6e 74 20 0a 19 85 80 80 69 6e 74 65 72   ┆cified by the current   Ёђђinter┆
0x1c580…1c5a0 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c 2e 20 0d 0a 0d 0a 54 68 65 20 70 72 6f 63 65 64 75 72 65   ┆ruption level.     The procedure┆
0x1c5a0…1c5c0 20 74 65 72 6d 69 6e 61 74 65 73 20 69 6e 20 74 77 6f 20 73 69 74 75 61 74 69 6f 6e 73 3a 20 0d   ┆ terminates in two situations:  ┆
0x1c5c0…1c5e0 0a 0d 0a 20 20 20 2d 20 77 68 65 6e 20 6e 65 78 74 20 3d 20 6d 61 64 64 20 28 6c 61 73 74 2c 20   ┆      - when next = madd (last, ┆
0x1c5e0…1c600 31 29 20 20 20 20 2d 20 77 68 65 6e 20 65 6f 69 3d 74 72 75 65 20 0d 0a 0d 0a 49 66 20 6e 6f 74   ┆1)    - when eoi=true     If not┆
0x1c600…1c620 68 69 6e 67 20 69 73 20 69 6e 70 75 74 20 27 6e 65 78 74 27 3d 27 66 69 72 73 74 27 2e 20 46 69   ┆hing is input 'next'='first'. Fi┆
0x1c620…1c640 72 73 74 20 61 6e 64 20 6c 61 73 74 20 6d 75 73 74 20 73 70 65 63 69 66 79 20 61 6e 20 65 76 65   ┆rst and last must specify an eve┆
0x1c640…1c660 6e 20 0a 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 28 20 75 73 75 62 28 6c 61 73 74 2c 20   ┆n  number of bytes ( usub(last, ┆
0x1c660…1c680 66 69 72 73 74 29 20 6d 75 73 74 20 62 65 20 6f 64 64 29 2e 20 0d 0a 0d 0a 54 68 65 20 66 6f 6c   ┆first) must be odd).     The fol┆
0x1c680…1c6a0 6c 6f 77 69 6e 67 20 65 78 63 65 70 74 69 6f 6e 73 20 6d 61 79 20 6f 63 63 75 72 3a 20 0d 0a 0d   ┆lowing exceptions may occur:    ┆
0x1c6a0…1c6c0 0a 20 20 20 2d 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 27 6d 73   ┆    - the reference variable 'ms┆
0x1c6c0…1c6e0 67 27 20 69 73 20 6e 69 6c 20 20 20 20 2d 20 74 68 65 20 6d 65 73 73 61 67 65 20 27 6d 73 67 27   ┆g' is nil    - the message 'msg'┆
0x1c6e0…1c700 20 69 73 20 74 68 65 20 0a 64 61 74 61 20 6d 65 73 73 61 67 65 20 20 20 20 2d 20 27 6d 61 64 64   ┆ is the  data message    - 'madd┆
0x1c700…1c720 20 28 75 73 75 62 20 28 6c 61 73 74 2c 20 66 69 72 73 74 29 2c 20 31 29 27 20 69 73 20 6f 64 64   ┆ (usub (last, first), 1)' is odd┆
0x1c720…1c740 20 20 20 20 2d 20 73 69 7a 65 20 6f 66 20 0a 27 6d 73 67 27 20 69 73 20 74 6f 6f 20 73 6d 61 6c   ┆    - size of  'msg' is too smal┆
0x1c740…1c760 6c 20 20 20 20 2d 20 75 6c 74 20 28 6c 61 73 74 2c 20 66 69 72 73 74 29 20 0d 0a 0d 0a 0d 0a 0d   ┆l    - ult (last, first)        ┆
0x1c760…1c780 0a 16 53 43 0d 0a 4f 75 74 62 79 74 65 62 6c 6f 63 6b 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52   ┆  SC  Outbyteblock      PROCEDUR┆
0x1c780…1c7a0 45 20 6f 75 74 62 79 74 65 62 6c 6f 63 6b 20 28 56 41 52 20 6e 65 78 74 3a 20 69 6e 74 65 67 65   ┆E outbyteblock (VAR next: intege┆
0x1c7a0…1c7c0 72 3b 20 20 20 20 20 66 69 72 73 74 2c 20 6c 61 73 74 3a 20 69 6e 74 65 67 65 72 3b 20 20 20 20   ┆r;     first, last: integer;    ┆
0x1c7c0…1c7e0 20 0a 56 41 52 20 6d 73 67 20 3a 20 72 65 66 65 72 65 6e 63 65 29 3b 20 0d 0a 0d 0a 50 72 65 64   ┆  VAR msg : reference);     Pred┆
0x1c7e0…1c800 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 6f 75 74 70 75 74 73 20 61 20 62 6c   ┆efined.          - ёoutputs a bl┆
0x1c800…1c820 6f 63 6b 20 6f 66 20 62 79 74 65 73 20 66 72 6f 6d 20 74 68 65 20 64 61 74 61 62 75 66 66 65 72   ┆ock of bytes from the databuffer┆
0x1c820…1c840 20 73 70 65 63 69 66 69 65 64 20 62 79 20 27 6d 73 67 27 2c 20 0a 19 85 80 80 27 66 69 72 73 74   ┆ specified by 'msg',   Ёђђ'first┆
0x1c840…1c860 27 2c 20 61 6e 64 20 27 6c 61 73 74 27 20 74 6f 20 74 68 65 20 64 65 76 69 63 65 20 73 70 65 63   ┆', and 'last' to the device spec┆
0x1c860…1c880 69 66 69 65 64 20 62 79 20 74 68 65 20 63 75 72 72 65 6e 74 20 0a 19 85 80 80 69 6e 74 65 72 72   ┆ified by the current   Ёђђinterr┆
0x1c880…1c8a0 75 70 74 69 6f 6e 20 6c 65 76 65 6c 2e 20 57 68 65 6e 20 74 68 65 20 70 72 6f 63 65 64 75 72 65   ┆uption level. When the procedure┆
0x1c8a0…1c8c0 20 74 65 72 6d 69 6e 61 74 65 73 2c 20 27 6e 65 78 74 27 20 77 69 6c 6c 20 62 65 20 0a 19 85 80   ┆ terminates, 'next' will be   Ёђ┆
0x1c8c0…1c8e0 80 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 62 79 74 65 20 66 6f 6c 6c 6f 77 69 6e 67   ┆ђthe index of the byte following┆
0x1c8e0…1c900 20 74 68 65 20 6c 61 73 74 20 62 79 74 65 20 6f 75 74 70 75 74 2e 20 54 68 65 20 0a 19 85 80 80   ┆ the last byte output. The   Ёђђ┆
0x1c900…1c920 70 72 6f 63 65 64 75 72 65 20 77 69 6c 6c 20 74 65 72 6d 69 6e 61 74 65 20 77 68 65 6e 20 27 6e   ┆procedure will terminate when 'n┆
0x1c920…1c940 65 78 74 20 3d 20 6d 61 64 64 20 28 6c 61 73 74 2c 20 31 29 27 2e 20 0d 0a 0d 0a 49 66 20 6e 6f   ┆ext = madd (last, 1)'.     If no┆
0x1c940…1c960 74 68 69 6e 67 20 69 73 20 6f 75 74 70 75 74 20 6e 65 78 74 3d 66 69 72 73 74 2e 20 0d 0a 0d 0a   ┆thing is output next=first.     ┆
0x1c960…1c980 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 63 65 70 74 69 6f 6e 73 20 6d 61 79 20 6f 63 63   ┆The following exceptions may occ┆
0x1c980…1c9a0 75 72 3a 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 76 61   ┆ur:          - ёthe reference va┆
0x1c9a0…1c9c0 72 69 61 62 6c 65 20 27 6d 73 67 27 20 69 73 20 6e 69 6c 20 0d 0a 20 20 20 2d 20 84 74 68 65 20   ┆riable 'msg' is nil      - ёthe ┆
0x1c9c0…1c9e0 6d 65 73 73 61 67 65 20 27 6d 73 67 27 20 69 73 20 6e 6f 20 64 61 74 61 20 6d 65 73 73 61 67 65   ┆message 'msg' is no data message┆
0x1c9e0…1ca00 20 0d 0a 20 20 20 2d 20 84 73 69 7a 65 20 6f 66 20 27 6d 73 67 27 20 69 73 20 74 6f 6f 20 73 6d   ┆      - ёsize of 'msg' is too sm┆
0x1ca00…1ca20 61 6c 6c 20 0d 0a 20 20 20 2d 20 84 75 6c 74 20 28 6c 61 73 74 2c 20 66 69 72 73 74 29 20 0d 0a   ┆all      - ёult (last, first)   ┆
0x1ca20…1ca40 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 4f 75 74 77 6f 72 64 20 20 20 20 20 20 20 20 20 0d 0a 50 52 4f   ┆       SC  Outword           PRO┆
0x1ca40…1ca60 43 45 44 55 52 45 20 6f 75 74 77 6f 72 64 20 28 77 6f 72 64 3a 20 31 36 62 69 74 74 79 70 65 3b   ┆CEDURE outword (word: 16bittype;┆
0x1ca60…1ca80 56 41 52 20 63 68 6d 73 67 3a 20 72 65 66 65 72 65 6e 63 65 29 3b 20 0d 0a 0d 0a 4e 6f 74 20 70   ┆VAR chmsg: reference);     Not p┆
0x1ca80…1caa0 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 54 68 65 20 63 6f 6e 74 65   ┆redefined.          - ёThe conte┆
0x1caa0…1cac0 6e 74 73 20 6f 66 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 27 77 6f 72 64 27 20 61 72 65 20   ┆nts of the parameter 'word' are ┆
0x1cac0…1cae0 74 72 61 6e 73 66 65 72 72 65 64 20 74 6f 20 74 68 65 20 0a 19 85 80 80 44 41 54 41 4f 55 54 20   ┆transferred to the   ЁђђDATAOUT ┆
0x1cae0…1cb00 72 65 67 69 73 74 65 72 20 69 6e 20 74 68 65 20 64 65 76 69 63 65 20 73 65 6c 65 63 74 65 64 20   ┆register in the device selected ┆
0x1cb00…1cb20 62 79 20 74 68 65 20 63 68 61 6e 6e 65 6c 20 0a 19 85 80 80 6d 65 73 73 61 67 65 20 27 63 68 6d   ┆by the channel   Ёђђmessage 'chm┆
0x1cb20…1cb40 73 67 27 2e 20 54 68 65 20 63 75 72 72 65 6e 74 20 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65   ┆sg'. The current interruption le┆
0x1cb40…1cb60 76 65 6c 20 69 73 20 6e 6f 74 20 63 6c 65 61 72 65 64 20 73 6f 20 0a 19 85 80 80 74 68 65 20 6e   ┆vel is not cleared so   Ёђђthe n┆
0x1cb60…1cb80 65 78 74 20 73 74 61 74 65 6d 65 6e 74 20 69 73 20 65 78 65 63 75 74 65 64 20 77 69 74 68 6f 75   ┆ext statement is executed withou┆
0x1cb80…1cba0 74 20 77 61 69 74 69 6e 67 20 66 6f 72 20 69 6e 74 65 72 72 75 70 74 20 0a 19 85 80 80 66 72 6f   ┆t waiting for interrupt   Ёђђfro┆
0x1cba0…1cbc0 6d 20 74 68 65 20 64 65 76 69 63 65 2e 20 0d 0a 0d 0a 54 68 65 20 74 79 70 65 20 6f 66 20 27 77   ┆m the device.     The type of 'w┆
0x1cbc0…1cbe0 6f 72 64 27 20 6d 61 79 20 62 65 20 61 6e 79 20 74 79 70 65 20 6f 66 20 73 69 7a 65 20 31 36 20   ┆ord' may be any type of size 16 ┆
0x1cbe0…1cc00 62 69 74 73 2e 20 0d 0a 0d 0a 8c 8b b8 0a 41 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72   ┆bits.     їІИ An exception occur┆
0x1cc00…1cc20 73 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 69 74 75 61 74 69 6f 6e 73 3a 20 0d   ┆s in the following situations:  ┆
0x1cc20…1cc40 0a 0d 0a 0d 0a 20 20 20 2d 20 84 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c   ┆        - ёthe reference variabl┆
0x1cc40…1cc60 65 20 27 63 68 6d 73 67 27 20 69 73 20 6e 69 6c 20 0d 0a 20 20 20 2d 20 84 27 63 68 6d 73 67 27   ┆e 'chmsg' is nil      - ё'chmsg'┆
0x1cc60…1cc80 20 69 73 20 6e 6f 74 20 61 20 63 68 61 6e 6e 65 6c 20 6d 65 73 73 61 67 65 20 0d 0a 0d 0a 0d 0a   ┆ is not a channel message       ┆
0x1cc80…1cca0 0d 0a 16 53 43 0d 0a 4f 75 74 77 6f 72 64 62 6c 6f 63 6b 20 20 20 20 0d 0a 50 52 4f 43 45 44 55   ┆   SC  Outwordblock      PROCEDU┆
0x1cca0…1ccc0 52 45 20 6f 75 74 77 6f 72 64 62 6c 6f 63 6b 20 20 20 28 56 41 52 20 6e 65 78 74 3a 20 69 6e 74   ┆RE outwordblock   (VAR next: int┆
0x1ccc0…1cce0 65 67 65 72 3b 20 20 20 20 66 69 72 73 74 2c 20 6c 61 73 74 3a 20 0a 69 6e 74 65 67 65 72 3b 20   ┆eger;    first, last:  integer; ┆
0x1cce0…1cd00 20 20 20 56 41 52 20 6d 73 67 3a 20 72 65 66 65 72 65 6e 63 65 29 3b 20 0d 0a 0d 0a 50 72 65 64   ┆   VAR msg: reference);     Pred┆
0x1cd00…1cd20 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 6f 75 74 70 75 74 73 20 61 20 62 6c   ┆efined.          - ёoutputs a bl┆
0x1cd20…1cd40 6f 63 6b 20 6f 66 20 77 6f 72 64 73 20 66 72 6f 6d 20 74 68 65 20 64 61 74 61 20 62 75 66 66 65   ┆ock of words from the data buffe┆
0x1cd40…1cd60 72 20 73 70 65 63 69 66 69 65 64 20 62 79 20 0a 19 85 80 80 27 6d 73 67 27 2c 20 27 66 69 72 73   ┆r specified by   Ёђђ'msg', 'firs┆
0x1cd60…1cd80 74 27 2c 20 61 6e 64 20 27 6c 61 73 74 27 20 74 6f 20 74 68 65 20 64 65 76 69 63 65 20 73 70 65   ┆t', and 'last' to the device spe┆
0x1cd80…1cda0 63 69 66 69 65 64 20 62 79 20 74 68 65 20 63 75 72 72 65 6e 74 20 0a 19 85 80 80 69 6e 74 65 72   ┆cified by the current   Ёђђinter┆
0x1cda0…1cdc0 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c 2e 20 0d 0a 0d 0a 54 68 65 20 70 72 6f 63 65 64 75 72 65   ┆ruption level.     The procedure┆
0x1cdc0…1cde0 20 74 65 72 6d 69 6e 61 74 65 73 20 77 68 65 6e 20 27 6e 65 78 74 20 3d 20 6d 61 64 64 20 28 6c   ┆ terminates when 'next = madd (l┆
0x1cde0…1ce00 61 73 74 2c 20 31 29 27 2e 20 0d 0a 0d 0a 49 66 20 6e 6f 74 68 69 6e 67 20 69 73 20 6f 75 74 70   ┆ast, 1)'.     If nothing is outp┆
0x1ce00…1ce20 75 74 20 27 6e 65 78 74 3d 66 69 72 73 74 27 2e 20 0d 0a 0d 0a 46 69 72 73 74 20 61 6e 64 20 6c   ┆ut 'next=first'.     First and l┆
0x1ce20…1ce40 61 73 74 20 6d 75 73 74 20 73 70 65 63 69 66 79 20 61 6e 20 65 76 65 6e 20 6e 75 6d 62 65 72 20   ┆ast must specify an even number ┆
0x1ce40…1ce60 6f 66 20 62 79 74 65 73 20 28 27 75 73 75 62 20 28 6c 61 73 74 2c 20 0a 66 69 72 73 74 29 27 20   ┆of bytes ('usub (last,  first)' ┆
0x1ce60…1ce80 6d 75 73 74 20 62 65 20 6f 64 64 29 2e 20 0d 0a 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20   ┆must be odd).     The following ┆
0x1ce80…1cea0 65 78 63 65 70 74 69 6f 6e 73 20 6d 61 79 20 6f 63 63 75 72 3a 20 0d 0a 0d 0a 0d 0a 20 20 20 2d   ┆exceptions may occur:          -┆
0x1cea0…1cec0 20 84 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 6e 69 6c 20   ┆ ёthe reference variable is nil ┆
0x1cec0…1cee0 0d 0a 20 20 20 2d 20 84 74 68 65 20 6d 65 73 73 61 67 65 20 27 6d 73 67 27 20 69 73 20 6e 6f 20   ┆     - ёthe message 'msg' is no ┆
0x1cee0…1cf00 64 61 74 61 20 6d 65 73 73 61 67 65 20 0d 0a 20 20 20 2d 20 84 27 6d 61 64 64 20 28 75 73 75 62   ┆data message      - ё'madd (usub┆
0x1cf00…1cf20 20 28 6c 61 73 74 2c 20 66 69 72 73 74 29 2c 20 31 29 27 20 69 73 20 6f 64 64 20 0d 0a 20 20 20   ┆ (last, first), 1)' is odd      ┆
0x1cf20…1cf40 2d 20 84 73 69 7a 65 20 6f 66 20 27 6d 73 67 27 20 69 73 20 74 6f 6f 20 73 6d 61 6c 6c 20 0d 0a   ┆- ёsize of 'msg' is too small   ┆
0x1cf40…1cf60 20 20 20 2d 20 84 75 6c 74 20 28 6c 61 73 74 2c 20 66 69 72 73 74 29 20 0d 0a 16 53 43 0d 0a 4f   ┆   - ёult (last, first)    SC  O┆
0x1cf60…1cf80 75 74 77 6f 72 64 63 6c 72 20 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 6f 75 74 77 6f 72   ┆utwordclr       PROCEDURE outwor┆
0x1cf80…1cfa0 64 63 6c 72 20 28 77 6f 72 64 3a 20 31 36 62 69 74 74 79 70 65 29 3b 20 0d 0a 0d 0a 4e 6f 74 20   ┆dclr (word: 16bittype);     Not ┆
0x1cfa0…1cfc0 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 74 68 65 20 63 6f 6e 74   ┆predefined.          - ёthe cont┆
0x1cfc0…1cfe0 65 6e 74 73 20 6f 66 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 27 77 6f 72 64 27 20 61 72 65   ┆ents of the parameter 'word' are┆
0x1cfe0…1d000 20 74 72 61 6e 73 66 65 72 72 65 64 20 74 6f 20 74 68 65 20 0a 19 85 80 80 44 41 54 41 4f 55 54   ┆ transferred to the   ЁђђDATAOUT┆
0x1d000…1d020 20 72 65 67 69 73 74 65 72 20 69 6e 20 74 68 65 20 64 65 76 69 63 65 20 73 65 6c 65 63 74 65 64   ┆ register in the device selected┆
0x1d020…1d040 20 62 79 20 74 68 65 20 63 75 72 72 65 6e 74 20 0a 19 85 80 80 69 6e 74 65 72 72 75 70 74 69 6f   ┆ by the current   Ёђђinterruptio┆
0x1d040…1d060 6e 20 6c 65 76 65 6c 2e 20 49 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 6e 63 61 72 6e 61 74   ┆n level. If the process incarnat┆
0x1d060…1d080 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 0a 19 85 80 80 73 74 61 74 75 73 20 27 74   ┆ion does not have   Ёђђstatus 't┆
0x1d080…1d0a0 69 6d 65 64 6f 75 74 27 2c 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 6e 74 65 72 72 75 70 74 69   ┆imedout', the current interrupti┆
0x1d0a0…1d0c0 6f 6e 20 6c 65 76 65 6c 20 69 73 20 63 6c 65 61 72 65 64 2c 20 73 6f 20 0a 19 85 80 80 74 68 65   ┆on level is cleared, so   Ёђђthe┆
0x1d0c0…1d0e0 20 6e 65 78 74 20 73 74 61 74 65 6d 65 6e 74 20 69 73 20 65 78 65 63 75 74 65 64 2c 20 77 68 65   ┆ next statement is executed, whe┆
0x1d0e0…1d100 6e 20 61 6e 20 69 6e 74 65 72 72 75 70 74 20 61 72 72 69 76 65 73 20 66 72 6f 6d 20 0a 19 85 80   ┆n an interrupt arrives from   Ёђ┆
0x1d100…1d120 80 74 68 65 20 64 65 76 69 63 65 2e 20 49 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 6e 63 61   ┆ђthe device. If the process inca┆
0x1d120…1d140 72 6e 61 74 69 6f 6e 20 68 61 73 20 73 74 61 74 75 73 20 27 74 69 6d 65 64 6f 75 74 27 2c 20 0a   ┆rnation has status 'timedout',  ┆
0x1d140…1d160 19 85 80 80 65 78 65 63 75 74 69 6f 6e 20 63 6f 6e 74 69 6e 75 65 73 20 69 6d 6d 65 64 69 61 74   ┆ Ёђђexecution continues immediat┆
0x1d160…1d180 65 6c 79 2e 20 0d 0a 0d 0a 54 68 65 20 74 79 70 65 20 6f 66 20 27 77 6f 72 64 27 20 6d 61 79 20   ┆ely.     The type of 'word' may ┆
0x1d180…1d1a0 62 65 20 61 6e 79 20 74 79 70 65 20 6f 66 20 73 69 7a 65 20 31 36 20 62 69 74 73 2e 20 0d 0a 0d   ┆be any type of size 16 bits.    ┆
0x1d1a0…1d1c0 0a 0d 0a 0d 0a 16 53 43 0d 0a 52 65 73 65 72 76 65 63 68 20 20 20 20 20 20 20 0d 0a 46 55 4e 43   ┆      SC  Reservech         FUNC┆
0x1d1c0…1d1e0 54 49 4f 4e 20 72 65 73 65 72 76 65 63 68 20 28 56 41 52 20 63 68 6d 73 67 3a 20 72 65 66 65 72   ┆TION reservech (VAR chmsg: refer┆
0x1d1e0…1d200 65 6e 63 65 3b 20 6c 65 76 65 6c 2c 20 6d 61 73 6b 3a 20 69 6e 74 65 67 65 72 29 3a 20 0a 69 6e   ┆ence; level, mask: integer):  in┆
0x1d200…1d220 74 65 67 65 72 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20   ┆teger;     Predefined.          ┆
0x1d220…1d240 2d 20 84 61 6c 6c 6f 63 61 74 65 73 20 74 68 65 20 63 68 61 6e 6e 65 6c 20 6d 65 73 73 61 67 65   ┆- ёallocates the channel message┆
0x1d240…1d260 20 74 6f 20 74 68 65 20 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c 20 73 70 65 63 69   ┆ to the interruption level speci┆
0x1d260…1d280 66 69 65 64 20 0a 19 85 80 80 62 79 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 27 6c 65 76 65   ┆fied   Ёђђby the parameter 'leve┆
0x1d280…1d2a0 6c 27 2e 20 54 68 65 20 70 61 72 61 6d 65 74 65 72 20 27 6d 61 73 6b 27 20 69 73 20 69 6e 74 65   ┆l'. The parameter 'mask' is inte┆
0x1d2a0…1d2c0 6e 64 65 64 20 66 6f 72 20 0a 19 85 80 80 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74   ┆nded for   Ёђђspecification of t┆
0x1d2c0…1d2e0 68 65 20 61 63 74 69 6f 6e 73 20 74 68 65 20 75 73 65 72 20 77 61 6e 74 73 20 74 6f 20 70 65 72   ┆he actions the user wants to per┆
0x1d2e0…1d300 66 6f 72 6d 20 6f 6e 20 74 68 65 20 0a 19 85 80 80 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65   ┆form on the   Ёђђinterruption le┆
0x1d300…1d320 76 65 6c 2e 20 54 68 65 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 6e 6f 74 20 75 73 65 64 20 69   ┆vel. The parameter is not used i┆
0x1d320…1d340 6e 20 74 68 69 73 20 72 65 76 69 73 69 6f 6e 2e 20 0d 0a 0d 0a 8c 8c 80 0a 52 65 73 75 6c 74 73   ┆n this revision.     їїђ Results┆
0x1d340…1d360 20 20 4d 65 61 6e 69 6e 67 20 1f 1f 1f 1f 30 1f 1f 1f 1f 52 65 73 65 72 76 61 74 69 6f 6e 20 4f   ┆  Meaning     0    Reservation O┆
0x1d360…1d380 4b 2e 20 27 63 68 6d 73 67 27 20 72 65 66 65 72 73 20 74 6f 20 74 68 65 20 0a 1f 1f 1f 1f 1f 1f   ┆K. 'chmsg' refers to the        ┆
0x1d380…1d3a0 1f 1f 1f 61 6c 6c 6f 63 61 74 65 64 20 63 68 61 6e 6e 65 6c 20 6d 65 73 73 61 67 65 2e 20 1f 1f   ┆   allocated channel message.   ┆
0x1d3a0…1d3c0 1f 1f 31 1f 1f 1f 1f 54 68 65 20 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c 20 0a 69   ┆  1    The interruption level  i┆
0x1d3c0…1d3e0 73 20 61 6c 72 65 61 64 79 20 72 65 73 65 72 76 65 64 20 1f 1f 1f 1f 1f 1f 1f 1f 1f 6f 72 20 69   ┆s already reserved          or i┆
0x1d3e0…1d400 73 20 6e 6f 74 20 69 6e 73 74 61 6c 6c 65 64 2e 20 1f 1f 1f 1f 32 1f 1f 1f 1f 54 68 65 20 0a 72   ┆s not installed.     2    The  r┆
0x1d400…1d420 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 27 63 68 6d 73 67 27 20 69 73 20 6e 6f 74   ┆eference variable 'chmsg' is not┆
0x1d420…1d440 20 6e 69 6c 20 1f 1f 1f 1f 1f 1f 1f 1f 1f 62 65 66 6f 72 65 20 63 61 6c 6c 2e 20 0d 0a 16 53 43   ┆ nil          before call.    SC┆
0x1d440…1d460 0d 0a 52 65 73 65 72 76 65 65 78 74 6d 65 6d 20 20 20 0d 0a 46 55 4e 43 54 49 4f 4e 20 72 65 73   ┆  Reserveextmem     FUNCTION res┆
0x1d460…1d480 65 72 76 65 65 78 74 6d 65 6d 28 56 41 52 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 3b 20 63 6c   ┆erveextmem(VAR r : reference; cl┆
0x1d480…1d4a0 61 73 73 2c 73 69 7a 65 2c 6d 65 6d 6e 6f 2c 64 69 73 70 20 3a 20 0a 69 6e 74 65 67 65 72 29 20   ┆ass,size,memno,disp :  integer) ┆
0x1d4a0…1d4c0 3a 20 69 6e 74 65 67 65 72 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d   ┆: integer;     Not predefined.  ┆
0x1d4c0…1d4e0 0a 0d 0a 2d 1f 1f 1f 1f 61 6c 6c 6f 63 61 74 65 73 20 61 20 64 61 74 61 20 6d 65 73 73 61 67 65   ┆   -    allocates a data message┆
0x1d4e0…1d500 20 69 6e 20 74 68 65 20 61 72 65 61 20 38 30 2e 30 30 30 30 20 74 6f 20 39 65 2e 66 66 66 66 2c   ┆ in the area 80.0000 to 9e.ffff,┆
0x1d500…1d520 20 63 61 6c 6c 65 64 20 0a 27 65 78 74 65 72 6e 61 6c 20 52 41 4d 27 2e 20 54 68 65 20 73 74 61   ┆ called  'external RAM'. The sta┆
0x1d520…1d540 72 74 20 61 64 64 72 65 73 73 20 69 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 27 6d 65 6d 6e   ┆rt address is specified by 'memn┆
0x1d540…1d560 6f 27 20 61 6e 64 20 27 64 69 73 70 27 2e 20 0a 54 68 65 20 62 75 66 66 65 72 73 69 7a 65 20 69   ┆o' and 'disp'.  The buffersize i┆
0x1d560…1d580 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 27 73 69 7a 65 27 20 69 6e 20 77 6f 72 64 73 20 61   ┆s specified by 'size' in words a┆
0x1d580…1d5a0 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 73 69 7a 65 20 0a 63 6f 6e 76 65 6e 74 69 6f 6e   ┆ccording to the size  convention┆
0x1d5a0…1d5c0 73 2e 20 27 43 6c 61 73 73 27 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 74 79 70 65 20 6f 66   ┆s. 'Class' specifies the type of┆
0x1d5c0…1d5e0 20 63 68 65 63 6b 2c 20 74 68 65 20 72 6f 75 74 69 6e 65 20 70 65 72 66 6f 72 6d 73 20 0a 64 75   ┆ check, the routine performs  du┆
0x1d5e0…1d600 72 69 6e 67 20 72 65 73 65 72 76 61 74 69 6f 6e 2e 20 0d 0a 0d 0a 54 68 65 20 6d 65 6d 6f 72 79   ┆ring reservation.     The memory┆
0x1d600…1d620 20 68 61 73 20 74 68 65 20 66 6f 72 6d 61 74 20 28 62 79 20 63 6f 6e 76 65 6e 74 69 6f 6e 29 3a   ┆ has the format (by convention):┆
0x1d620…1d640 20 6d 65 6d 20 3d 20 52 45 43 4f 52 44 20 20 20 20 20 20 20 20 0a 69 6e 74 72 2c 20 20 20 20 20   ┆ mem = RECORD         intr,     ┆
0x1d640…1d660 20 20 20 72 65 73 65 74 2c 20 20 20 20 20 20 20 20 63 6c 61 73 73 2c 20 20 20 20 20 20 20 20 73   ┆   reset,        class,        s┆
0x1d660…1d680 69 7a 65 6c 73 62 2c 20 20 20 20 20 20 20 20 73 69 7a 65 6d 73 62 2c 20 20 20 20 20 20 20 20 0a   ┆izelsb,        sizemsb,         ┆
0x1d680…1d6a0 76 65 72 73 69 6f 6e 2c 20 20 20 20 20 20 20 20 69 6e 74 72 6e 6f 20 3a 20 62 79 74 65 3b 20 20   ┆version,        intrno : byte;  ┆
0x1d6a0…1d6c0 20 20 20 20 20 20 73 70 61 72 65 20 3a 20 41 52 52 41 59 20 28 37 2e 2e 33 31 29 20 4f 46 20 62   ┆      spare : ARRAY (7..31) OF b┆
0x1d6c0…1d6e0 79 74 65 3b 20 20 20 20 20 20 20 0a 45 4e 44 20 49 66 20 27 73 69 7a 65 27 3d 20 30 20 2c 20 74   ┆yte;        END If 'size'= 0 , t┆
0x1d6e0…1d700 68 65 20 73 69 7a 65 20 69 73 20 74 61 6b 65 6e 20 66 72 6f 6d 20 74 68 65 20 6d 65 6d 6f 72 79   ┆he size is taken from the memory┆
0x1d700…1d720 20 6c 6f 63 61 74 69 6f 6e 73 20 0a 27 73 69 7a 65 6c 73 62 27 2c 20 61 6e 64 20 27 73 69 7a 65   ┆ locations  'sizelsb', and 'size┆
0x1d720…1d740 6d 73 62 27 2c 20 77 68 69 63 68 20 69 73 20 74 68 65 20 73 69 7a 65 20 69 6e 20 62 79 74 65 73   ┆msb', which is the size in bytes┆
0x1d740…1d760 20 6f 6e 20 49 6e 74 65 6c 20 69 6e 74 65 67 65 72 20 0a 66 6f 72 6d 2e 20 0d 0a 0d 0a 54 68 65   ┆ on Intel integer  form.     The┆
0x1d760…1d780 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 68 65 63 6b 73 20 61 72 65 20 70 65 72 66 6f 72 6d 65 64 3a   ┆ following checks are performed:┆
0x1d780…1d7a0 20 63 6c 61 73 73 3d 31 1f 1f 1f 4e 6f 20 63 68 65 63 6b 2e 20 0a 63 6c 61 73 73 3d 32 1f 1f 1f   ┆ class=1   No check.  class=2   ┆
0x1d7a0…1d7c0 6d 65 6d 2e 72 65 73 65 74 20 3d 20 36 2e 20 6f 74 68 65 72 77 69 73 65 1f 6d 65 6d 2e 63 6c 61   ┆mem.reset = 6. otherwise mem.cla┆
0x1d7c0…1d7e0 73 73 20 3d 20 63 6c 61 73 73 2e 20 0d 0a 0d 0a 52 65 73 75 6c 74 20 20 20 20 20 20 4d 65 61 6e   ┆ss = class.     Result      Mean┆
0x1d7e0…1d800 69 6e 67 20 30 1f 1f 1f 1f 52 65 73 65 72 76 61 74 69 6f 6e 20 6f 6b 2e 20 27 72 27 20 72 65 66   ┆ing 0    Reservation ok. 'r' ref┆
0x1d800…1d820 65 72 73 20 74 6f 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 0a 6d 65 6d 6f 72 79 2e 20 27 4d   ┆ers to the specified  memory. 'M┆
0x1d820…1d840 65 73 73 61 67 65 6b 69 6e 64 27 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 7a 65 72 6f   ┆essagekind' is greater than zero┆
0x1d840…1d860 20 61 6e 64 20 27 73 69 7a 65 27 20 69 73 20 74 68 65 20 61 63 74 75 61 6c 20 0a 73 69 7a 65 20   ┆ and 'size' is the actual  size ┆
0x1d860…1d880 69 6e 20 77 6f 72 64 73 2e 20 31 1f 1f 1f 1f 41 6c 72 65 61 64 79 20 72 65 73 65 72 76 65 64 2e   ┆in words. 1    Already reserved.┆
0x1d880…1d8a0 20 54 68 65 20 6d 65 6d 6f 72 79 20 69 73 20 6f 63 63 75 70 69 65 64 2c 20 6f 72 20 74 68 65 20   ┆ The memory is occupied, or the ┆
0x1d8a0…1d8c0 0a 72 65 71 75 65 73 74 65 64 20 6d 65 6d 6f 72 79 20 6f 76 65 72 6c 61 70 73 20 61 6e 20 61 72   ┆ requested memory overlaps an ar┆
0x1d8c0…1d8e0 65 61 2c 20 77 68 69 63 68 20 69 73 20 61 6c 72 65 61 64 79 20 72 65 73 65 72 76 65 64 2e 20 0a   ┆ea, which is already reserved.  ┆
0x1d8e0…1d900 32 1f 1f 1f 1f 54 68 65 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 27 72 27 20   ┆2    The reference variable 'r' ┆
0x1d900…1d920 69 73 20 6e 6f 74 20 6e 69 6c 20 62 65 66 6f 72 65 20 63 61 6c 6c 2e 20 33 1f 1f 1f 1f 49 6c 6c   ┆is not nil before call. 3    Ill┆
0x1d920…1d940 65 67 61 6c 20 0a 27 6d 65 6d 6e 6f 27 2e 20 4f 6e 6c 79 20 6d 6f 64 75 6c 65 73 20 69 6e 20 74   ┆egal  'memno'. Only modules in t┆
0x1d940…1d960 68 65 20 72 61 6e 67 65 20 30 2e 2e 31 35 20 61 72 65 20 6c 65 67 61 6c 2e 20 34 1f 1f 1f 1f 4e   ┆he range 0..15 are legal. 4    N┆
0x1d960…1d980 6f 20 6d 65 6d 6f 72 79 2e 20 0a 4e 6f 20 70 68 79 73 69 63 61 6c 20 6d 65 6d 6f 72 79 20 69 73   ┆o memory.  No physical memory is┆
0x1d980…1d9a0 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 20 74 68 65 20 72 65 71 75 65 73 74 65 64 20 61 72 65 61   ┆ installed in the requested area┆
0x1d9a0…1d9c0 2e 20 35 1f 1f 1f 1f 49 6c 6c 65 67 61 6c 20 0a 63 6c 61 73 73 2e 20 54 68 65 20 72 65 71 75 65   ┆. 5    Illegal  class. The reque┆
0x1d9c0…1d9e0 73 74 65 64 20 63 6c 61 73 73 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 20 6c 6f   ┆sted class does not match the lo┆
0x1d9e0…1da00 63 61 74 69 6f 6e 20 27 6d 65 6d 2e 63 6c 61 73 73 27 2e 20 0a 4e 6f 74 65 20 63 6c 61 73 73 31   ┆cation 'mem.class'.  Note class1┆
0x1da00…1da20 20 61 6e 64 20 63 6c 61 73 73 32 2e 20 36 1f 1f 1f 1f 4e 6f 20 72 65 73 6f 75 72 63 65 73 2e 20   ┆ and class2. 6    No resources. ┆
0x1da20…1da40 4d 65 73 73 61 67 65 20 68 65 61 64 65 72 73 20 63 6f 75 6c 64 20 6e 6f 74 20 0a 62 65 20 61 6c   ┆Message headers could not  be al┆
0x1da40…1da60 6c 6f 63 61 74 65 64 20 74 6f 20 64 65 73 63 72 69 62 65 20 74 68 65 20 72 65 71 75 65 73 74 65   ┆located to describe the requeste┆
0x1da60…1da80 64 20 6d 65 6d 6f 72 79 20 61 72 65 61 2e 20 37 1f 1f 1f 1f 49 6c 6c 65 67 61 6c 20 73 69 7a 65   ┆d memory area. 7    Illegal size┆
0x1da80…1daa0 2e 20 0a 27 73 69 7a 65 3d 30 27 20 69 73 20 72 65 74 75 72 6e 65 64 20 66 72 6f 6d 20 74 68 65   ┆.  'size=0' is returned from the┆
0x1daa0…1dac0 20 6d 65 6d 6f 72 79 20 6c 6f 63 61 74 69 6f 6e 73 20 27 73 69 7a 65 6c 73 62 27 2c 20 61 6e 64   ┆ memory locations 'sizelsb', and┆
0x1dac0…1dae0 20 0a 27 73 69 7a 65 6d 73 62 27 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 53 65 6e 73 65 20   ┆  'sizemsb'.          SC  Sense ┆
0x1dae0…1db00 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 65 6e 73 65 20 28 56 41 52 20 73 74 61 74 75 73 5f 69 6e   ┆  PROCEDURE sense (VAR status_in┆
0x1db00…1db20 3a 20 31 36 62 69 74 74 79 70 65 3b 20 20 20 20 20 20 20 20 73 74 61 74 75 73 5f 6f 75 74 3a 20   ┆: 16bittype;        status_out: ┆
0x1db20…1db40 0a 31 36 62 69 74 74 79 70 65 3b 20 20 20 20 20 20 20 20 56 41 52 20 63 68 6d 73 67 3a 20 72 65   ┆ 16bittype;        VAR chmsg: re┆
0x1db40…1db60 66 65 72 65 6e 63 65 29 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a   ┆ference);     Not predefined.   ┆
0x1db60…1db80 0d 0a 0d 0a 20 20 20 2d 20 84 54 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 70 61   ┆       - ёThe contents of the pa┆
0x1db80…1dba0 72 61 6d 65 74 65 72 20 27 73 74 61 74 75 73 5f 6f 75 74 27 20 61 72 65 20 74 72 61 6e 73 66 65   ┆rameter 'status_out' are transfe┆
0x1dba0…1dbc0 72 72 65 64 20 74 6f 20 0a 19 85 80 80 74 68 65 20 53 54 41 54 55 53 4f 55 54 20 72 65 67 69 73   ┆rred to   Ёђђthe STATUSOUT regis┆
0x1dbc0…1dbe0 74 65 72 20 69 6e 20 74 68 65 20 64 65 76 69 63 65 20 73 65 6c 65 63 74 65 64 20 62 79 20 74 68   ┆ter in the device selected by th┆
0x1dbe0…1dc00 65 20 63 68 61 6e 6e 65 6c 20 0a 19 85 80 80 6d 65 73 73 61 67 65 20 27 63 68 6d 73 67 27 2e 20   ┆e channel   Ёђђmessage 'chmsg'. ┆
0x1dc00…1dc20 41 73 20 61 20 72 65 73 70 6f 6e 73 65 20 66 72 6f 6d 20 74 68 65 20 64 65 76 69 63 65 20 74 68   ┆As a response from the device th┆
0x1dc20…1dc40 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 0a 19 85 80 80 74 68 65 20 53 54 41 54 55 53 49 4e 20   ┆e contents of   Ёђђthe STATUSIN ┆
0x1dc40…1dc60 72 65 67 69 73 74 65 72 20 61 72 65 20 74 72 61 6e 73 66 65 72 72 65 64 20 74 6f 20 74 68 65 20   ┆register are transferred to the ┆
0x1dc60…1dc80 70 61 72 61 6d 65 74 65 72 20 0a 19 85 80 80 27 73 74 61 74 75 73 5f 69 6e 27 2e 20 54 68 65 20   ┆parameter   Ёђђ'status_in'. The ┆
0x1dc80…1dca0 63 75 72 72 65 6e 74 20 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c 20 69 73 20 6e 6f   ┆current interruption level is no┆
0x1dca0…1dcc0 74 20 63 6c 65 61 72 65 64 20 73 6f 20 74 68 65 20 0a 19 85 80 80 6e 65 78 74 20 73 74 61 74 65   ┆t cleared so the   Ёђђnext state┆
0x1dcc0…1dce0 6d 65 6e 74 20 69 73 20 65 78 65 63 75 74 65 64 20 77 69 74 68 6f 75 74 20 77 61 69 74 69 6e 67   ┆ment is executed without waiting┆
0x1dce0…1dd00 20 66 6f 72 20 69 6e 74 65 72 72 75 70 74 20 66 72 6f 6d 20 0a 19 85 80 80 74 68 65 20 64 65 76   ┆ for interrupt from   Ёђђthe dev┆
0x1dd00…1dd20 69 63 65 2e 20 0d 0a 0d 0a 8c 8a c0 0a 54 68 65 20 74 79 70 65 20 6f 66 20 27 73 74 61 74 75 73   ┆ice.     їі└ The type of 'status┆
0x1dd20…1dd40 5f 69 6e 27 20 61 6e 64 20 27 73 74 61 74 75 73 5f 6f 75 74 27 20 6d 61 79 20 62 65 20 61 6e 79   ┆_in' and 'status_out' may be any┆
0x1dd40…1dd60 20 74 79 70 65 20 6f 66 20 73 69 7a 65 20 31 36 20 0a 62 69 74 73 2e 20 0d 0a 0d 0a 41 6e 20 65   ┆ type of size 16  bits.     An e┆
0x1dd60…1dd80 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72 73 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67   ┆xception occurs in the following┆
0x1dd80…1dda0 20 73 69 74 75 61 74 69 6f 6e 73 3a 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 74 68 65 20 72 65 66   ┆ situations:          - ёthe ref┆
0x1dda0…1ddc0 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 27 63 68 6d 73 67 27 20 69 73 20 6e 69 6c 20 0d   ┆erence variable 'chmsg' is nil  ┆
0x1ddc0…1dde0 0a 20 20 20 2d 20 84 63 68 6d 73 67 20 69 73 20 6e 6f 74 20 61 20 63 68 61 6e 6e 65 6c 20 6d 65   ┆    - ёchmsg is not a channel me┆
0x1dde0…1de00 73 73 61 67 65 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 53 65 6e 73 65 63 6c 72 20 20 20 20 20   ┆ssage          SC  Senseclr     ┆
0x1de00…1de20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 65 6e 73 65 63 6c 72 20 28 56 41 52 20 73 74 61   ┆     PROCEDURE senseclr (VAR sta┆
0x1de20…1de40 74 75 73 5f 69 6e 3a 20 31 36 62 69 74 74 79 70 65 3b 20 73 74 61 74 75 73 5f 6f 75 74 3a 20 31   ┆tus_in: 16bittype; status_out: 1┆
0x1de40…1de60 36 62 69 74 74 79 70 65 3b 20 0a 63 6f 6d 70 61 72 65 20 20 20 2c 20 6d 61 73 6b 20 3a 20 69 6e   ┆6bittype;  compare   , mask : in┆
0x1de60…1de80 74 65 67 65 72 29 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a   ┆teger);     Not predefined.     ┆
0x1de80…1dea0 0d 0a 20 20 20 2d 20 84 54 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 70 61 72 61   ┆     - ёThe contents of the para┆
0x1dea0…1dec0 6d 65 74 65 72 20 27 73 74 61 74 75 73 5f 6f 75 74 27 20 61 72 65 20 74 72 61 6e 73 66 65 72 72   ┆meter 'status_out' are transferr┆
0x1dec0…1dee0 65 64 20 74 6f 20 0a 19 85 80 80 74 68 65 20 53 54 41 54 55 53 4f 55 54 20 72 65 67 69 73 74 65   ┆ed to   Ёђђthe STATUSOUT registe┆
0x1dee0…1df00 72 20 69 6e 20 74 68 65 20 64 65 76 69 63 65 20 73 65 6c 65 63 74 65 64 20 62 79 20 74 68 65 20   ┆r in the device selected by the ┆
0x1df00…1df20 63 75 72 72 65 6e 74 20 0a 19 85 80 80 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c 2e   ┆current   Ёђђinterruption level.┆
0x1df20…1df40 20 54 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 53 54 41 54 55 53 49 4e 20 72 65   ┆ The contents of the STATUSIN re┆
0x1df40…1df60 67 69 73 74 65 72 20 61 72 65 20 0a 19 85 80 80 74 72 61 6e 73 66 65 72 72 65 64 20 74 6f 20 52   ┆gister are   Ёђђtransferred to R┆
0x1df60…1df80 43 33 35 30 32 2e 20 49 66 20 53 54 41 54 55 53 49 4e 20 41 4e 44 20 27 6d 61 73 6b 27 20 3d 20   ┆C3502. If STATUSIN AND 'mask' = ┆
0x1df80…1dfa0 27 63 6f 6d 70 61 72 65 27 2c 20 0a 19 85 80 80 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 63 6f 6e   ┆'compare',   Ёђђthe original con┆
0x1dfa0…1dfc0 74 65 6e 74 73 20 6f 66 20 74 68 65 20 53 54 41 54 55 53 49 4e 20 72 65 67 69 73 74 65 72 20 61   ┆tents of the STATUSIN register a┆
0x1dfc0…1dfe0 72 65 20 74 72 61 6e 73 66 65 72 72 65 64 20 0a 19 85 80 80 74 6f 20 74 68 65 20 70 61 72 61 6d   ┆re transferred   Ёђђto the param┆
0x1dfe0…1e000 65 74 65 72 20 27 73 74 61 74 75 73 5f 69 6e 27 2c 20 61 6e 64 20 74 68 65 20 6e 65 78 74 20 73   ┆eter 'status_in', and the next s┆
0x1e000…1e020 74 61 74 65 6d 65 6e 74 20 69 73 20 65 78 65 63 75 74 65 64 20 0a 19 85 80 80 77 69 74 68 6f 75   ┆tatement is executed   Ёђђwithou┆
0x1e020…1e040 74 20 77 61 69 74 69 6e 67 20 66 6f 72 20 69 6e 74 65 72 72 75 70 74 20 66 72 6f 6d 20 74 68 65   ┆t waiting for interrupt from the┆
0x1e040…1e060 20 64 65 76 69 63 65 2e 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 0a 19 85 80 80 63 75 72 72   ┆ device. Otherwise the   Ёђђcurr┆
0x1e060…1e080 65 6e 74 20 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c 20 69 73 20 63 6c 65 61 72 65   ┆ent interruption level is cleare┆
0x1e080…1e0a0 64 20 61 6e 64 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 0a 19 85 80 80 72 65 70 65   ┆d and the procedure is   Ёђђrepe┆
0x1e0a0…1e0c0 61 74 65 64 2c 20 77 68 65 6e 20 74 68 65 20 6e 65 78 74 20 69 6e 74 65 72 72 75 70 74 20 61 72   ┆ated, when the next interrupt ar┆
0x1e0c0…1e0e0 72 69 76 65 73 20 66 72 6f 6d 20 74 68 65 20 64 65 76 69 63 65 2c 20 0a 19 85 80 80 75 6e 6c 65   ┆rives from the device,   Ёђђunle┆
0x1e0e0…1e100 73 73 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 63 68 61 6e 67   ┆ss the process incarnation chang┆
0x1e100…1e120 65 73 20 73 74 61 74 75 73 20 74 6f 20 27 74 69 6d 65 64 6f 75 74 27 2e 20 0d 0a 0d 0a 54 68 65   ┆es status to 'timedout'.     The┆
0x1e120…1e140 20 74 79 70 65 20 6f 66 20 27 73 74 61 74 75 73 5f 69 6e 27 20 61 6e 64 20 27 73 74 61 74 75 73   ┆ type of 'status_in' and 'status┆
0x1e140…1e160 5f 6f 75 74 27 20 6d 61 79 20 62 65 20 61 6e 79 20 74 79 70 65 20 6f 66 20 73 69 7a 65 20 31 36   ┆_out' may be any type of size 16┆
0x1e160…1e180 20 0a 62 69 74 73 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 53 65 74 69 6e 74 65 72 72 75 70   ┆  bits.          SC  Setinterrup┆
0x1e180…1e1a0 74 20 20 20 20 0d 0a 50 52 4f 43 45 44 55 52 45 20 73 65 74 69 6e 74 65 72 72 75 70 74 20 28 56   ┆t      PROCEDURE setinterrupt (V┆
0x1e1a0…1e1c0 41 52 20 63 68 3a 20 72 65 66 65 72 65 6e 63 65 29 3b 20 0d 0a 0d 0a 4e 6f 74 20 70 72 65 64 65   ┆AR ch: reference);     Not prede┆
0x1e1c0…1e1e0 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 61 63 74 69 76 61 74 65 73 20 74 68 65   ┆fined.          - ёactivates the┆
0x1e1e0…1e200 20 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c 20 63 6f 6e 74 72 6f 6c 6c 65 64 20 62   ┆ interruption level controlled b┆
0x1e200…1e220 79 20 74 68 65 20 63 68 61 6e 6e 65 6c 20 0a 19 85 80 80 6d 65 73 73 61 67 65 20 27 63 68 27 2e   ┆y the channel   Ёђђmessage 'ch'.┆
0x1e220…1e240 20 0d 0a 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 63 65 70 74 69 6f 6e 73 20 6d 61   ┆     The following exceptions ma┆
0x1e240…1e260 79 20 6f 63 63 75 72 3a 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 74 68 65 20 72 65 66 65 72 65 6e   ┆y occur:          - ёthe referen┆
0x1e260…1e280 63 65 20 76 61 72 69 61 62 6c 65 20 63 68 6d 73 67 20 69 73 20 6e 69 6c 20 0d 0a 20 20 20 2d 20   ┆ce variable chmsg is nil      - ┆
0x1e280…1e2a0 84 63 68 6d 73 67 20 69 73 20 6e 6f 74 20 61 20 63 68 61 6e 6e 65 6c 20 6d 65 73 73 61 67 65 20   ┆ёchmsg is not a channel message ┆
0x1e2a0…1e2c0 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 54 69 6d 65 64 6f 75 74 20 20 20 20 20 20 20 20 0d 0a 46   ┆         SC  Timedout          F┆
0x1e2c0…1e2e0 55 4e 43 54 49 4f 4e 20 74 69 6d 65 64 6f 75 74 20 3a 20 62 6f 6f 6c 65 61 6e 3b 20 0d 0a 0d 0a   ┆UNCTION timedout : boolean;     ┆
0x1e2e0…1e300 4e 6f 74 20 70 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 8c 8a c0 0a 0d 0a 20 20 20 2d 20 84   ┆Not predefined.     їі└      - ё┆
0x1e300…1e320 74 72 75 65 3a 1f 1f 54 68 65 20 70 72 6f 63 65 73 73 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 68   ┆true:  The process incarnation h┆
0x1e320…1e340 61 73 20 73 74 61 74 75 73 20 27 74 69 6d 65 64 6f 75 74 27 2e 20 54 68 65 20 73 74 61 74 75 73   ┆as status 'timedout'. The status┆
0x1e340…1e360 20 0a 19 85 80 80 69 73 20 63 6c 65 61 72 65 64 20 61 6e 64 20 4f 57 4e 2e 54 49 4d 45 52 20 69   ┆   Ёђђis cleared and OWN.TIMER i┆
0x1e360…1e380 6e 69 74 69 61 6c 69 7a 65 64 20 74 6f 20 7a 65 72 6f 2e 20 0d 0a 0d 0a 1f 1f 1f 1f 1f 66 61 6c   ┆nitialized to zero.          fal┆
0x1e380…1e3a0 73 65 3a 1f 54 68 65 20 70 72 6f 63 65 73 73 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 69 73 20 6e   ┆se: The process incarnation is n┆
0x1e3a0…1e3c0 6f 74 20 27 74 69 6d 65 64 20 6f 75 74 27 2e 20 0d 0a 16 53 43 0d 0a 57 61 69 74 69 20 0d 0a 50   ┆ot 'timed out'.    SC  Waiti   P┆
0x1e3c0…1e3e0 52 4f 43 45 44 55 52 45 20 77 61 69 74 69 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20   ┆ROCEDURE waiti;     Predefined. ┆
0x1e3e0…1e400 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 77 61 69 74 73 20 66 6f 72 20 61 6e 20 69 6e 74 65 72 72 75   ┆         - ёwaits for an interru┆
0x1e400…1e420 70 74 20 66 72 6f 6d 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 64 65 76 69 63 65 2e 20 49 66 20 65   ┆pt from an external device. If e┆
0x1e420…1e440 78 65 63 75 74 65 64 20 6f 6e 20 0a 19 85 80 80 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65 76   ┆xecuted on   Ёђђinterruption lev┆
0x1e440…1e460 65 6c 20 30 20 28 63 6c 61 73 73 20 49 49 20 6f 72 20 49 49 49 29 2c 20 74 68 65 20 63 61 6c 6c   ┆el 0 (class II or III), the call┆
0x1e460…1e480 65 72 20 77 69 6c 6c 20 62 65 20 0a 19 85 80 80 70 65 72 6d 61 6e 65 6e 74 6c 79 20 64 65 73 63   ┆er will be   Ёђђpermanently desc┆
0x1e480…1e4a0 68 65 64 75 6c 65 64 20 28 1f 1f 73 75 69 63 69 64 65 29 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43   ┆heduled (  suicide).          SC┆
0x1e4a0…1e4c0 0d 0a 57 61 69 74 69 64 0d 0a 46 55 4e 43 54 49 4f 4e 20 77 61 69 74 69 64 20 28 64 65 6c 61 79   ┆  Waitid  FUNCTION waitid (delay┆
0x1e4c0…1e4e0 20 3a 20 69 6e 74 65 67 65 72 29 20 3a 20 61 63 74 69 76 61 74 69 6f 6e 3b 20 0d 0a 0d 0a 70 72   ┆ : integer) : activation;     pr┆
0x1e4e0…1e500 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 77 61 69 74 73 20 66 6f 72 20   ┆edefined.          - ёwaits for ┆
0x1e500…1e520 74 77 6f 20 6b 69 6e 64 73 20 6f 66 20 65 76 65 6e 74 3a 20 20 20 31 2e 20 41 6e 20 69 6e 74 65   ┆two kinds of event:   1. An inte┆
0x1e520…1e540 72 72 75 70 74 20 28 61 5f 69 6e 74 65 72 72 75 70 74 29 20 20 20 20 20 20 20 20 20 0a 19 85 80   ┆rrupt (a_interrupt)           Ёђ┆
0x1e540…1e560 80 32 2e 20 45 78 70 69 72 61 74 69 6f 6e 20 6f 66 20 61 20 64 65 6c 61 79 20 70 65 72 69 6f 64   ┆ђ2. Expiration of a delay period┆
0x1e560…1e580 20 28 61 5f 64 65 6c 61 79 29 20 0d 0a 0d 0a 54 68 65 20 76 61 72 69 61 62 6c 65 20 4f 57 4e 2e   ┆ (a_delay)     The variable OWN.┆
0x1e580…1e5a0 54 49 4d 45 52 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 74 6f 20 27 64 65 6c 61 79 27 20   ┆TIMER is initialized to 'delay' ┆
0x1e5a0…1e5c0 62 65 66 6f 72 65 20 74 68 65 20 77 61 69 74 20 69 73 20 0a 70 65 72 66 6f 72 6d 65 64 2e 20 0d   ┆before the wait is  performed.  ┆
0x1e5c0…1e5e0 0a 0d 0a 4e 6f 74 65 20 74 68 61 74 20 64 65 6c 61 79 20 61 63 74 69 76 61 74 69 6f 6e 20 6f 6e   ┆   Note that delay activation on┆
0x1e5e0…1e600 6c 79 20 74 61 6b 65 73 20 70 6c 61 63 65 20 69 66 20 74 68 65 20 72 6f 75 74 69 6e 65 20 0a 27   ┆ly takes place if the routine  '┆
0x1e600…1e620 64 65 66 69 6e 65 74 69 6d 65 72 27 20 68 61 73 20 62 65 65 6e 20 63 61 6c 6c 65 64 2e 20 0d 0a   ┆definetimer' has been called.   ┆
0x1e620…1e640 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 57 61 69 74 69 73 0d 0a 46 55 4e 43 54 49 4f 4e 20 77 61 69 74   ┆       SC  Waitis  FUNCTION wait┆
0x1e640…1e660 69 73 20 28 56 41 52 20 72 3a 20 72 65 66 65 72 65 6e 63 65 3b 20 20 20 20 20 20 20 20 56 41 52   ┆is (VAR r: reference;        VAR┆
0x1e660…1e680 20 73 3a 20 73 65 6d 61 70 68 6f 72 65 29 20 3a 20 0a 61 63 74 69 76 61 74 69 6f 6e 3b 20 0d 0a   ┆ s: semaphore) :  activation;   ┆
0x1e680…1e6a0 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 77 61 69 74 73 20   ┆  Predefined.          - ёwaits ┆
0x1e6a0…1e6c0 66 6f 72 20 74 77 6f 20 6b 69 6e 64 73 20 6f 66 20 65 76 65 6e 74 3a 20 0d 0a 0d 0a 20 20 20 20   ┆for two kinds of event:         ┆
0x1e6c0…1e6e0 20 20 20 20 31 2e 20 41 6e 20 69 6e 74 65 72 72 75 70 74 20 28 61 5f 69 6e 74 65 72 72 75 70 74   ┆    1. An interrupt (a_interrupt┆
0x1e6e0…1e700 29 20 20 20 20 20 20 20 20 20 32 2e 20 54 68 65 20 61 72 72 69 76 61 6c 20 6f 66 20 61 20 0a 6d   ┆)         2. The arrival of a  m┆
0x1e700…1e720 65 73 73 61 67 65 20 74 6f 20 74 68 65 20 20 20 73 65 6d 61 70 68 6f 72 65 20 73 20 28 61 5f 73   ┆essage to the   semaphore s (a_s┆
0x1e720…1e740 65 6d 61 70 68 6f 72 65 29 20 0d 0a 0d 0a 41 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 63 63 75 72   ┆emaphore)     An exception occur┆
0x1e740…1e760 73 20 69 66 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 27 72 27 20 69 73 20 6e 6f 74 20 6e 69   ┆s if the reference 'r' is not ni┆
0x1e760…1e780 6c 2e 20 0d 0a 16 53 43 0d 0a 57 61 69 74 69 73 64 20 20 20 20 20 20 20 20 20 0d 0a 46 55 4e 43   ┆l.    SC  Waitisd           FUNC┆
0x1e780…1e7a0 54 49 4f 4e 20 77 61 69 74 69 73 64 20 28 56 41 52 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 3b   ┆TION waitisd (VAR r : reference;┆
0x1e7a0…1e7c0 20 20 20 20 20 20 20 20 20 56 41 52 20 73 20 3a 20 73 65 6d 61 70 68 6f 72 65 3b 20 20 20 20 20   ┆         VAR s : semaphore;     ┆
0x1e7c0…1e7e0 20 20 20 20 0a 64 65 6c 61 79 20 3a 20 69 6e 74 65 67 65 72 20 20 20 29 3a 20 61 63 74 69 76 61   ┆     delay : integer   ): activa┆
0x1e7e0…1e800 74 69 6f 6e 3b 20 0d 0a 0d 0a 50 72 65 64 65 66 69 6e 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d   ┆tion;     Predefined.          -┆
0x1e800…1e820 20 84 77 61 69 74 73 20 66 6f 72 20 74 68 72 65 65 20 6b 69 6e 64 73 20 6f 66 20 65 76 65 6e 74   ┆ ёwaits for three kinds of event┆
0x1e820…1e840 73 3a 20 0d 0a 0d 0a 31 2e 1f 41 6e 20 69 6e 74 65 72 72 75 70 74 20 28 61 5f 69 6e 74 65 72 72   ┆s:     1. An interrupt (a_interr┆
0x1e840…1e860 75 70 74 29 2e 20 32 2e 1f 54 68 65 20 61 72 72 69 76 61 6c 20 6f 66 20 61 20 6d 65 73 73 61 67   ┆upt). 2. The arrival of a messag┆
0x1e860…1e880 65 20 74 6f 20 74 68 65 20 0a 73 65 6d 61 70 68 6f 72 65 20 73 20 28 61 5f 73 65 6d 61 70 68 6f   ┆e to the  semaphore s (a_semapho┆
0x1e880…1e8a0 72 65 29 2e 20 33 2e 1f 45 78 70 69 72 61 74 69 6f 6e 20 6f 66 20 61 20 64 65 6c 61 79 20 70 65   ┆re). 3. Expiration of a delay pe┆
0x1e8a0…1e8c0 72 69 6f 64 20 28 61 5f 64 65 6c 61 79 29 2e 20 0d 0a 0d 0a 8c 8b 88 0a 41 6e 20 65 78 63 65 70   ┆riod (a_delay).     їІѕ An excep┆
0x1e8c0…1e8e0 74 69 6f 6e 20 6f 63 63 75 72 73 20 69 66 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 27 72 27   ┆tion occurs if the reference 'r'┆
0x1e8e0…1e900 20 69 73 20 6e 6f 74 20 6e 69 6c 2e 20 0d 0a 16 53 42 0d 0a 54 48 45 20 52 43 33 35 30 32 20 4d   ┆ is not nil.    SB  THE RC3502 M┆
0x1e900…1e920 41 43 48 49 4e 45 20 20 20 20 20 20 20 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 16 53 42 0d 0a 52 75 6e   ┆ACHINE                   SB  Run┆
0x1e920…1e940 20 54 69 6d 65 20 45 6e 76 69 72 6f 6e 6d 65 6e 74 20 20 20 20 20 20 0d 0a 41 66 74 65 72 20 61   ┆ Time Environment        After a┆
0x1e940…1e960 75 74 6f 6c 6f 61 64 20 61 6e 64 20 73 79 73 74 65 6d 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f   ┆utoload and system initializatio┆
0x1e960…1e980 6e 2c 20 74 68 65 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 73 74 72 75 63 74 75 72 65 20 69 73 3a   ┆n, the incarnation structure is:┆
0x1e980…1e9a0 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d   ┆                                ┆
0x1e9a0…1e9c0 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 06   ┆                                ┆
0x1e9c0…1e9e0 46 69 67 2e 20 20 36 2e 20 49 6e 63 61 72 6e 61 74 69 6f 6e 20 73 74 72 75 63 74 75 72 65 20 61   ┆Fig.  6. Incarnation structure a┆
0x1e9e0…1ea00 66 74 65 72 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 0d 0a 0d 0a 4d 4f 4e 49 54 4f 52 1f   ┆fter initialization     MONITOR ┆
0x1ea00…1ea20 1f 1f 1f 1f 70 65 72 66 6f 72 6d 73 20 6d 65 64 69 75 6d 20 74 65 72 6d 20 73 63 68 65 64 75 6c   ┆    performs medium term schedul┆
0x1ea20…1ea40 69 6e 67 20 28 53 54 41 52 54 2c 20 53 54 4f 50 29 2e 20 0d 0a 0d 0a 54 49 4d 45 52 1f 1f 1f 1f   ┆ing (START, STOP).     TIMER    ┆
0x1ea40…1ea60 1f 1f 1f 70 65 72 66 6f 72 6d 73 20 64 65 6c 61 79 20 74 69 6d 69 6e 67 2c 20 74 69 6d 65 20 6f   ┆   performs delay timing, time o┆
0x1ea60…1ea80 75 74 20 6f 66 20 69 6e 63 61 72 6e 61 74 69 6f 6e 73 2c 20 61 6e 64 20 0a 63 6f 6e 74 72 6f 6c   ┆ut of incarnations, and  control┆
0x1ea80…1eaa0 73 20 61 20 73 79 73 74 65 6d 20 63 6c 6f 63 6b 20 66 6f 72 20 74 69 6d 65 20 73 74 61 6d 70 69   ┆s a system clock for time stampi┆
0x1eaa0…1eac0 6e 67 2e 20 0d 0a 0d 0a 41 4c 4c 4f 43 41 54 4f 52 1f 1f 1f 61 64 6d 69 6e 69 73 74 65 72 73 20   ┆ng.     ALLOCATOR   administers ┆
0x1eac0…1eae0 61 6c 6c 6f 63 61 74 69 6f 6e 20 61 6e 64 20 64 65 61 6c 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 52   ┆allocation and deallocation of R┆
0x1eae0…1eb00 41 4d 20 6d 65 6d 6f 72 79 20 0a 61 6e 64 20 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65 76 65   ┆AM memory  and interruption leve┆
0x1eb00…1eb20 6c 73 2e 20 0d 0a 0d 0a 41 44 41 4d 1f 1f 1f 1f 1f 1f 1f 1f 69 73 20 74 68 65 20 72 6f 6f 74 20   ┆ls.     ADAM        is the root ┆
0x1eb20…1eb40 6f 66 20 74 68 65 20 64 79 6e 61 6d 69 63 20 74 72 65 65 20 6f 66 20 69 6e 63 61 72 6e 61 74 69   ┆of the dynamic tree of incarnati┆
0x1eb40…1eb60 6f 6e 73 2e 20 41 44 41 4d 20 0a 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 63 72 65 61 74 65 73   ┆ons. ADAM  automatically creates┆
0x1eb60…1eb80 20 61 6e 64 20 73 74 61 72 74 73 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 69 6e 63 61 72 6e 61 74   ┆ and starts a number of incarnat┆
0x1eb80…1eba0 69 6f 6e 73 3a 20 0d 0a 0d 0a 2d 20 46 53 20 2d 20 49 4d 43 53 54 41 52 54 20 2d 20 4f 50 53 59   ┆ions:     - FS - IMCSTART - OPSY┆
0x1eba0…1ebc0 53 20 2d 20 53 20 0d 0a 0d 0a 8c 89 f8 0a 4c 49 4e 4b 45 52 1f 1f 1f 1f 1f 1f 61 64 6d 69 6e 69   ┆S - S     їЅЭ LINKER      admini┆
0x1ebc0…1ebe0 73 74 65 72 73 20 61 20 63 61 74 61 6c 6f 67 20 6f 66 20 70 72 6f 63 65 73 73 65 73 20 61 6e 64   ┆sters a catalog of processes and┆
0x1ebe0…1ec00 20 72 6f 75 74 69 6e 65 73 2c 20 74 68 65 20 0a 4c 49 4e 4b 45 52 20 63 61 74 61 6c 6f 67 2e 20   ┆ routines, the  LINKER catalog. ┆
0x1ec00…1ec20 0d 0a 0d 0a 4f 50 45 52 41 54 4f 52 20 43 4f 4e 53 4f 4c 45 1f 1f 1f 1f 1f 69 73 20 74 68 65 20   ┆    OPERATOR CONSOLE     is the ┆
0x1ec20…1ec40 69 6e 74 65 72 66 61 63 65 20 62 65 74 77 65 65 6e 20 61 20 68 75 6d 61 6e 20 6f 70 65 72 61 74   ┆interface between a human operat┆
0x1ec40…1ec60 6f 72 20 0a 61 6e 64 20 74 68 65 20 72 75 6e 6e 69 6e 67 20 69 6e 63 61 72 6e 61 74 69 6f 6e 73   ┆or  and the running incarnations┆
0x1ec60…1ec80 2e 20 43 4f 4e 53 4f 4c 45 20 70 65 72 66 6f 72 6d 73 20 69 6e 70 75 74 2f 6f 75 74 70 75 74 20   ┆. CONSOLE performs input/output ┆
0x1ec80…1eca0 74 6f 20 74 68 65 20 0a 64 65 62 75 67 20 63 6f 6e 73 6f 6c 65 2e 20 0d 0a 0d 0a 4f 50 45 52 41   ┆to the  debug console.     OPERA┆
0x1eca0…1ecc0 54 4f 52 20 68 61 6e 64 6c 65 73 20 6d 65 73 73 61 67 65 73 20 73 69 67 6e 61 6c 6c 65 64 20 74   ┆TOR handles messages signalled t┆
0x1ecc0…1ece0 6f 20 74 68 65 20 6f 70 65 72 61 74 6f 72 20 73 65 6d 61 70 68 6f 72 65 2e 20 0d 0a 0d 0a 4f 50   ┆o the operator semaphore.     OP┆
0x1ece0…1ed00 53 59 53 1f 1f 1f 1f 1f 1f 1f 69 73 20 61 20 63 6f 6d 6d 61 6e 64 20 69 6e 74 65 72 70 72 65 74   ┆SYS       is a command interpret┆
0x1ed00…1ed20 65 72 2c 20 66 75 6e 63 74 69 6f 6e 69 6e 67 20 61 73 20 61 6e 20 69 6e 74 65 72 66 61 63 65 20   ┆er, functioning as an interface ┆
0x1ed20…1ed40 0a 62 65 74 77 65 65 6e 20 61 20 68 75 6d 61 6e 20 6f 70 65 72 61 74 6f 72 20 61 6e 64 20 74 68   ┆ between a human operator and th┆
0x1ed40…1ed60 65 20 52 75 6e 20 54 69 6d 65 20 70 72 6f 63 65 73 73 65 73 2e 20 0d 0a 0d 0a 45 58 43 45 50 54   ┆e Run Time processes.     EXCEPT┆
0x1ed60…1ed80 49 4f 4e 1f 1f 1f 70 72 69 6e 74 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 64 79 6e 61 6d   ┆ION   prints a list of the dynam┆
0x1ed80…1eda0 69 63 20 63 68 61 69 6e 20 6f 66 20 72 6f 75 74 69 6e 65 20 63 61 6c 6c 73 2c 20 0a 77 68 65 6e   ┆ic chain of routine calls,  when┆
0x1eda0…1edc0 20 61 20 70 72 6f 63 65 73 73 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 67 6f 65 73 20 69 6e 74 6f   ┆ a process incarnation goes into┆
0x1edc0…1ede0 20 61 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 20 28 65 78 63 65 70 74 69 6f 6e 29 2e 20 0d 0a   ┆ a runtime error (exception).   ┆
0x1ede0…1ee00 0d 0a 53 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 49 66 20 61 20 70 72 6f 63 65 73 73 20 53 20 65 78 69   ┆  S           If a process S exi┆
0x1ee00…1ee20 73 74 73 20 69 6e 20 74 68 65 20 4c 49 4e 4b 45 52 20 63 61 74 61 6c 6f 67 2c 20 61 6e 20 0a 69   ┆sts in the LINKER catalog, an  i┆
0x1ee20…1ee40 6e 63 61 72 6e 61 74 69 6f 6e 20 6f 66 20 53 20 77 69 6c 6c 20 62 65 20 63 72 65 61 74 65 64 20   ┆ncarnation of S will be created ┆
0x1ee40…1ee60 61 6e 64 20 73 74 61 72 74 65 64 2e 20 54 68 69 73 20 77 69 6c 6c 20 62 65 20 74 68 65 20 63 61   ┆and started. This will be the ca┆
0x1ee60…1ee80 73 65 20 0a 77 68 65 6e 20 61 20 70 72 6f 63 65 73 73 20 53 20 69 73 20 62 6c 61 73 74 65 64 20   ┆se  when a process S is blasted ┆
0x1ee80…1eea0 69 6e 20 50 52 4f 4d 20 6f 72 20 61 75 74 6f 6c 6f 61 64 65 64 2e 20 0d 0a 0d 0a 53 20 6d 61 79   ┆in PROM or autoloaded.     S may┆
0x1eea0…1eec0 20 72 65 70 6c 61 63 65 20 4f 50 53 59 53 20 62 79 20 69 74 73 20 6f 77 6e 20 4e 45 57 5f 4f 50   ┆ replace OPSYS by its own NEW_OP┆
0x1eec0…1eee0 53 59 53 2e 20 0d 0a 16 53 42 0d 0a 4d 4f 4e 49 54 4f 52 20 50 72 6f 63 65 73 73 20 0d 0a 54 68   ┆SYS.    SB  MONITOR Process   Th┆
0x1eee0…1ef00 65 20 6d 61 69 6e 20 70 75 72 70 6f 73 65 20 6f 66 20 74 68 65 20 4d 6f 6e 69 74 6f 72 20 69 73   ┆e main purpose of the Monitor is┆
0x1ef00…1ef20 20 74 6f 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20 73 65 74 20 6f 66 20 61 63 74 69 76 65 20 0a 69   ┆ to control the set of active  i┆
0x1ef20…1ef40 6e 63 61 72 6e 61 74 69 6f 6e 73 2e 20 0d 0a 0d 0a 54 68 65 20 61 63 74 69 76 65 20 69 6e 63 61   ┆ncarnations.     The active inca┆
0x1ef40…1ef60 72 6e 61 74 69 6f 6e 73 20 61 72 65 20 64 69 76 69 64 65 64 20 69 6e 74 6f 20 74 68 72 65 65 20   ┆rnations are divided into three ┆
0x1ef60…1ef80 70 72 69 6f 72 69 74 79 20 63 6c 61 73 73 65 73 3a 20 0d 0a 0d 0a 43 6c 61 73 73 20 49 3a 1f 1f   ┆priority classes:     Class I:  ┆
0x1ef80…1efa0 20 48 69 67 68 20 70 72 69 6f 72 69 74 79 20 43 6c 61 73 73 20 49 49 3a 1f 20 4d 65 64 69 75 6d   ┆ High priority Class II:  Medium┆
0x1efa0…1efc0 20 70 72 69 6f 72 69 74 79 20 43 6c 61 73 73 20 49 49 49 3a 20 4c 6f 77 20 0a 70 72 69 6f 72 69   ┆ priority Class III: Low  priori┆
0x1efc0…1efe0 74 79 20 0d 0a 0d 0a 53 63 68 65 64 75 6c 69 6e 67 20 6f 66 20 63 6c 61 73 73 20 49 20 69 6e 63   ┆ty     Scheduling of class I inc┆
0x1efe0…1f000 61 72 6e 61 74 69 6f 6e 73 20 69 73 20 6d 61 6e 61 67 65 64 20 62 79 20 74 68 65 20 68 61 72 64   ┆arnations is managed by the hard┆
0x1f000…1f020 77 61 72 65 20 0a 69 6e 74 65 72 72 75 70 74 20 70 72 69 6f 72 69 74 79 20 6d 65 63 68 61 6e 69   ┆ware  interrupt priority mechani┆
0x1f020…1f040 73 6d 2e 20 49 6e 63 61 72 6e 61 74 69 6f 6e 73 20 69 6e 20 63 6c 61 73 73 20 49 20 61 72 65 20   ┆sm. Incarnations in class I are ┆
0x1f040…1f060 72 75 6e 6e 69 6e 67 20 6f 6e 20 61 6e 20 0a 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65 76 65   ┆running on an  interruption leve┆
0x1f060…1f080 6c 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 7a 65 72 6f 2e 20 0d 0a 0d 0a 43 6c 61 73 73 20 49   ┆l greater than zero.     Class I┆
0x1f080…1f0a0 49 20 61 6e 64 20 49 49 49 20 69 6e 63 61 72 6e 61 74 69 6f 6e 73 20 61 72 65 20 72 75 6e 6e 69   ┆I and III incarnations are runni┆
0x1f0a0…1f0c0 6e 67 20 6f 6e 20 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c 20 30 2e 20 0d 0a 0d 0a   ┆ng on interruption level 0.     ┆
0x1f0c0…1f0e0 53 63 68 65 64 75 6c 69 6e 67 20 6f 66 20 63 6c 61 73 73 20 49 49 20 61 6e 64 20 49 49 49 20 69   ┆Scheduling of class II and III i┆
0x1f0e0…1f100 6e 63 61 72 6e 61 74 69 6f 6e 73 20 69 73 20 61 6c 73 6f 20 70 65 72 66 6f 72 6d 65 64 20 62 79   ┆ncarnations is also performed by┆
0x1f100…1f120 20 74 68 65 20 0a 68 61 72 64 77 61 72 65 2e 20 0d 0a 0d 0a 54 68 65 20 63 6c 61 73 73 20 49 49   ┆ the  hardware.     The class II┆
0x1f120…1f140 20 69 6e 63 61 72 6e 61 74 69 6f 6e 73 20 61 72 65 20 73 63 68 65 64 75 6c 65 64 20 61 63 63 6f   ┆ incarnations are scheduled acco┆
0x1f140…1f160 72 64 69 6e 67 20 74 6f 20 69 6e 74 65 72 6e 61 6c 20 70 72 69 6f 72 69 74 79 20 0a 69 6e 20 74   ┆rding to internal priority  in t┆
0x1f160…1f180 68 65 20 63 6c 61 73 73 20 61 6e 64 20 72 6f 75 6e 64 20 72 6f 62 69 6e 20 66 6f 72 20 61 20 67   ┆he class and round robin for a g┆
0x1f180…1f1a0 69 76 65 6e 20 70 72 69 6f 72 69 74 79 2e 20 0d 0a 0d 0a 54 68 65 20 63 6c 61 73 73 20 49 49 49   ┆iven priority.     The class III┆
0x1f1a0…1f1c0 20 69 6e 63 61 72 6e 61 74 69 6f 6e 73 20 61 72 65 20 73 63 68 65 64 75 6c 65 64 20 61 66 74 65   ┆ incarnations are scheduled afte┆
0x1f1c0…1f1e0 72 20 61 20 74 69 6d 65 20 73 6c 69 63 65 64 20 72 6f 75 6e 64 20 0a 72 6f 62 69 6e 20 61 6c 67   ┆r a time sliced round  robin alg┆
0x1f1e0…1f200 6f 72 69 74 68 6d 20 77 69 74 68 20 62 75 69 6c 74 2d 69 6e 20 70 72 69 6f 72 69 74 79 2e 20 0d   ┆orithm with built-in priority.  ┆
0x1f200…1f220 0a 0d 0a 54 68 65 20 6d 6f 6e 69 74 6f 72 20 69 73 20 61 63 74 69 76 61 74 65 64 2c 20 77 68 65   ┆   The monitor is activated, whe┆
0x1f220…1f240 6e 20 69 6e 63 61 72 6e 61 74 69 6f 6e 73 20 63 61 6c 6c 20 74 68 65 20 72 6f 75 74 69 6e 65 73   ┆n incarnations call the routines┆
0x1f240…1f260 20 42 52 45 41 4b 2c 20 0a 52 45 4d 4f 56 45 2c 20 53 54 41 52 54 2c 20 6f 72 20 53 54 4f 50 2e   ┆ BREAK,  REMOVE, START, or STOP.┆
0x1f260…1f280 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 42 0d 0a 44 72 69 76 65 72 20 50 72 6f 63 65 73 73 65 73 0d 0a   ┆          SB  Driver Processes  ┆
0x1f280…1f2a0 42 79 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 61 20 64 72 69 76 65 72 20 70 72 6f 63 65 73 73 20   ┆By definition, a driver process ┆
0x1f2a0…1f2c0 69 73 20 61 20 70 72 6f 63 65 73 73 20 77 68 69 63 68 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20   ┆is a process which contains the ┆
0x1f2c0…1f2e0 0d 0a 0d 0a 43 48 41 4e 4e 45 4c 20 3c 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 3e   ┆    CHANNEL <reference variable>┆
0x1f2e0…1f300 20 44 4f 20 3c 73 74 61 74 65 6d 65 6e 74 73 3e 3b 20 0d 0a 0d 0a 8c 8a 90 0a 63 6f 6e 73 74 72   ┆ DO <statements>;     їіљ constr┆
0x1f300…1f320 75 63 74 69 6f 6e 20 6f 72 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 2f 6f 75 74   ┆uction or the standard input/out┆
0x1f320…1f340 70 75 74 20 72 6f 75 74 69 6e 65 73 20 66 72 6f 6d 20 63 68 61 70 74 65 72 20 34 2e 38 2e 20 0d   ┆put routines from chapter 4.8.  ┆
0x1f340…1f360 0a 0d 0a 41 63 63 65 73 73 20 74 6f 20 6d 6f 73 74 20 69 6e 70 75 74 2f 6f 75 74 70 75 74 20 72   ┆   Access to most input/output r┆
0x1f360…1f380 6f 75 74 69 6e 65 73 20 61 6e 64 20 74 68 65 20 43 48 41 4e 4e 45 4c 20 73 74 61 74 65 6d 65 6e   ┆outines and the CHANNEL statemen┆
0x1f380…1f3a0 74 20 69 73 20 0a 61 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 77 68 69 63 68   ┆t is  a reference variable which┆
0x1f3a0…1f3c0 20 72 65 66 65 72 73 20 74 6f 20 61 20 6d 65 73 73 61 67 65 20 6f 66 20 6b 69 6e 64 20 27 63 68   ┆ refers to a message of kind 'ch┆
0x1f3c0…1f3e0 61 6e 6e 65 6c 20 0a 6d 65 73 73 61 67 65 27 2e 20 0d 0a 0d 0a 41 20 63 68 61 6e 6e 65 6c 20 6d   ┆annel  message'.     A channel m┆
0x1f3e0…1f400 65 73 73 61 67 65 20 69 73 20 6f 62 74 61 69 6e 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68   ┆essage is obtained by calling th┆
0x1f400…1f420 65 20 72 6f 75 74 69 6e 65 20 52 45 53 45 52 56 45 43 48 20 0a 73 70 65 63 69 66 79 69 6e 67 20   ┆e routine RESERVECH  specifying ┆
0x1f420…1f440 74 68 65 20 64 65 76 69 63 65 20 6f 72 20 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c   ┆the device or interruption level┆
0x1f440…1f460 2c 20 74 68 65 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 77 61 6e 74 73 20 74 6f 20 0a 63 6f 6e 74   ┆, the incarnation wants to  cont┆
0x1f460…1f480 72 6f 6c 2e 20 0d 0a 0d 0a 54 68 65 20 73 79 73 74 65 6d 20 67 75 61 72 61 6e 74 65 65 73 20 74   ┆rol.     The system guarantees t┆
0x1f480…1f4a0 68 61 74 20 61 74 20 6d 6f 73 74 20 6f 6e 65 20 63 68 61 6e 6e 65 6c 20 6d 65 73 73 61 67 65 20   ┆hat at most one channel message ┆
0x1f4a0…1f4c0 69 73 20 61 6c 6c 6f 63 61 74 65 64 20 0a 70 65 72 20 64 65 76 69 63 65 20 6f 72 20 69 6e 74 65   ┆is allocated  per device or inte┆
0x1f4c0…1f4e0 72 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c 2e 20 0d 0a 0d 0a 57 68 65 6e 20 61 6e 20 69 6e 63 61   ┆rruption level.     When an inca┆
0x1f4e0…1f500 72 6e 61 74 69 6f 6e 20 65 78 65 63 75 74 65 73 20 61 20 63 68 61 6e 6e 65 6c 20 73 74 61 74 65   ┆rnation executes a channel state┆
0x1f500…1f520 6d 65 6e 74 20 6f 72 20 63 61 6c 6c 73 20 61 6e 20 0a 69 6e 70 75 74 2f 6f 75 74 70 75 74 20 72   ┆ment or calls an  input/output r┆
0x1f520…1f540 6f 75 74 69 6e 65 2c 20 77 68 69 63 68 20 64 65 6d 61 6e 64 73 20 61 20 63 68 61 6e 6e 65 6c 20   ┆outine, which demands a channel ┆
0x1f540…1f560 6d 65 73 73 61 67 65 2c 20 69 74 20 69 73 20 63 68 65 63 6b 65 64 20 0a 74 68 61 74 20 74 68 65   ┆message, it is checked  that the┆
0x1f560…1f580 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 6e 6f 74 20 6e 69 6c 20 61   ┆ reference variable is not nil a┆
0x1f580…1f5a0 6e 64 20 74 68 61 74 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 0a   ┆nd that the reference variable  ┆
0x1f5a0…1f5c0 72 65 66 65 72 73 20 74 6f 20 61 20 6d 65 73 73 61 67 65 20 68 65 61 64 65 72 20 6f 66 20 6b 69   ┆refers to a message header of ki┆
0x1f5c0…1f5e0 6e 64 20 27 63 68 61 6e 6e 65 6c 20 6d 65 73 73 61 67 65 27 2e 20 0d 0a 0d 0a 49 6e 20 74 68 65   ┆nd 'channel message'.     In the┆
0x1f5e0…1f600 20 69 6e 70 75 74 2f 6f 75 74 70 75 74 20 72 6f 75 74 69 6e 65 73 2c 20 77 68 69 63 68 20 64 6f   ┆ input/output routines, which do┆
0x1f600…1f620 20 6e 6f 74 20 77 61 69 74 20 66 6f 72 20 61 6e 20 69 6e 74 65 72 72 75 70 74 20 66 72 6f 6d 20   ┆ not wait for an interrupt from ┆
0x1f620…1f640 0a 74 68 65 20 64 65 76 69 63 65 2c 20 74 68 69 73 20 69 73 20 61 6c 73 6f 20 63 68 65 63 6b 65   ┆ the device, this is also checke┆
0x1f640…1f660 64 2e 20 0d 0a 0d 0a 42 65 66 6f 72 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 66   ┆d.     Before execution of the f┆
0x1f660…1f680 69 72 73 74 20 73 74 61 74 65 6d 65 6e 74 20 69 6e 20 74 68 65 20 43 48 41 4e 4e 45 4c 20 73 74   ┆irst statement in the CHANNEL st┆
0x1f680…1f6a0 61 74 65 6d 65 6e 74 2c 20 0a 74 68 65 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 68 61 73 20 65 6e   ┆atement,  the incarnation has en┆
0x1f6a0…1f6c0 74 65 72 65 64 20 74 68 65 20 63 6c 61 73 73 20 49 20 70 72 69 6f 72 69 74 79 20 63 6c 61 73 73   ┆tered the class I priority class┆
0x1f6c0…1f6e0 2e 20 41 6e 20 65 76 65 6e 74 75 61 6c 6c 79 20 0a 27 74 69 6d 65 64 1f 6f 75 74 27 20 73 74 61   ┆. An eventually  'timed out' sta┆
0x1f6e0…1f700 74 75 73 20 69 73 20 63 6c 65 61 72 65 64 2e 20 0d 0a 0d 0a 54 68 65 20 73 74 61 74 65 6d 65 6e   ┆tus is cleared.     The statemen┆
0x1f700…1f720 74 73 20 69 6e 20 74 68 65 20 43 48 41 4e 4e 45 4c 20 73 74 61 74 65 6d 65 6e 74 20 61 72 65 20   ┆ts in the CHANNEL statement are ┆
0x1f720…1f740 65 78 65 63 75 74 65 64 20 6f 6e 20 74 68 65 20 0a 68 61 72 64 77 61 72 65 20 69 6e 74 65 72 72   ┆executed on the  hardware interr┆
0x1f740…1f760 75 70 74 69 6f 6e 20 6c 65 76 65 6c 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 63 68   ┆uption level specified by the ch┆
0x1f760…1f780 61 6e 6e 65 6c 20 6d 65 73 73 61 67 65 2e 20 0d 0a 0d 0a 41 66 74 65 72 20 65 78 65 63 75 74 69   ┆annel message.     After executi┆
0x1f780…1f7a0 6f 6e 20 6f 66 20 74 68 65 20 6c 61 73 74 20 73 74 61 74 65 6d 65 6e 74 20 69 6e 20 74 68 65 20   ┆on of the last statement in the ┆
0x1f7a0…1f7c0 43 48 41 4e 4e 45 4c 20 73 74 61 74 65 6d 65 6e 74 2c 20 74 68 65 20 0a 69 6e 63 61 72 6e 61 74   ┆CHANNEL statement, the  incarnat┆
0x1f7c0…1f7e0 69 6f 6e 20 72 65 65 6e 74 65 72 73 20 74 68 65 20 70 72 69 6f 72 69 74 79 20 63 6c 61 73 73 20   ┆ion reenters the priority class ┆
0x1f7e0…1f800 28 49 49 20 6f 72 20 49 49 49 29 20 77 68 69 63 68 20 74 68 65 20 0a 69 6e 63 61 72 6e 61 74 69   ┆(II or III) which the  incarnati┆
0x1f800…1f820 6f 6e 20 6c 65 66 74 2c 20 77 68 65 6e 20 65 6e 74 65 72 69 6e 67 20 74 68 65 20 43 48 41 4e 4e   ┆on left, when entering the CHANN┆
0x1f820…1f840 45 4c 20 73 74 61 74 65 6d 65 6e 74 2e 20 41 6e 20 0a 65 76 65 6e 74 75 61 6c 6c 79 20 27 74 69   ┆EL statement. An  eventually 'ti┆
0x1f840…1f860 6d 65 64 1f 6f 75 74 27 20 73 74 61 74 75 73 20 69 73 20 63 6c 65 61 72 65 64 2e 20 0d 0a 0d 0a   ┆med out' status is cleared.     ┆
0x1f860…1f880 54 68 65 20 75 73 65 72 20 73 68 6f 75 6c 64 20 62 65 20 76 65 72 79 20 6d 75 63 68 20 61 77 61   ┆The user should be very much awa┆
0x1f880…1f8a0 72 65 20 6f 66 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 74 68 65 20 65 78 65 63 75 74 69 6f   ┆re of the fact that the executio┆
0x1f8a0…1f8c0 6e 20 0a 6f 66 20 69 6e 63 61 72 6e 61 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 70 72 69 6f 72 69   ┆n  of incarnations in the priori┆
0x1f8c0…1f8e0 74 79 20 63 6c 61 73 73 65 73 20 49 49 20 61 6e 64 20 49 49 49 2c 20 62 65 73 69 64 65 73 20 61   ┆ty classes II and III, besides a┆
0x1f8e0…1f900 6c 6c 20 0a 69 6e 63 61 72 6e 61 74 69 6f 6e 73 20 72 75 6e 6e 69 6e 67 20 61 74 20 61 20 68 61   ┆ll  incarnations running at a ha┆
0x1f900…1f920 72 64 77 61 72 65 20 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c 20 6c 65 73 73 20 74   ┆rdware interruption level less t┆
0x1f920…1f940 68 61 6e 20 74 68 65 20 0a 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c 20 6f 66 20 74   ┆han the  interruption level of t┆
0x1f940…1f960 68 65 20 75 73 65 72 27 73 20 69 6e 63 61 72 6e 61 74 69 6f 6e 73 2c 20 69 73 20 64 69 73 61 62   ┆he user's incarnations, is disab┆
0x1f960…1f980 6c 65 64 20 77 68 69 6c 65 20 0a 65 78 65 63 75 74 69 6e 67 20 73 74 61 74 65 6d 65 6e 74 73 20   ┆led while  executing statements ┆
0x1f980…1f9a0 69 6e 20 61 20 43 48 41 4e 4e 45 4c 20 73 74 61 74 65 6d 65 6e 74 2e 20 0d 0a 0d 0a 54 68 69 73   ┆in a CHANNEL statement.     This┆
0x1f9a0…1f9c0 20 69 73 20 74 72 75 65 20 66 6f 72 20 61 6c 6c 20 73 74 61 74 65 6d 65 6e 74 73 20 65 78 63 65   ┆ is true for all statements exce┆
0x1f9c0…1f9e0 70 74 20 74 68 6f 73 65 20 69 6e 70 75 74 2f 6f 75 74 70 75 74 20 72 6f 75 74 69 6e 65 73 2c 20   ┆pt those input/output routines, ┆
0x1f9e0…1fa00 0a 77 68 69 63 68 20 77 61 69 74 20 66 6f 72 20 61 6e 20 69 6e 74 65 72 72 75 70 74 2c 20 61 6e   ┆ which wait for an interrupt, an┆
0x1fa00…1fa20 64 20 74 68 65 72 65 62 79 20 61 6c 6c 6f 77 20 69 6e 63 61 72 6e 61 74 69 6f 6e 73 20 6f 6e 20   ┆d thereby allow incarnations on ┆
0x1fa20…1fa40 6c 6f 77 65 72 20 0a 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c 73 20 74 6f 20 65 78   ┆lower  interruption levels to ex┆
0x1fa40…1fa60 65 63 75 74 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2e 20 0d 0a 0d 0a 54 68 65 72 65 66 6f 72   ┆ecute instructions.     Therefor┆
0x1fa60…1fa80 65 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 65 63 6f 6d 6d 65 6e 64 61 74 69 6f 6e 73   ┆e, the following recommendations┆
0x1fa80…1faa0 20 73 68 6f 75 6c 64 20 62 65 20 66 6f 6c 6c 6f 77 65 64 3a 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20   ┆ should be followed:          - ┆
0x1faa0…1fac0 84 6d 69 6e 69 6d 69 7a 65 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 74 61 74 65 6d 65 6e   ┆ёminimize the number of statemen┆
0x1fac0…1fae0 74 73 20 77 68 69 63 68 20 61 72 65 20 65 78 65 63 75 74 65 64 20 69 6e 20 61 20 0a 19 85 80 80   ┆ts which are executed in a   Ёђђ┆
0x1fae0…1fb00 43 48 41 4e 4e 45 4c 20 73 74 61 74 65 6d 65 6e 74 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 74   ┆CHANNEL statement.          - ёt┆
0x1fb00…1fb20 68 65 20 73 74 61 74 65 6d 65 6e 74 73 20 69 6e 20 61 20 43 48 41 4e 4e 45 4c 20 73 74 61 74 65   ┆he statements in a CHANNEL state┆
0x1fb20…1fb40 6d 65 6e 74 20 73 68 6f 75 6c 64 20 6d 61 69 6e 6c 79 20 62 65 20 0a 19 85 80 80 69 6e 70 75 74   ┆ment should mainly be   Ёђђinput┆
0x1fb40…1fb60 2f 6f 75 74 70 75 74 20 72 6f 75 74 69 6e 65 20 63 61 6c 6c 73 2e 20 0d 0a 0d 0a 54 68 65 20 73   ┆/output routine calls.     The s┆
0x1fb60…1fb80 79 73 74 65 6d 20 61 6c 6c 6f 77 73 20 61 6e 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 74 6f 20 70   ┆ystem allows an incarnation to p┆
0x1fb80…1fba0 6f 73 73 65 73 73 20 73 65 76 65 72 61 6c 20 63 68 61 6e 6e 65 6c 20 6d 65 73 73 61 67 65 73 2c   ┆ossess several channel messages,┆
0x1fba0…1fbc0 20 0a 62 75 74 20 69 74 20 69 73 20 65 6d 70 68 61 73 69 7a 65 64 20 74 68 61 74 20 69 74 20 69   ┆  but it is emphasized that it i┆
0x1fbc0…1fbe0 73 20 74 68 65 20 63 68 61 6e 6e 65 6c 20 6d 65 73 73 61 67 65 20 75 73 65 64 20 69 6e 20 74 68   ┆s the channel message used in th┆
0x1fbe0…1fc00 65 20 0a 43 48 41 4e 4e 45 4c 20 73 74 61 74 65 6d 65 6e 74 20 74 68 61 74 20 64 65 66 69 6e 65   ┆e  CHANNEL statement that define┆
0x1fc00…1fc20 73 20 74 68 65 20 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c 2c 20 77 68 65 72 65 20   ┆s the interruption level, where ┆
0x1fc20…1fc40 74 68 65 20 0a 69 6e 63 61 72 6e 61 74 69 6f 6e 20 69 73 20 73 65 6e 73 69 74 69 76 65 20 66 6f   ┆the  incarnation is sensitive fo┆
0x1fc40…1fc60 72 20 69 6e 74 65 72 72 75 70 74 73 2e 20 0d 0a 0d 0a 8c 8a f0 0a 54 68 65 72 65 66 6f 72 65 20   ┆r interrupts.     їі  Therefore ┆
0x1fc60…1fc80 69 74 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 74 68 65 20 73 61 6d 65 20 63 68 61 6e 6e 65 6c 20   ┆it is normally the same channel ┆
0x1fc80…1fca0 6d 65 73 73 61 67 65 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 62 6f 74 68 20 0a 69 6e 20 74   ┆message which is used both  in t┆
0x1fca0…1fcc0 68 65 20 43 48 41 4e 4e 45 4c 20 73 74 61 74 65 6d 65 6e 74 20 61 6e 64 20 69 6e 20 74 68 65 20   ┆he CHANNEL statement and in the ┆
0x1fcc0…1fce0 69 6e 70 75 74 2f 6f 75 74 70 75 74 20 72 6f 75 74 69 6e 65 73 2e 20 0d 0a 0d 0a 54 68 65 20 63   ┆input/output routines.     The c┆
0x1fce0…1fd00 68 61 6e 6e 65 6c 20 6d 65 73 73 61 67 65 73 20 69 6e 20 61 20 43 48 41 4e 4e 45 4c 20 73 74 61   ┆hannel messages in a CHANNEL sta┆
0x1fd00…1fd20 74 65 6d 65 6e 74 20 61 6e 64 20 61 6e 20 69 6e 70 75 74 2f 6f 75 74 70 75 74 20 0a 72 6f 75 74   ┆tement and an input/output  rout┆
0x1fd20…1fd40 69 6e 65 20 6d 61 79 20 64 69 66 66 65 72 2e 20 54 68 69 73 20 6d 61 79 20 62 65 20 75 73 65 64   ┆ine may differ. This may be used┆
0x1fd40…1fd60 20 74 6f 20 73 65 6e 73 65 20 61 20 64 65 76 69 63 65 20 77 69 74 68 20 61 6e 6f 74 68 65 72 20   ┆ to sense a device with another ┆
0x1fd60…1fd80 0a 64 65 76 69 63 65 20 61 64 64 72 65 73 73 20 74 68 61 6e 20 74 68 65 20 69 6e 74 65 72 72 75   ┆ device address than the interru┆
0x1fd80…1fda0 70 74 69 6f 6e 20 6c 65 76 65 6c 20 64 65 66 69 6e 65 64 20 62 79 20 74 68 65 20 43 48 41 4e 4e   ┆ption level defined by the CHANN┆
0x1fda0…1fdc0 45 4c 20 0a 73 74 61 74 65 6d 65 6e 74 2c 20 6f 72 20 65 76 65 6e 20 6f 75 74 73 69 64 65 20 61   ┆EL  statement, or even outside a┆
0x1fdc0…1fde0 20 43 48 41 4e 4e 45 4c 20 73 74 61 74 65 6d 65 6e 74 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d   ┆ CHANNEL statement.          SC ┆
0x1fde0…1fe00 0a 54 69 6d 65 20 4f 75 74 20 20 20 20 20 20 20 20 0d 0a 54 69 6d 65 20 4f 75 74 20 69 73 20 74   ┆ Time Out          Time Out is t┆
0x1fe00…1fe20 68 65 20 61 63 74 69 76 61 74 69 6f 6e 20 6f 66 20 61 6e 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20   ┆he activation of an incarnation ┆
0x1fe20…1fe40 77 69 74 68 20 73 74 61 74 75 73 20 27 74 69 6d 65 64 20 6f 75 74 27 2e 20 0d 0a 0d 0a 54 69 6d   ┆with status 'timed out'.     Tim┆
0x1fe40…1fe60 65 20 4f 75 74 20 6f 66 20 69 6e 63 61 72 6e 61 74 69 6f 6e 73 20 69 73 20 70 65 72 66 6f 72 6d   ┆e Out of incarnations is perform┆
0x1fe60…1fe80 65 64 20 62 79 20 74 68 65 20 54 49 4d 45 52 20 50 72 6f 63 65 73 73 20 77 68 69 63 68 20 0a 64   ┆ed by the TIMER Process which  d┆
0x1fe80…1fea0 65 63 72 65 6d 65 6e 74 73 20 6f 6e 63 65 20 70 65 72 20 73 65 63 6f 6e 64 20 74 68 65 20 73 74   ┆ecrements once per second the st┆
0x1fea0…1fec0 61 6e 64 61 72 64 20 76 61 72 69 61 62 6c 65 20 4f 57 4e 2e 54 49 4d 45 52 20 69 6e 20 61 6c 6c   ┆andard variable OWN.TIMER in all┆
0x1fec0…1fee0 20 0a 69 6e 63 61 72 6e 61 74 69 6f 6e 73 2c 20 77 68 69 63 68 20 68 61 76 65 20 63 61 6c 6c 65   ┆  incarnations, which have calle┆
0x1fee0…1ff00 64 20 74 68 65 20 72 6f 75 74 69 6e 65 20 44 45 46 49 4e 45 54 49 4d 45 52 2e 20 0d 0a 0d 0a 54   ┆d the routine DEFINETIMER.     T┆
0x1ff00…1ff20 69 6d 65 20 4f 75 74 20 74 61 6b 65 73 20 70 6c 61 63 65 2c 20 77 68 65 6e 20 74 68 65 20 76 61   ┆ime Out takes place, when the va┆
0x1ff20…1ff40 72 69 61 62 6c 65 20 69 73 20 64 65 63 72 65 6d 65 6e 74 65 64 20 66 72 6f 6d 20 31 20 74 6f 20   ┆riable is decremented from 1 to ┆
0x1ff40…1ff60 30 2e 20 0d 0a 0d 0a 54 68 65 20 27 74 69 6d 65 64 1f 6f 75 74 27 20 73 74 61 74 75 73 20 69 73   ┆0.     The 'timed out' status is┆
0x1ff60…1ff80 20 63 6c 65 61 72 65 64 2c 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 72 6f 75 74 69 6e 65   ┆ cleared, by calling the routine┆
0x1ff80…1ffa0 20 54 49 4d 45 44 4f 55 54 20 0a 6f 72 20 62 79 20 65 78 69 74 20 6f 66 20 61 20 43 48 41 4e 4e   ┆ TIMEDOUT  or by exit of a CHANN┆
0x1ffa0…1ffc0 45 4c 20 73 74 61 74 65 6d 65 6e 74 2e 20 0d 0a 16 53 42 0d 0a 54 49 4d 45 52 20 50 72 6f 63 65   ┆EL statement.    SB  TIMER Proce┆
0x1ffc0…1ffe0 73 73 20 20 20 0d 0a 54 68 65 20 54 69 6d 65 72 20 50 72 6f 63 65 73 73 3a 20 0d 0a 0d 0a 0d 0a   ┆ss     The Timer Process:       ┆
0x1ffe0…20000 20 20 20 2d 20 84 72 65 74 75 72 6e 73 20 6d 65 73 73 61 67 65 73 20 61 66 74 65 72 20 61 20 73   ┆   - ёreturns messages after a s┆
0x20000…20020 70 65 63 69 66 69 65 64 20 69 6e 74 65 72 76 61 6c 20 28 44 65 6c 61 79 20 54 69 6d 69 6e 67 29   ┆pecified interval (Delay Timing)┆
0x20020…20040 2c 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 6d 61 69 6e 74 61 69 6e 73 20 61 20 73 79 73 74 65 6d   ┆,          - ёmaintains a system┆
0x20040…20060 20 63 6c 6f 63 6b 2c 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 63 6f 6e 74 72 6f 6c 73 20 74 69 6d   ┆ clock,          - ёcontrols tim┆
0x20060…20080 65 20 6f 75 74 20 6f 66 20 69 6e 63 61 72 6e 61 74 69 6f 6e 73 2e 20 0d 0a 0d 0a 44 65 6c 61 79   ┆e out of incarnations.     Delay┆
0x20080…200a0 20 74 69 6d 69 6e 67 20 69 73 20 72 65 71 75 65 73 74 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20   ┆ timing is requested by calling ┆
0x200a0…200c0 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 53 45 4e 44 54 49 4d 45 52 20 28 73 65 65 20 0a 63 68   ┆the procedure SENDTIMER (see  ch┆
0x200c0…200e0 61 70 74 65 72 20 35 29 2e 20 0d 0a 0d 0a 54 69 6d 65 20 6f 75 74 20 69 73 20 72 65 71 75 65 73   ┆apter 5).     Time out is reques┆
0x200e0…20100 74 65 64 20 62 79 20 61 73 73 69 67 6e 69 6e 67 20 74 68 65 20 74 69 6d 65 20 6f 75 74 20 70 65   ┆ted by assigning the time out pe┆
0x20100…20120 72 69 6f 64 20 69 6e 20 73 65 63 6f 6e 64 73 20 74 6f 20 0a 74 68 65 20 76 61 72 69 61 62 6c 65   ┆riod in seconds to  the variable┆
0x20120…20140 20 4f 57 4e 2e 54 49 4d 45 52 2c 20 6f 72 20 62 79 20 75 73 69 6e 67 20 6f 6e 65 20 6f 66 20 74   ┆ OWN.TIMER, or by using one of t┆
0x20140…20160 68 65 20 6d 75 6c 74 69 70 6c 65 20 77 61 69 74 20 0a 66 75 6e 63 74 69 6f 6e 73 20 73 70 65 63   ┆he multiple wait  functions spec┆
0x20160…20180 69 66 79 69 6e 67 20 61 20 64 65 6c 61 79 2e 20 43 6f 75 6e 74 20 64 6f 77 6e 20 6f 66 20 4f 57   ┆ifying a delay. Count down of OW┆
0x20180…201a0 4e 2e 54 49 4d 45 52 20 77 69 6c 6c 20 6f 6e 6c 79 20 0a 68 61 70 70 65 6e 20 61 66 74 65 72 20   ┆N.TIMER will only  happen after ┆
0x201a0…201c0 61 20 63 61 6c 6c 20 6f 66 20 74 68 65 20 72 6f 75 74 69 6e 65 20 44 45 46 49 4e 45 54 49 4d 45   ┆a call of the routine DEFINETIME┆
0x201c0…201e0 52 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 42 0d 0a 41 4c 4c 4f 43 41 54 4f 52 20 50 72 6f 63 65 73   ┆R.          SB  ALLOCATOR Proces┆
0x201e0…20200 73 20 20 20 20 20 20 20 20 20 0d 0a 41 66 74 65 72 20 73 74 61 72 74 75 70 20 6f 66 20 74 68 65   ┆s           After startup of the┆
0x20200…20220 20 73 79 73 74 65 6d 2c 20 41 4c 4c 4f 43 41 54 4f 52 20 63 6f 6e 74 72 6f 6c 73 20 74 68 65 20   ┆ system, ALLOCATOR controls the ┆
0x20220…20240 61 76 61 69 6c 61 62 6c 65 20 0a 6d 65 6d 6f 72 79 2e 20 0d 0a 0d 0a 4d 65 6d 6f 72 79 20 69 73   ┆available  memory.     Memory is┆
0x20240…20260 20 61 6c 6c 6f 63 61 74 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 69 6e 63 61 72 6e   ┆ allocated to contain the incarn┆
0x20260…20280 61 74 69 6f 6e 20 73 74 61 63 6b 2c 20 77 68 65 6e 20 61 20 70 72 6f 63 65 73 73 20 0a 69 6e 63   ┆ation stack, when a process  inc┆
0x20280…202a0 61 72 6e 61 74 69 6f 6e 20 69 73 20 63 72 65 61 74 65 64 2e 20 0d 0a 0d 0a 56 61 72 69 61 62 6c   ┆arnation is created.     Variabl┆
0x202a0…202c0 65 73 20 6f 66 20 74 79 70 65 20 50 4f 4f 4c 20 6d 61 79 20 62 65 20 61 6c 6c 6f 63 61 74 65 64   ┆es of type POOL may be allocated┆
0x202c0…202e0 20 6d 65 6d 6f 72 79 2c 20 77 68 65 6e 20 61 20 6e 65 77 62 6f 72 6e 20 0a 70 72 6f 63 65 73 73   ┆ memory, when a newborn  process┆
0x202e0…20300 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 69 73 20 73 74 61 72 74 65 64 2c 20 6f 72 20 77 68 65 6e   ┆ incarnation is started, or when┆
0x20300…20320 20 74 68 65 20 72 6f 75 74 69 6e 65 20 49 4e 49 54 50 4f 4f 4c 20 69 73 20 0a 63 61 6c 6c 65 64   ┆ the routine INITPOOL is  called┆
0x20320…20340 2e 20 0d 0a 0d 0a 54 68 65 20 6d 65 6d 6f 72 79 20 70 6f 73 73 65 73 73 65 64 20 62 79 20 61 20   ┆.     The memory possessed by a ┆
0x20340…20360 70 72 6f 63 65 73 73 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 69 73 20 64 65 61 6c 6c 6f 63 61 74   ┆process incarnation is deallocat┆
0x20360…20380 65 64 20 77 68 65 6e 20 0a 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 66 61 74 68 65 72 20   ┆ed when  the controlling father ┆
0x20380…203a0 69 6e 63 61 72 6e 61 74 69 6f 6e 20 6f 72 20 61 6e 20 61 6e 63 65 73 74 6f 72 20 63 61 6c 6c 73   ┆incarnation or an ancestor calls┆
0x203a0…203c0 20 74 68 65 20 52 45 4d 4f 56 45 20 0a 70 72 6f 63 65 64 75 72 65 2e 20 0d 0a 0d 0a 8c 8a f0 0a   ┆ the REMOVE  procedure.     їі  ┆
0x203c0…203e0 4d 65 6d 6f 72 79 20 69 73 20 61 6c 6c 6f 63 61 74 65 64 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f   ┆Memory is allocated in the follo┆
0x203e0…20400 77 69 6e 67 20 6f 72 64 65 72 3a 20 63 30 2c 20 63 32 2c 20 2e 2e 2c 20 66 65 2c 20 61 30 2c 20   ┆wing order: c0, c2, .., fe, a0, ┆
0x20400…20420 61 32 2c 20 2e 2e 2e 2c 20 0a 62 65 2e 20 54 68 69 73 20 69 73 20 64 6f 6e 65 20 66 6f 72 20 68   ┆a2, ...,  be. This is done for h┆
0x20420…20440 61 72 64 77 61 72 65 20 74 65 73 74 20 70 75 72 70 6f 73 65 73 2e 20 0d 0a 0d 0a 41 4c 4c 4f 43   ┆ardware test purposes.     ALLOC┆
0x20440…20460 41 54 4f 52 20 61 6c 73 6f 20 63 6f 6e 74 72 6f 6c 73 20 61 63 63 65 73 73 20 74 6f 20 61 6c 6c   ┆ATOR also controls access to all┆
0x20460…20480 20 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c 73 2e 20 54 68 69 73 20 69 73 20 0a 64   ┆ interruption levels. This is  d┆
0x20480…204a0 6f 6e 65 20 62 79 20 6d 65 73 73 61 67 65 73 20 6f 66 20 6b 69 6e 64 20 43 48 41 4e 4e 45 4c 4d   ┆one by messages of kind CHANNELM┆
0x204a0…204c0 45 53 53 41 47 45 2e 20 0d 0a 0d 0a 41 6e 20 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65 76 65   ┆ESSAGE.     An interruption leve┆
0x204c0…204e0 6c 20 69 73 20 72 65 73 65 72 76 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 72 6f 75   ┆l is reserved by calling the rou┆
0x204e0…20500 74 69 6e 65 20 52 45 53 45 52 56 45 43 48 20 0a 73 70 65 63 69 66 79 69 6e 67 3a 20 0d 0a 0d 0a   ┆tine RESERVECH  specifying:     ┆
0x20500…20520 4c 45 56 45 4c 20 2d 20 69 6e 74 65 72 72 75 70 74 69 6f 6e 20 6c 65 76 65 6c 2c 20 4d 41 53 4b   ┆LEVEL - interruption level, MASK┆
0x20520…20540 20 2d 20 66 61 63 69 6c 69 74 79 20 6d 61 73 6b 2e 20 41 20 63 68 61 6e 6e 65 6c 20 6d 65 73 73   ┆ - facility mask. A channel mess┆
0x20540…20560 61 67 65 20 0a 69 73 20 72 65 6c 65 61 73 65 64 20 62 79 20 74 68 65 20 73 74 61 74 65 6d 65 6e   ┆age  is released by the statemen┆
0x20560…20580 74 3a 20 0d 0a 0d 0a 52 45 4c 45 41 53 45 20 28 63 68 61 6e 6e 65 6c 5f 6d 65 73 73 61 67 65 29   ┆t:     RELEASE (channel_message)┆
0x20580…205a0 3b 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 42 0d 0a 4c 49 4e 4b 45 52 20 50 72 6f 63 65 73 73 20 20 0d   ┆;          SB  LINKER Process   ┆
0x205a0…205c0 0a 4c 49 4e 4b 45 52 20 61 64 6d 69 6e 69 73 74 72 61 74 65 73 20 74 68 65 20 4c 49 4e 4b 45 52   ┆ LINKER administrates the LINKER┆
0x205c0…205e0 20 63 61 74 61 6c 6f 67 20 64 65 73 63 72 69 62 69 6e 67 20 61 6c 6c 20 70 72 6f 67 72 61 6d 73   ┆ catalog describing all programs┆
0x205e0…20600 20 0a 28 70 72 6f 63 65 73 73 65 73 20 61 6e 64 20 72 6f 75 74 69 6e 65 73 29 20 69 6e 20 74 68   ┆  (processes and routines) in th┆
0x20600…20620 65 20 73 79 73 74 65 6d 2e 20 54 68 65 20 70 72 6f 67 72 61 6d 73 20 61 72 65 20 6c 69 6e 6b 65   ┆e system. The programs are linke┆
0x20620…20640 64 20 74 6f 20 0a 70 68 79 73 69 63 61 6c 20 6d 65 6d 6f 72 79 20 28 73 74 61 74 69 63 61 6c 6c   ┆d to  physical memory (staticall┆
0x20640…20660 79 20 72 65 6c 6f 63 61 74 65 64 29 20 61 6e 64 20 61 6c 6c 20 63 61 6c 6c 73 20 6f 66 20 65 78   ┆y relocated) and all calls of ex┆
0x20660…20680 74 65 72 6e 61 6c 20 0a 72 6f 75 74 69 6e 65 73 20 61 72 65 20 72 65 73 6f 6c 76 65 64 2e 20 0d   ┆ternal  routines are resolved.  ┆
0x20680…206a0 0a 0d 0a 54 68 65 20 4c 49 4e 4b 45 52 20 70 72 6f 63 65 73 73 65 73 20 6c 69 6e 6b 2f 75 6e 6c   ┆   The LINKER processes link/unl┆
0x206a0…206c0 69 6e 6b 20 72 65 71 75 65 73 74 73 20 66 72 6f 6d 20 72 75 6e 6e 69 6e 67 20 69 6e 63 61 72 6e   ┆ink requests from running incarn┆
0x206c0…206e0 61 74 69 6f 6e 73 20 0a 28 73 65 65 20 74 68 65 20 72 6f 75 74 69 6e 65 73 20 4c 49 4e 4b 2c 20   ┆ations  (see the routines LINK, ┆
0x206e0…20700 55 4e 4c 49 4e 4b 29 2e 20 0d 0a 0d 0a 41 20 4c 4f 4f 4b 55 50 20 66 75 6e 63 74 69 6f 6e 20 61   ┆UNLINK).     A LOOKUP function a┆
0x20700…20720 6e 64 20 61 20 43 52 43 31 36 20 63 68 65 63 6b 20 66 75 6e 63 74 69 6f 6e 20 6d 61 79 20 61 6c   ┆nd a CRC16 check function may al┆
0x20720…20740 73 6f 20 62 65 20 0a 72 65 71 75 65 73 74 65 64 20 28 73 65 65 20 74 68 65 20 53 45 4e 44 4c 49   ┆so be  requested (see the SENDLI┆
0x20740…20760 4e 4b 45 52 20 72 6f 75 74 69 6e 65 29 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 42 0d 0a 41 44 41 4d   ┆NKER routine).          SB  ADAM┆
0x20760…20780 20 50 72 6f 63 65 73 73 20 20 20 20 0d 0a 49 6d 6d 65 64 69 61 74 65 6c 79 20 61 66 74 65 72 20   ┆ Process      Immediately after ┆
0x20780…207a0 72 65 73 74 61 72 74 20 6f 66 20 74 68 65 20 73 79 73 74 65 6d 20 74 68 65 20 69 6e 63 61 72 6e   ┆restart of the system the incarn┆
0x207a0…207c0 61 74 69 6f 6e 20 74 72 65 65 20 69 73 3a 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d   ┆ation tree is:                  ┆
0x207c0…207e0 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 06 46 69 67 2e 20 20 37 2e 20 53 6e 61 70 73 68 6f   ┆                Fig.  7. Snapsho┆
0x207e0…20800 74 20 6f 66 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 73 74 72 75 63 74 75 72 65 20 06 28 54 68 69   ┆t of incarnation structure  (Thi┆
0x20800…20820 73 20 66 69 67 75 72 65 20 69 73 20 0a 6e 6f 74 20 63 6f 6d 70 6c 65 74 65 29 20 0d 0a 0d 0a 41   ┆s figure is  not complete)     A┆
0x20820…20840 44 41 4d 20 69 73 20 74 68 65 20 72 6f 6f 74 20 6f 66 20 74 68 65 20 64 79 6e 61 6d 69 63 20 74   ┆DAM is the root of the dynamic t┆
0x20840…20860 72 65 65 20 6f 66 20 69 6e 63 61 72 6e 61 74 69 6f 6e 73 2e 20 41 44 41 4d 20 63 72 65 61 74 65   ┆ree of incarnations. ADAM create┆
0x20860…20880 73 20 0a 61 6e 64 20 73 74 61 72 74 73 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 69 6e 63 61 72 6e   ┆s  and starts a number of incarn┆
0x20880…208a0 61 74 69 6f 6e 73 20 64 75 72 69 6e 67 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 3a 20 0d 0a   ┆ations during initialization:   ┆
0x208a0…208c0 0d 0a 8c 89 f8 0a 1f 1f 31 2e 1f 4f 50 53 59 53 2c 20 77 68 69 63 68 20 69 6e 74 65 72 70 72 65   ┆  їЅЭ   1. OPSYS, which interpre┆
0x208c0…208e0 74 73 20 63 6f 6d 6d 61 6e 64 73 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e 73 6f 6c 65 20 61 6e 64   ┆ts commands from the console and┆
0x208e0…20900 20 0a 63 6f 6e 76 65 72 74 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20 74 6f 20 41 44 41 4d 2c   ┆  converts the commands to ADAM,┆
0x20900…20920 20 4c 49 4e 4b 45 52 2c 20 6f 72 20 54 49 4d 45 52 20 6d 65 73 73 61 67 65 73 2e 20 0d 0a 0d 0a   ┆ LINKER, or TIMER messages.     ┆
0x20920…20940 1f 1f 32 2e 1f 53 2c 20 77 68 69 63 68 20 69 73 20 74 68 65 20 72 6f 6f 74 20 6f 66 20 61 6e 20   ┆  2. S, which is the root of an ┆
0x20940…20960 61 70 70 6c 69 63 61 74 69 6f 6e 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d   ┆application.                    ┆
0x20960…20980 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 06 46 69 67 2e 20 20   ┆                          Fig.  ┆
0x20980…209a0 38 2e 20 53 6e 61 70 73 68 6f 74 20 6f 66 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 06 73 74 72 75   ┆8. Snapshot of incarnation  stru┆
0x209a0…209c0 63 74 75 72 65 20 69 66 20 53 20 69 73 20 0a 69 6e 63 6c 75 64 65 64 2e 20 0d 0a 0d 0a 41 44 41   ┆cture if S is  included.     ADA┆
0x209c0…209e0 4d 20 63 6f 6e 74 61 69 6e 73 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 6f 66 20 74 77 6f 20 63   ┆M contains declarations of two c┆
0x209e0…20a00 6c 61 73 73 65 73 20 6f 66 20 70 72 6f 67 72 61 6d 73 2e 20 54 68 65 20 66 69 72 73 74 20 0a 63   ┆lasses of programs. The first  c┆
0x20a00…20a20 6c 61 73 73 20 68 61 73 20 6e 6f 20 70 61 72 61 6d 65 74 65 72 73 2e 20 54 68 65 20 73 65 63 6f   ┆lass has no parameters. The seco┆
0x20a20…20a40 6e 64 20 68 61 73 20 6f 6e 65 20 70 61 72 61 6d 65 74 65 72 2c 20 74 68 65 20 0a 27 73 79 73 74   ┆nd has one parameter, the  'syst┆
0x20a40…20a60 65 6d 76 65 63 74 6f 72 27 3a 20 0d 0a 0d 0a 73 5f 74 79 70 65 30 20 3d 20 45 58 54 45 52 4e 41   ┆emvector':     s_type0 = EXTERNA┆
0x20a60…20a80 4c 20 50 52 4f 43 45 53 53 3b 20 0d 0a 0d 0a 73 5f 74 79 70 65 31 20 3d 20 45 58 54 45 52 4e 41   ┆L PROCESS;     s_type1 = EXTERNA┆
0x20a80…20aa0 4c 20 50 52 4f 43 45 53 53 20 28 56 41 52 20 73 76 3a 20 73 79 73 74 65 6d 5f 76 65 63 74 6f 72   ┆L PROCESS (VAR sv: system_vector┆
0x20aa0…20ac0 29 3b 20 0d 0a 0d 0a 53 20 69 73 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 64 65 70 65 6e 64 65 6e   ┆);     S is application dependen┆
0x20ac0…20ae0 74 2c 20 61 6e 64 20 74 68 65 20 66 6f 72 6d 61 6c 20 70 61 72 61 6d 65 74 65 72 73 20 6f 66 20   ┆t, and the formal parameters of ┆
0x20ae0…20b00 74 68 65 20 61 63 74 75 61 6c 20 53 20 0a 6d 75 73 74 20 63 6f 6e 66 6f 72 6d 20 74 6f 20 6f 6e   ┆the actual S  must conform to on┆
0x20b00…20b20 65 20 6f 66 20 74 68 65 73 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2e 20 0d 0a 0d 0a 41 44 41   ┆e of these declarations.     ADA┆
0x20b20…20b40 4d 20 63 6f 6e 74 72 6f 6c 73 20 61 20 70 6f 6f 6c 20 6f 66 20 70 72 6f 63 65 73 73 20 64 65 63   ┆M controls a pool of process dec┆
0x20b40…20b60 6c 61 72 61 74 69 6f 6e 73 2c 20 77 68 69 63 68 20 63 6f 6e 66 6f 72 6d 20 74 6f 20 74 68 65 73   ┆larations, which conform to thes┆
0x20b60…20b80 65 20 0a 64 65 63 6c 61 72 61 74 69 6f 6e 73 2e 20 54 68 65 73 65 20 64 65 63 6c 61 72 61 74 69   ┆e  declarations. These declarati┆
0x20b80…20ba0 6f 6e 73 20 6d 61 79 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 71 75 65 73 74 20 63 72 65 61 74   ┆ons may be used to request creat┆
0x20ba0…20bc0 69 6f 6e 20 6f 66 20 0a 6e 65 77 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 73 75 62 20 74 72 65 65   ┆ion of  new application sub tree┆
0x20bc0…20be0 73 20 77 69 74 68 20 41 44 41 4d 20 61 73 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 66   ┆s with ADAM as the controlling f┆
0x20be0…20c00 61 74 68 65 72 20 28 73 65 65 20 0a 6c 61 74 65 72 29 2e 20 0d 0a 0d 0a 54 68 65 20 70 61 72 61   ┆ather (see  later).     The para┆
0x20c00…20c20 6d 65 74 65 72 20 27 73 76 27 20 6d 61 79 20 62 65 20 75 73 65 64 20 74 6f 20 70 61 73 73 20 72   ┆meter 'sv' may be used to pass r┆
0x20c20…20c40 65 66 65 72 65 6e 63 65 73 20 74 6f 20 73 79 73 74 65 6d 20 0a 73 65 6d 61 70 68 6f 72 65 73 20   ┆eferences to system  semaphores ┆
0x20c40…20c60 6c 69 6b 65 3a 20 0d 0a 0d 0a 61 64 61 6d 20 73 65 6d 61 70 68 6f 72 65 1f 1f 1f 1f 20 1f 1f 73   ┆like:     adam semaphore       s┆
0x20c60…20c80 76 20 28 61 64 61 6d 73 65 6d 29 20 6f 70 65 72 61 74 6f 72 20 73 65 6d 61 70 68 6f 72 65 20 1f   ┆v (adamsem) operator semaphore  ┆
0x20c80…20ca0 1f 73 76 20 0a 28 6f 70 65 72 61 74 6f 72 73 65 6d 29 20 0d 0a 0d 0a 54 68 65 73 65 20 73 65 6d   ┆ sv  (operatorsem)     These sem┆
0x20ca0…20cc0 61 70 68 6f 72 65 20 6d 69 67 68 74 20 61 73 20 77 65 6c 6c 20 62 65 20 6f 62 74 61 69 6e 65 64   ┆aphore might as well be obtained┆
0x20cc0…20ce0 20 62 79 20 74 68 65 20 72 6f 75 74 69 6e 65 20 0a 53 45 41 52 43 48 5f 53 45 4d 41 50 48 4f 52   ┆ by the routine  SEARCH_SEMAPHOR┆
0x20ce0…20d00 45 2c 20 62 65 63 61 75 73 65 20 41 44 41 4d 1f 6e 61 6d 65 73 20 74 68 65 20 73 61 6d 65 20 73   ┆E, because ADAM names the same s┆
0x20d00…20d20 65 6d 61 70 68 6f 72 65 73 20 0a 64 75 72 69 6e 67 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e   ┆emaphores  during initialization┆
0x20d20…20d40 3a 20 0d 0a 0d 0a 8c 8a 90 0a 20 20 20 20 73 79 73 74 65 6d 76 65 63 74 6f 72 20 20 20 20 73 65   ┆:     їіљ     systemvector    se┆
0x20d40…20d60 61 72 63 68 73 65 6d 61 70 68 6f 72 65 20 0d 0a 0d 0a 20 20 20 20 61 64 61 6d 73 65 6d 27 61 64   ┆archsemaphore         adamsem'ad┆
0x20d60…20d80 61 6d 73 65 6d 27 20 20 20 20 20 6f 70 65 72 61 74 6f 72 73 65 6d 20 20 20 20 20 20 27 6f 70 65   ┆amsem'     operatorsem      'ope┆
0x20d80…20da0 72 61 74 6f 72 73 65 6d 27 20 20 20 20 20 0a 6c 6f 61 64 65 72 73 65 6d 20 20 20 20 20 20 20 20   ┆ratorsem'      loadersem        ┆
0x20da0…20dc0 27 6c 6f 61 64 65 72 73 65 6d 27 20 20 20 20 20 67 6c 6f 62 61 6c 73 65 6d 20 20 20 20 20 20 20   ┆'loadersem'     globalsem       ┆
0x20dc0…20de0 20 27 67 6c 6f 62 61 6c 73 65 6d 27 20 20 20 20 20 0a 6c 6f 61 64 64 72 69 76 65 72 73 65 6d 20   ┆ 'globalsem'      loaddriversem ┆
0x20de0…20e00 20 20 20 27 6c 6f 61 64 64 72 69 76 65 72 73 65 6d 27 20 20 20 20 20 70 61 78 73 65 6d 20 27 70   ┆   'loaddriversem'     paxsem 'p┆
0x20e00…20e20 61 78 73 65 6d 27 20 20 20 20 20 72 65 73 74 61 72 74 73 65 6d 20 20 20 20 20 20 20 0a 27 72 65   ┆axsem'     restartsem        're┆
0x20e20…20e40 73 74 61 72 74 73 65 6d 27 20 0d 0a 0d 0a 46 75 72 74 68 65 72 6d 6f 72 65 20 74 68 65 73 65 20   ┆startsem'     Furthermore these ┆
0x20e40…20e60 73 65 6d 61 70 68 6f 72 65 73 20 61 6e 64 20 6e 65 77 20 73 65 6d 61 70 68 6f 72 65 73 20 6d 61   ┆semaphores and new semaphores ma┆
0x20e60…20e80 79 20 62 65 20 0a 6d 61 6e 69 70 75 6c 61 74 65 64 20 62 79 20 61 20 6e 75 6d 62 65 72 20 6f 66   ┆y be  manipulated by a number of┆
0x20e80…20ea0 20 72 65 71 75 65 73 74 73 20 74 6f 20 41 44 41 4d 2e 20 0d 0a 0d 0a 41 44 41 4d 20 6d 61 79 20   ┆ requests to ADAM.     ADAM may ┆
0x20ea0…20ec0 62 65 20 72 65 71 75 65 73 74 65 64 20 74 6f 20 53 54 4f 50 20 61 6e 64 20 52 45 4d 4f 56 45 20   ┆be requested to STOP and REMOVE ┆
0x20ec0…20ee0 61 6e 79 20 6f 66 20 74 68 65 20 63 68 69 6c 64 72 65 6e 20 0a 61 6e 64 20 75 6e 6c 69 6e 6b 20   ┆any of the children  and unlink ┆
0x20ee0…20f00 74 68 65 20 70 72 6f 63 65 73 73 20 62 79 20 73 65 6e 64 69 6e 67 20 61 20 6d 65 73 73 61 67 65   ┆the process by sending a message┆
0x20f00…20f20 20 74 6f 20 74 68 65 20 41 44 41 4d 20 73 65 6d 61 70 68 6f 72 65 20 0a 73 70 65 63 69 66 79 69   ┆ to the ADAM semaphore  specifyi┆
0x20f20…20f40 6e 67 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 70 65 72 66 6f 72 6d 2e 20 0d 0a 0d 0a   ┆ng the function to perform.     ┆
0x20f40…20f60 45 2e 67 2e 3a 20 0d 0a 0d 0a 1f 1f 31 2e 1f 41 20 68 75 6d 61 6e 20 6f 70 65 72 61 74 6f 72 20   ┆E.g.:       1. A human operator ┆
0x20f60…20f80 6d 61 79 20 73 74 6f 70 2c 20 72 65 6d 6f 76 65 2c 20 61 6e 64 20 75 6e 6c 69 6e 6b 20 74 68 65   ┆may stop, remove, and unlink the┆
0x20f80…20fa0 20 77 68 6f 6c 65 20 0a 61 70 70 6c 69 63 61 74 69 6f 6e 20 74 72 65 65 20 28 53 29 20 61 6e 64   ┆ whole  application tree (S) and┆
0x20fa0…20fc0 20 73 74 61 72 74 20 75 70 20 61 20 63 6f 6d 70 6c 65 74 65 6c 79 20 64 69 66 66 65 72 65 6e 74   ┆ start up a completely different┆
0x20fc0…20fe0 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 0a 74 72 65 65 2e 20 0d 0a 0d 0a 1f 1f 32 2e 1f 54 68 65   ┆ application  tree.       2. The┆
0x20fe0…21000 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 74 72 65 65 20 6d 61 79 20 73 74 6f 70 2c 20 72 65 6d 6f   ┆ application tree may stop, remo┆
0x21000…21020 76 65 2c 20 61 6e 64 20 75 6e 6c 69 6e 6b 20 4f 50 53 59 53 2e 20 41 20 0a 4e 45 57 5f 4f 50 53   ┆ve, and unlink OPSYS. A  NEW_OPS┆
0x21020…21040 59 53 20 6d 61 79 20 62 65 20 63 72 65 61 74 65 64 20 61 6e 64 20 73 74 61 72 74 65 64 20 61 73   ┆YS may be created and started as┆
0x21040…21060 20 61 20 63 68 69 6c 64 20 6f 66 20 53 2e 20 0d 0a 0d 0a 4d 65 73 73 61 67 65 73 20 73 69 67 6e   ┆ a child of S.     Messages sign┆
0x21060…21080 61 6c 6c 65 64 20 74 6f 20 74 68 65 20 41 44 41 4d 20 73 65 6d 61 70 68 6f 72 65 20 61 72 65 20   ┆alled to the ADAM semaphore are ┆
0x21080…210a0 69 6e 74 65 72 70 72 65 74 65 64 20 61 73 20 61 20 64 61 74 61 20 0a 6d 65 73 73 61 67 65 20 6f   ┆interpreted as a data  message o┆
0x210a0…210c0 66 20 74 79 70 65 3a 20 0d 0a 0d 0a 61 64 61 6d 74 79 70 65 3d 52 45 43 4f 52 44 20 6e 61 6d 65   ┆f type:     adamtype=RECORD name┆
0x210c0…210e0 31 3a 20 61 6c 66 61 3b 20 6e 61 6d 65 32 3a 20 61 6c 66 61 3b 20 61 75 78 1f 1f 3a 20 69 6e 74   ┆1: alfa; name2: alfa; aux  : int┆
0x210e0…21100 65 67 65 72 3b 20 45 4e 44 3b 20 0d 0a 0d 0a 42 65 20 61 77 61 72 65 20 6f 66 20 74 68 65 20 64   ┆eger; END;     Be aware of the d┆
0x21100…21120 69 66 66 65 72 65 6e 63 65 20 62 65 74 77 65 65 6e 20 73 65 6e 64 69 6e 67 20 61 20 6c 69 6e 6b   ┆ifference between sending a link┆
0x21120…21140 2c 20 63 72 65 61 74 65 2c 20 73 74 61 72 74 2c 20 0a 73 74 6f 70 2c 20 62 72 65 61 6b 2c 20 72   ┆, create, start,  stop, break, r┆
0x21140…21160 65 6d 6f 76 65 2c 20 6f 72 20 75 6e 6c 69 6e 6b 20 6d 65 73 73 61 67 65 20 74 6f 20 41 44 41 4d   ┆emove, or unlink message to ADAM┆
0x21160…21180 20 61 6e 64 20 74 68 65 20 63 61 6c 6c 20 6f 66 20 74 68 65 20 0a 70 72 65 64 65 66 69 6e 65 64   ┆ and the call of the  predefined┆
0x21180…211a0 20 72 6f 75 74 69 6e 65 73 20 4c 49 4e 4b 2c 20 43 52 45 41 54 45 2c 20 53 54 41 52 54 2c 20 53   ┆ routines LINK, CREATE, START, S┆
0x211a0…211c0 54 4f 50 2c 20 42 52 45 41 4b 2c 20 52 45 4d 4f 56 45 2c 20 0a 55 4e 4c 49 4e 4b 2e 20 54 68 65   ┆TOP, BREAK, REMOVE,  UNLINK. The┆
0x211c0…211e0 20 66 6f 72 6d 65 72 20 6f 70 65 72 61 74 65 73 20 6f 6e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73   ┆ former operates on declarations┆
0x211e0…21200 20 69 6e 20 41 44 41 4d 2c 20 74 68 65 20 6c 61 74 74 65 72 20 6f 6e 20 0a 64 65 63 6c 61 72 61   ┆ in ADAM, the latter on  declara┆
0x21200…21220 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 20 69 6e 63   ┆tions in the calling process inc┆
0x21220…21240 61 72 6e 61 74 69 6f 6e 2e 20 4d 65 73 73 61 67 65 20 68 65 61 64 65 72 73 20 0a 74 6f 2f 66 72   ┆arnation. Message headers  to/fr┆
0x21240…21260 6f 6d 20 41 44 41 4d 20 68 61 76 65 20 74 68 65 20 66 6f 72 6d 61 74 3a 20 0d 0a 0d 0a 2d 2d 2d   ┆om ADAM have the format:     ---┆
0x21260…21280 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 1f   ┆------------------------------  ┆
0x21280…212a0 1f 1f 1f 1f 1f 1f 1f 1f 21 1f 1f 1f 1f 21 1f 41 44 41 4d 20 6d 65 73 73 61 67 65 1f 21 1f 41 6e   ┆        !    ! ADAM message ! An┆
0x212a0…212c0 73 77 65 72 20 20 20 20 0a 21 20 21 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆swer     ! !--------------------┆
0x212c0…212e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 21 20 0a 1f 1f 1f 1f 1f 1f 1f 1f 1f 21 1f 75 31 1f 21 1f 66 75   ┆-----------!           ! u1 ! fu┆
0x212e0…21300 6e 63 74 69 6f 6e 1f 1f 1f 1f 1f 21 1f 75 6e 63 68 61 6e 67 65 64 20 21 20 1f 1f 1f 1f 1f 1f 1f   ┆nction     ! unchanged !        ┆
0x21300…21320 1f 1f 21 1f 75 32 1f 21 1f 6e 6f 74 20 0a 75 73 65 64 1f 1f 1f 1f 1f 21 1f 72 65 73 75 6c 74 20   ┆  ! u2 ! not  used     ! result ┆
0x21320…21340 20 20 20 21 20 1f 1f 1f 1f 1f 1f 1f 1f 1f 21 1f 75 33 1f 21 1f 6e 6f 74 20 75 73 65 64 1f 1f 1f   ┆   !          ! u3 ! not used   ┆
0x21340…21360 1f 1f 21 1f 75 6e 63 68 61 6e 67 65 64 20 21 20 0a 1f 1f 1f 1f 1f 1f 1f 1f 1f 21 1f 75 34 1f 21   ┆  ! unchanged !           ! u4 !┆
0x21360…21380 1f 6e 6f 74 20 75 73 65 64 1f 1f 1f 1f 1f 21 1f 75 6e 63 68 61 6e 67 65 64 20 21 20 2d 2d 2d 2d   ┆ not used     ! unchanged ! ----┆
0x21380…213a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 2d 2d 2d 20 0d   ┆-------------------------- ---  ┆
0x213a0…213c0 0a 0d 0a 41 6c 6c 20 6d 65 73 73 61 67 65 73 20 77 68 69 63 68 20 63 61 6e 6e 6f 74 20 68 6f 6c   ┆   All messages which cannot hol┆
0x213c0…213e0 64 20 61 20 76 61 72 69 61 62 6c 65 20 6f 66 20 74 79 70 65 20 61 64 61 6d 74 79 70 65 20 61 72   ┆d a variable of type adamtype ar┆
0x213e0…21400 65 20 0a 72 65 74 75 72 6e 65 64 20 77 69 74 68 20 72 65 73 75 6c 74 20 3d 20 31 2e 20 41 6e 20   ┆e  returned with result = 1. An ┆
0x21400…21420 75 6e 6b 6e 6f 77 6e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 72 65 74 75 72 6e 65 64 20 77 69 74   ┆unknown function is returned wit┆
0x21420…21440 68 20 72 65 73 75 6c 74 20 0a 3d 20 31 35 2e 20 0d 0a 0d 0a a1 46 75 6e 63 74 69 6f 6e 1f 3d 1f   ┆h result  = 15.     АFunction = ┆
0x21440…21460 31 1f 28 4c 49 4e 4b 29 20 0d 0a 0d 0a e1 49 66 20 41 44 41 4d 20 68 61 73 20 61 20 66 72 65 65   ┆1 (LINK)     рIf ADAM has a free┆
0x21460…21480 20 70 72 6f 63 65 73 73 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 74 68 65 20 70 72 6f 63 65 73 73   ┆ process declaration the process┆
0x21480…214a0 20 27 6e 61 6d 65 31 27 20 69 73 20 6c 69 6e 6b 65 64 20 0a 74 6f 20 61 20 66 72 65 65 20 70 72   ┆ 'name1' is linked  to a free pr┆
0x214a0…214c0 6f 63 65 73 73 20 64 65 63 6c 61 72 61 74 69 6f 6e 2e 20 41 6c 6c 20 70 72 6f 63 65 73 73 20 64   ┆ocess declaration. All process d┆
0x214c0…214e0 65 63 6c 61 72 61 74 69 6f 6e 73 20 69 6e 20 41 44 41 4d 20 61 72 65 3a 20 0d 0a 0d 0a 50 52 4f   ┆eclarations in ADAM are:     PRO┆
0x214e0…21500 43 45 53 53 20 70 72 6f 63 65 73 73 6e 61 6d 65 20 28 56 41 52 20 73 76 3a 20 73 79 73 74 65 6d   ┆CESS processname (VAR sv: system┆
0x21500…21520 5f 76 65 63 74 6f 72 29 3b 20 45 58 54 45 52 4e 41 4c 20 0d 0a 0d 0a 8c 89 f8 0a 52 65 73 75 6c   ┆_vector); EXTERNAL     їЅЭ Resul┆
0x21520…21540 74 73 20 20 4d 65 61 6e 69 6e 67 20 1f 1f 1f 1f 30 1f 1f 1f 1f 6f 6b 20 1f 1f 1f 1f 32 1f 1f 1f   ┆ts  Meaning     0    ok     2   ┆
0x21540…21560 1f 41 20 70 72 6f 63 65 73 73 20 69 73 20 61 6c 72 65 61 64 79 20 6c 69 6e 6b 65 64 20 74 6f 20   ┆ A process is already linked to ┆
0x21560…21580 0a 61 20 70 72 6f 63 65 73 73 20 20 1f 1f 1f 1f 1f 1f 1f 1f 1f 64 65 63 6c 61 72 61 74 69 6f 6e   ┆ a process           declaration┆
0x21580…215a0 20 69 6e 20 41 44 41 4d 20 77 69 74 68 20 74 68 65 20 65 78 74 65 72 6e 61 6c 20 6e 61 6d 65 20   ┆ in ADAM with the external name ┆
0x215a0…215c0 0a 1f 1f 1f 1f 1f 1f 1f 1f 1f 27 6e 61 6d 65 31 27 2e 20 1f 1f 1f 1f 33 1f 1f 1f 1f 4e 6f 20 66   ┆          'name1'.     3    No f┆
0x215c0…215e0 72 65 65 20 70 72 6f 63 65 73 73 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2e 20 0a 1f 1f 1f 1f 34   ┆ree process declarations.      4┆
0x215e0…21600 1f 1f 1f 1f 50 72 6f 63 65 73 73 20 77 69 74 68 20 6e 61 6d 65 20 27 6e 61 6d 65 31 27 20 64 6f   ┆    Process with name 'name1' do┆
0x21600…21620 65 73 20 6e 6f 74 20 65 78 69 73 74 20 20 1f 1f 1f 1f 1f 1f 1f 1f 1f 69 6e 20 74 68 65 20 0a 4c   ┆es not exist           in the  L┆
0x21620…21640 49 4e 4b 45 52 20 63 61 74 61 6c 6f 67 2e 20 1f 1f 1f 1f 35 1f 1f 1f 1f 50 72 6f 63 65 73 73 20   ┆INKER catalog.     5    Process ┆
0x21640…21660 77 69 74 68 20 6e 61 6d 65 20 27 6e 61 6d 65 31 27 20 65 78 69 73 74 73 20 69 6e 20 74 68 65 20   ┆with name 'name1' exists in the ┆
0x21660…21680 0a 4c 49 4e 4b 45 52 20 1f 1f 1f 1f 1f 1f 1f 1f 1f 63 61 74 61 6c 6f 67 2c 20 62 75 74 20 74 68   ┆ LINKER          catalog, but th┆
0x21680…216a0 65 20 6e 75 6d 62 65 72 20 6f 66 20 70 61 72 61 6d 65 74 65 72 73 20 6f 72 20 74 68 65 20 20 0a   ┆e number of parameters or the   ┆
0x216a0…216c0 1f 1f 1f 1f 1f 1f 1f 1f 1f 74 79 70 65 20 6f 66 20 70 61 72 61 6d 65 74 65 72 73 20 64 6f 20 6e   ┆         type of parameters do n┆
0x216c0…216e0 6f 74 20 6d 61 74 63 68 2e 20 0d 0a 0d 0a a1 46 75 6e 63 74 69 6f 6e 1f 3d 1f 32 1f 28 43 52 45   ┆ot match.     АFunction = 2 (CRE┆
0x216e0…21700 41 54 45 29 20 0d 0a 0d 0a e1 41 6e 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 77 69 74 68 20 6e 61   ┆ATE)     рAn incarnation with na┆
0x21700…21720 6d 65 20 27 6e 61 6d 65 32 27 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 27 6e 61 6d 65 31   ┆me 'name2' of the process 'name1┆
0x21720…21740 27 20 69 73 20 63 72 65 61 74 65 64 20 0a 77 69 74 68 20 73 69 7a 65 20 27 61 75 78 27 2e 20 4d   ┆' is created  with size 'aux'. M┆
0x21740…21760 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 70 65 72 20 70 72 6f   ┆ore than one incarnation per pro┆
0x21760…21780 63 65 73 73 20 63 61 6e 20 62 65 20 0a 63 72 65 61 74 65 64 2e 20 0d 0a 0d 0a 52 65 73 75 6c 74   ┆cess can be  created.     Result┆
0x21780…217a0 73 20 20 4d 65 61 6e 69 6e 67 20 1f 1f 1f 1f 30 1f 1f 1f 1f 6f 6b 20 1f 1f 1f 1f 36 1f 1f 1f 1f   ┆s  Meaning     0    ok     6    ┆
0x217a0…217c0 41 6e 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 6f 66 20 70 72 6f 63 65 73 73 20 0a 27 6e 61 6d 65   ┆An incarnation of process  'name┆
0x217c0…217e0 31 27 20 77 69 74 68 20 1f 1f 1f 1f 1f 1f 1f 1f 1f 6e 61 6d 65 20 27 6e 61 6d 65 32 27 20 69 73   ┆1' with          name 'name2' is┆
0x217e0…21800 20 61 6c 72 65 61 64 79 20 63 72 65 61 74 65 64 2e 20 1f 1f 1f 1f 37 1f 1f 1f 1f 4e 6f 20 0a 70   ┆ already created.     7    No  p┆
0x21800…21820 72 6f 63 65 73 73 20 77 69 74 68 20 65 78 74 65 72 6e 61 6c 20 6e 61 6d 65 20 27 6e 61 6d 65 31   ┆rocess with external name 'name1┆
0x21820…21840 27 20 69 73 20 20 1f 1f 1f 1f 1f 1f 1f 1f 1f 6c 69 6e 6b 65 64 20 74 6f 20 61 20 70 72 6f 63 65   ┆' is           linked to a proce┆
0x21840…21860 73 73 20 0a 64 65 63 6c 61 72 61 74 69 6f 6e 20 69 6e 20 41 44 41 4d 2e 20 1f 1f 1f 1f 38 1f 1f   ┆ss  declaration in ADAM.     8  ┆
0x21860…21880 1f 1f 4e 6f 20 73 74 6f 72 61 67 65 20 6f 72 20 64 65 6d 61 6e 64 65 64 20 73 69 7a 65 20 28 61   ┆  No storage or demanded size (a┆
0x21880…218a0 75 78 29 20 69 73 20 0a 74 6f 6f 20 73 6d 61 6c 6c 2e 20 0d 0a 0d 0a a1 46 75 6e 63 74 69 6f 6e   ┆ux) is  too small.     АFunction┆
0x218a0…218c0 1f 3d 1f 33 1f 28 53 54 41 52 54 29 20 0d 0a 0d 0a e1 54 68 65 20 69 6e 63 61 72 6e 61 74 69 6f   ┆ = 3 (START)     рThe incarnatio┆
0x218c0…218e0 6e 20 77 69 74 68 20 6e 61 6d 65 20 27 6e 61 6d 65 32 27 20 69 73 20 73 74 61 72 74 65 64 20 77   ┆n with name 'name2' is started w┆
0x218e0…21900 69 74 68 20 70 72 69 6f 72 69 74 79 20 27 61 75 78 27 2e 20 0d 0a 0d 0a 52 65 73 75 6c 74 73 20   ┆ith priority 'aux'.     Results ┆
0x21900…21920 20 4d 65 61 6e 69 6e 67 20 1f 1f 1f 1f 30 1f 1f 1f 1f 6f 6b 20 1f 1f 1f 1f 39 1f 1f 1f 1f 55 6e   ┆ Meaning     0    ok     9    Un┆
0x21920…21940 6b 6e 6f 77 6e 20 69 6e 63 61 72 6e 61 74 69 6f 6e 2e 20 0d 0a 0d 0a a1 46 75 6e 63 74 69 6f 6e   ┆known incarnation.     АFunction┆
0x21940…21960 1f 3d 1f 34 1f 28 53 54 4f 50 29 20 0d 0a 0d 0a e1 54 68 65 20 69 6e 63 61 72 6e 61 74 69 6f 6e   ┆ = 4 (STOP)     рThe incarnation┆
0x21960…21980 20 77 69 74 68 20 6e 61 6d 65 20 27 6e 61 6d 65 32 27 20 69 73 20 73 74 6f 70 70 65 64 2e 20 0d   ┆ with name 'name2' is stopped.  ┆
0x21980…219a0 0a 0d 0a 52 65 73 75 6c 74 73 20 20 4d 65 61 6e 69 6e 67 20 1f 1f 1f 1f 30 1f 1f 1f 1f 6f 6b 20   ┆   Results  Meaning     0    ok ┆
0x219a0…219c0 1f 1f 1f 31 30 1f 1f 1f 1f 55 6e 6b 6e 6f 77 6e 20 69 6e 63 61 72 6e 61 74 69 6f 6e 2e 20 0d 0a   ┆   10    Unknown incarnation.   ┆
0x219c0…219e0 0d 0a a1 46 75 6e 63 74 69 6f 6e 1f 3d 1f 35 1f 28 52 45 4d 4f 56 45 29 20 0d 0a 0d 0a e1 54 68   ┆  АFunction = 5 (REMOVE)     рTh┆
0x219e0…21a00 65 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 77 69 74 68 20 6e 61 6d 65 20 27 6e 61 6d 65 32 27 20   ┆e incarnation with name 'name2' ┆
0x21a00…21a20 69 73 20 72 65 6d 6f 76 65 64 2e 20 0d 0a 0d 0a 52 65 73 75 6c 74 73 20 20 4d 65 61 6e 69 6e 67   ┆is removed.     Results  Meaning┆
0x21a20…21a40 20 1f 1f 1f 1f 30 1f 1f 1f 1f 6f 6b 20 1f 1f 1f 31 31 1f 1f 1f 1f 55 6e 6b 6e 6f 77 6e 20 69 6e   ┆     0    ok    11    Unknown in┆
0x21a40…21a60 63 61 72 6e 61 74 69 6f 6e 20 6e 61 6d 65 2e 20 0d 0a 0d 0a a1 46 75 6e 63 74 69 6f 6e 1f 3d 1f   ┆carnation name.     АFunction = ┆
0x21a60…21a80 36 1f 28 55 4e 4c 49 4e 4b 29 20 0d 0a 0d 0a e1 54 68 65 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20   ┆6 (UNLINK)     рThe link to the ┆
0x21a80…21aa0 70 72 6f 63 65 73 73 20 77 69 74 68 20 65 78 74 65 72 6e 61 6c 20 6e 61 6d 65 20 27 6e 61 6d 65   ┆process with external name 'name┆
0x21aa0…21ac0 31 27 20 69 73 20 64 65 6c 65 74 65 64 2e 20 0d 0a 0d 0a 52 65 73 75 6c 74 73 20 20 4d 65 61 6e   ┆1' is deleted.     Results  Mean┆
0x21ac0…21ae0 69 6e 67 20 1f 1f 1f 1f 30 1f 1f 1f 1f 6f 6b 20 1f 1f 1f 31 32 1f 1f 1f 1f 4e 6f 20 70 72 6f 63   ┆ing     0    ok    12    No proc┆
0x21ae0…21b00 65 73 73 20 77 69 74 68 20 65 78 74 65 72 6e 61 6c 20 0a 6e 61 6d 65 20 27 6e 61 6d 65 31 27 20   ┆ess with external  name 'name1' ┆
0x21b00…21b20 69 73 20 1f 1f 1f 1f 1f 1f 1f 1f 1f 6c 69 6e 6b 65 64 20 74 6f 20 61 20 70 72 6f 63 65 73 73 20   ┆is          linked to a process ┆
0x21b20…21b40 64 65 63 6c 61 72 61 74 69 6f 6e 20 69 6e 20 41 44 41 4d 2e 20 0a 1f 1f 1f 31 33 1f 1f 1f 1f 41   ┆declaration in ADAM.     13    A┆
0x21b40…21b60 44 41 4d 20 73 74 69 6c 6c 20 63 6f 6e 74 72 6f 6c 73 20 61 6e 20 69 6e 63 61 72 6e 61 74 69 6f   ┆DAM still controls an incarnatio┆
0x21b60…21b80 6e 20 6f 66 20 74 68 65 20 1f 1f 1f 1f 1f 1f 1f 1f 1f 70 72 6f 63 65 73 73 20 0a 27 6e 61 6d 65   ┆n of the          process  'name┆
0x21b80…21ba0 31 27 2e 20 0d 0a 0d 0a a1 46 75 6e 63 74 69 6f 6e 1f 3d 1f 37 1f 28 42 52 45 41 4b 29 20 0d 0a   ┆1'.     АFunction = 7 (BREAK)   ┆
0x21ba0…21bc0 0d 0a e1 41 20 62 72 65 61 6b 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 70 65 72 66 6f 72 6d 65   ┆  рA break operation is performe┆
0x21bc0…21be0 64 20 75 70 6f 6e 20 74 68 65 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 77 69 74 68 20 6e 61 6d 65   ┆d upon the incarnation with name┆
0x21be0…21c00 20 0a 27 6e 61 6d 65 32 27 20 77 69 74 68 20 65 78 63 65 70 74 69 6f 6e 20 63 6f 64 65 20 27 61   ┆  'name2' with exception code 'a┆
0x21c00…21c20 75 78 27 2e 20 0d 0a 0d 0a 52 65 73 75 6c 74 73 20 20 4d 65 61 6e 69 6e 67 20 1f 1f 1f 1f 30 1f   ┆ux'.     Results  Meaning     0 ┆
0x21c20…21c40 1f 1f 1f 6f 6b 20 1f 1f 1f 31 34 1f 1f 1f 1f 55 6e 6b 6e 6f 77 6e 20 69 6e 63 61 72 6e 61 74 69   ┆   ok    14    Unknown incarnati┆
0x21c40…21c60 6f 6e 2e 20 0d 0a 0d 0a 8c 8a 90 0a a1 46 75 6e 63 74 69 6f 6e 1f 3d 1f 38 1f 28 4e 41 4d 45 1f   ┆on.     їіљ АFunction = 8 (NAME ┆
0x21c60…21c80 53 45 4d 41 50 48 4f 52 45 29 20 0d 0a 0d 0a e1 41 20 73 65 6d 61 70 68 6f 72 65 20 69 73 20 63   ┆SEMAPHORE)     рA semaphore is c┆
0x21c80…21ca0 72 65 61 74 65 64 20 61 6e 64 20 63 61 74 61 6c 6f 67 65 64 20 75 6e 64 65 72 20 74 68 65 20 6e   ┆reated and cataloged under the n┆
0x21ca0…21cc0 61 6d 65 20 27 6e 61 6d 65 31 27 2e 20 0a 52 65 73 75 6c 74 73 20 20 4d 65 61 6e 69 6e 67 20 1f   ┆ame 'name1'.  Results  Meaning  ┆
0x21cc0…21ce0 1f 1f 1f 30 1f 1f 1f 1f 6f 6b 20 1f 1f 1f 31 36 1f 1f 1f 1f 4f 76 65 72 6c 61 70 2e 20 1f 1f 1f   ┆   0    ok    16    Overlap.    ┆
0x21ce0…21d00 31 37 1f 1f 1f 1f 4e 6f 20 0a 72 65 73 6f 75 72 63 65 73 2e 27 20 0d 0a 0d 0a a1 46 75 6e 63 74   ┆17    No  resources.'     АFunct┆
0x21d00…21d20 69 6f 6e 1f 3d 1f 39 1f 28 44 45 4c 45 54 45 1f 53 45 4d 41 50 48 4f 52 45 29 20 0d 0a 0d 0a e1   ┆ion = 9 (DELETE SEMAPHORE)     р┆
0x21d20…21d40 54 68 65 20 73 65 6d 61 70 68 6f 72 65 20 63 61 74 61 6c 6f 67 75 65 64 20 75 6e 64 65 72 20 74   ┆The semaphore catalogued under t┆
0x21d40…21d60 68 65 20 6e 61 6d 65 20 27 6e 61 6d 65 31 27 20 69 73 20 64 65 6c 65 74 65 64 2e 20 0d 0a 0d 0a   ┆he name 'name1' is deleted.     ┆
0x21d60…21d80 52 65 73 75 6c 74 73 20 20 4d 65 61 6e 69 6e 67 20 1f 1f 1f 1f 30 1f 1f 1f 1f 4f 4b 20 1f 1f 1f   ┆Results  Meaning     0    OK    ┆
0x21d80…21da0 31 38 1f 1f 1f 1f 55 6e 6b 6e 6f 77 6e 20 73 65 6d 61 70 68 6f 72 65 20 0d 0a 0d 0a a1 46 75 6e   ┆18    Unknown semaphore     АFun┆
0x21da0…21dc0 63 74 69 6f 6e 1f 3d 1f 31 30 1f 28 52 45 4e 41 4d 45 1f 53 45 4d 41 50 48 4f 52 45 29 20 0d 0a   ┆ction = 10 (RENAME SEMAPHORE)   ┆
0x21dc0…21de0 0d 0a e1 54 68 65 20 73 65 6d 61 70 68 6f 72 65 20 63 61 74 61 6c 6f 67 75 65 64 20 75 6e 64 65   ┆  рThe semaphore catalogued unde┆
0x21de0…21e00 72 20 74 68 65 20 6e 61 6d 65 20 27 6e 61 6d 65 31 27 20 69 73 20 63 61 74 61 6c 6f 67 75 65 64   ┆r the name 'name1' is catalogued┆
0x21e00…21e20 20 0a 75 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 20 27 6e 61 6d 65 32 27 2e 20 54 68 65 20 6e 61   ┆  under the name 'name2'. The na┆
0x21e20…21e40 6d 65 20 27 6e 61 6d 65 31 27 20 69 73 20 64 65 6c 65 74 65 64 20 66 72 6f 6d 20 74 68 65 20 0a   ┆me 'name1' is deleted from the  ┆
0x21e40…21e60 73 65 6d 61 70 68 6f 72 65 20 63 61 74 61 6c 6f 67 20 6f 66 20 41 44 41 4d 2e 20 0d 0a 0d 0a 52   ┆semaphore catalog of ADAM.     R┆
0x21e60…21e80 65 73 75 6c 74 73 20 20 4d 65 61 6e 69 6e 67 20 1f 1f 1f 1f 30 1f 1f 1f 1f 4f 4b 20 1f 1f 1f 31   ┆esults  Meaning     0    OK    1┆
0x21e80…21ea0 39 1f 1f 1f 1f 4f 76 65 72 6c 61 70 2c 20 61 20 73 65 6d 61 70 68 6f 72 65 20 69 73 20 0a 61 6c   ┆9    Overlap, a semaphore is  al┆
0x21ea0…21ec0 72 65 61 64 79 20 1f 1f 1f 1f 1f 1f 1f 1f 1f 63 61 74 61 6c 6f 67 75 65 64 20 75 6e 64 65 72 20   ┆ready          catalogued under ┆
0x21ec0…21ee0 74 68 65 20 6e 61 6d 65 20 27 6e 61 6d 65 32 27 2e 20 1f 1f 1f 32 30 1f 1f 1f 1f 4e 6f 20 0a 63   ┆the name 'name2'.    20    No  c┆
0x21ee0…21f00 61 74 61 6c 6f 67 75 65 64 20 73 65 6d 61 70 68 6f 72 65 20 77 69 74 68 20 74 68 65 20 6e 61 6d   ┆atalogued semaphore with the nam┆
0x21f00…21f20 65 20 27 6e 61 6d 65 31 27 20 69 73 20 66 6f 75 6e 64 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a   ┆e 'name1' is found.             ┆
0x21f20…21f40 16 53 42 0d 0a 4f 50 45 52 41 54 4f 52 20 50 72 6f 63 65 73 73 20 20 20 20 20 20 20 20 20 0d 0a   ┆ SB  OPERATOR Process           ┆
0x21f40…21f60 52 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 6d 65 73 73 61 67 65 73 20 73 69 67 6e 61 6c 6c 65   ┆Read and write messages signalle┆
0x21f60…21f80 64 20 74 6f 20 74 68 65 20 4f 50 45 52 41 54 4f 52 20 73 65 6d 61 70 68 6f 72 65 1f 1f 73 76 20   ┆d to the OPERATOR semaphore  sv ┆
0x21f80…21fa0 0a 28 6f 70 65 72 61 74 6f 72 73 65 6d 29 1f 1f 1f 20 73 68 6f 75 6c 64 20 61 74 20 6c 65 61 73   ┆ (operatorsem)    should at leas┆
0x21fa0…21fc0 74 20 63 6f 6e 74 61 69 6e 20 61 20 64 61 74 61 20 6d 65 73 73 61 67 65 20 6f 66 20 74 79 70 65   ┆t contain a data message of type┆
0x21fc0…21fe0 3a 20 0d 0a 0d 0a 42 75 66 66 65 72 74 79 70 65 20 3d 20 52 45 43 4f 52 44 20 66 69 72 73 74 20   ┆:     Buffertype = RECORD first ┆
0x21fe0…22000 3a 20 69 6e 74 65 67 65 72 3b 20 6c 61 73 74 1f 20 3a 20 69 6e 74 65 67 65 72 3b 20 6e 65 78 74   ┆: integer; last  : integer; next┆
0x22000…22020 1f 20 3a 20 69 6e 74 65 67 65 72 3b 20 0a 6e 61 6d 65 1f 20 3a 20 61 6c 66 61 3b 20 28 2a 20 31   ┆  : integer;  name  : alfa; (* 1┆
0x22020…22040 32 20 63 68 61 72 73 20 2a 29 20 64 61 74 61 62 75 66 20 3a 20 61 72 72 61 79 20 28 31 38 2e 2e   ┆2 chars *) databuf : array (18..┆
0x22040…22060 6d 61 78 29 20 6f 66 20 63 68 61 72 20 45 4e 44 3b 20 0d 0a 0d 0a 54 68 65 20 64 61 74 61 20 70   ┆max) of char END;     The data p┆
0x22060…22080 61 72 74 20 6f 66 20 74 68 65 20 6d 65 73 73 61 67 65 20 66 6f 6c 6c 6f 77 73 20 74 68 65 20 64   ┆art of the message follows the d┆
0x22080…220a0 72 69 76 65 72 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 2e 20 49 74 20 69 73 20 0a 63 68 65 63 6b 65   ┆river conventions. It is  checke┆
0x220a0…220c0 64 20 74 68 61 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 73 73 65 72 74 69 6f 6e 73 20   ┆d that the following assertions ┆
0x220c0…220e0 68 6f 6c 64 3a 20 0d 0a 0d 0a 1f 1f 31 2e 1f 31 38 20 3c 3d 20 66 69 72 73 74 20 0d 0a 0d 0a 1f   ┆hold:       1. 18 <= first      ┆
0x220e0…22100 1f 32 2e 1f 66 69 72 73 74 20 2d 20 31 20 3c 3d 20 6c 61 73 74 20 0d 0a 0d 0a 1f 1f 33 2e 1f 64   ┆ 2. first - 1 <= last       3. d┆
0x22100…22120 61 74 61 62 75 66 20 28 6c 61 73 74 29 20 69 73 20 61 63 63 65 73 73 69 62 6c 65 20 69 6e 20 74   ┆atabuf (last) is accessible in t┆
0x22120…22140 68 65 20 64 61 74 61 20 6d 65 73 73 61 67 65 20 0d 0a 0d 0a 4f 50 45 52 41 54 4f 52 20 69 64 65   ┆he data message     OPERATOR ide┆
0x22140…22160 6e 74 69 66 69 65 73 20 74 68 65 20 69 6e 70 75 74 20 61 6e 64 20 6f 75 74 70 75 74 20 6d 65 73   ┆ntifies the input and output mes┆
0x22160…22180 73 61 67 65 73 20 62 79 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 0a 27 6e 61 6d 65 27 2e 20   ┆sages by the parameter  'name'. ┆
0x22180…221a0 0d 0a 0d 0a 43 68 61 70 74 65 72 20 34 2e 37 20 64 65 73 63 72 69 62 65 73 20 61 20 73 65 74 20   ┆    Chapter 4.7 describes a set ┆
0x221a0…221c0 6f 66 20 72 6f 75 74 69 6e 65 73 20 66 6f 72 20 4f 50 45 52 41 54 4f 52 20 63 6f 6d 6d 75 6e 69   ┆of routines for OPERATOR communi┆
0x221c0…221e0 63 61 74 69 6f 6e 2e 20 0d 0a 0d 0a a1 4d 65 73 73 61 67 65 73 1f 74 6f 1f 4f 50 45 52 41 54 4f   ┆cation.     АMessages to OPERATO┆
0x221e0…22200 52 20 0d 0a 0d 0a e1 63 6f 6e 74 72 6f 6c 3a 20 75 31 20 3d 20 30 20 0d 0a 0d 0a 72 65 61 64 3a   ┆R     рcontrol: u1 = 0     read:┆
0x22200…22220 20 75 31 20 3d 20 31 20 0d 0a 0d 0a 54 68 65 20 6d 65 73 73 61 67 65 20 69 73 20 71 75 65 75 65   ┆ u1 = 1     The message is queue┆
0x22220…22240 64 20 75 6e 74 69 6c 20 69 74 20 69 73 20 22 61 63 74 69 76 61 74 65 64 22 20 62 79 20 74 68 65   ┆d until it is "activated" by the┆
0x22240…22260 20 a1 68 75 6d 61 6e e1 20 6f 70 65 72 61 74 6f 72 2e 20 0d 0a 0d 0a 8c 8a a8 0a 77 72 69 74 65   ┆ Аhumanр operator.     їіе write┆
0x22260…22280 3a 20 75 31 20 3d 20 32 20 0d 0a 0d 0a 54 68 65 20 6d 65 73 73 61 67 65 20 69 73 20 70 72 69 6e   ┆: u1 = 2     The message is prin┆
0x22280…222a0 74 65 64 20 61 73 20 73 6f 6f 6e 20 61 73 20 70 6f 73 73 69 62 6c 65 2e 20 0d 0a 0d 0a a1 41 6e   ┆ted as soon as possible.     АAn┆
0x222a0…222c0 73 77 65 72 73 1f 66 72 6f 6d 1f 4f 50 45 52 41 54 4f 52 20 0d 0a 0d 0a e1 41 6c 6c 20 6d 65 73   ┆swers from OPERATOR     рAll mes┆
0x222c0…222e0 73 61 67 65 73 20 61 72 65 20 72 65 74 75 72 6e 65 64 2c 20 77 68 65 6e 20 74 68 65 20 61 70 70   ┆sages are returned, when the app┆
0x222e0…22300 72 6f 70 72 69 61 74 65 20 61 63 74 69 6f 6e 20 68 61 73 20 62 65 65 6e 20 0a 70 65 72 66 6f 72   ┆ropriate action has been  perfor┆
0x22300…22320 6d 65 64 2e 20 0d 0a 0d 0a 75 31 2c 20 75 33 2c 20 75 34 20 61 72 65 20 75 6e 63 68 61 6e 67 65   ┆med.     u1, u3, u4 are unchange┆
0x22320…22340 64 20 75 32 20 3d 20 72 65 73 75 6c 74 3a 20 30 20 3d 20 6f 6b 20 31 20 3d 20 6e 6f 74 20 70 72   ┆d u2 = result: 0 = ok 1 = not pr┆
0x22340…22360 6f 63 65 73 73 65 64 20 34 20 3d 20 0a 75 6e 69 6e 74 65 6c 6c 69 67 69 62 6c 65 20 0d 0a 0d 0a   ┆ocessed 4 =  unintelligible     ┆
0x22360…22380 22 6e 65 78 74 22 20 69 73 20 75 6e 64 65 66 69 6e 65 64 2c 20 75 6e 6c 65 73 73 20 72 65 73 75   ┆"next" is undefined, unless resu┆
0x22380…223a0 6c 74 20 3d 20 6f 6b 2e 20 0d 0a 0d 0a 0d 0a 16 61 70 0d 0a 16 53 61 0d 0a 52 45 46 45 52 45 4e   ┆lt = ok.        ap   Sa  REFEREN┆
0x223a0…223c0 43 45 53 20 20 20 20 20 0d 0a 0d 0a 0d 0a 1f 1f 31 2e 1f 52 43 53 4c 20 4e 6f 2e 20 35 32 2d 41   ┆CES             1. RCSL No. 52-A┆
0x223c0…223e0 41 39 36 34 3a 20 50 41 53 43 41 4c 38 30 2c 20 52 65 70 6f 72 74 20 0d 0a 0d 0a 1f 1f 32 2e 1f   ┆A964: PASCAL80, Report       2. ┆
0x223e0…22400 52 43 53 4c 20 4e 6f 2e 20 34 32 2d 69 31 35 33 39 3a 20 50 41 53 43 41 4c 38 30 2c 20 55 73 65   ┆RCSL No. 42-i1539: PASCAL80, Use┆
0x22400…22420 72 27 73 20 47 75 69 64 65 20 0d 0a 0d 0a 1f 1f 33 2e 1f 52 43 53 4c 20 4e 6f 2e 20 33 31 2d 44   ┆r's Guide       3. RCSL No. 31-D┆
0x22420…22440 36 35 32 3a 20 50 41 53 43 41 4c 38 30 2c 20 44 72 69 76 65 72 20 43 6f 6e 76 65 6e 74 69 6f 6e   ┆652: PASCAL80, Driver Convention┆
0x22440…22460 73 20 0d 0a 0d 0a 1f 1f 34 2e 1f 52 43 53 4c 20 4e 6f 2e 20 39 39 20 30 20 30 30 37 37 31 20 52   ┆s       4. RCSL No. 99 0 00771 R┆
0x22460…22480 43 33 35 30 32 2f 32 2c 20 4f 70 65 72 61 74 69 6e 67 20 47 75 69 64 65 20 0d 0a 0d 0a 1f 1f 35   ┆C3502/2, Operating Guide       5┆
0x22480…224a0 2e 1f 52 43 53 4c 20 4e 6f 2e 20 35 32 2d 41 41 31 31 39 32 3a 20 52 43 33 35 30 32 2f 32 2c 20   ┆. RCSL No. 52-AA1192: RC3502/2, ┆
0x224a0…224c0 52 65 66 65 72 65 6e 63 65 20 4d 61 6e 75 61 6c 20 0d 0a 0d 0a 1f 1f 36 2e 1f 52 43 53 4c 20 4e   ┆Reference Manual       6. RCSL N┆
0x224c0…224e0 6f 2e 20 35 32 2d 41 41 31 31 38 32 20 4d 45 4d 32 30 35 2c 20 47 65 6e 65 72 61 6c 20 49 6e 66   ┆o. 52-AA1182 MEM205, General Inf┆
0x224e0…22500 6f 72 6d 61 74 69 6f 6e 20 0d 0a 0d 0a 1f 1f 37 2e 1f 52 43 53 4c 20 4e 6f 2e 20 35 32 2d 41 41   ┆ormation       7. RCSL No. 52-AA┆
0x22500…22520 31 31 33 37 20 52 43 33 35 30 32 20 4c 4f 41 44 45 52 2c 20 52 65 66 65 72 65 6e 63 65 20 4d 61   ┆1137 RC3502 LOADER, Reference Ma┆
0x22520…22540 6e 75 61 6c 20 0d 0a 0d 0a 1f 1f 38 2e 1f 52 43 53 4c 20 4e 6f 2e 20 35 32 2d 41 41 31 31 37 34   ┆nual       8. RCSL No. 52-AA1174┆
0x22540…22560 20 52 65 66 65 72 65 6e 63 65 20 4d 61 6e 75 61 6c 20 66 6f 72 20 74 68 65 20 50 72 6f 67 72 61   ┆ Reference Manual for the Progra┆
0x22560…22580 6d 6d 69 6e 67 20 0a 4c 61 6e 67 75 61 67 65 20 52 65 61 6c 2d 54 69 6d 65 20 50 61 73 63 61 6c   ┆mming  Language Real-Time Pascal┆
0x22580…225a0 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 16 53 61 0d 0a 55 53 45 20 4f 46 20 54 48 45 20 52   ┆                Sa  USE OF THE R┆
0x225a0…225c0 45 41 4c 2d 54 49 4d 45 20 50 41 53 43 41 4c 20 43 4f 4d 50 49 4c 45 52 0d 0a 0d 0a 0d 0a 0d 0a   ┆EAL-TIME PASCAL COMPILER        ┆
0x225c0…225e0 0d 0a 16 53 42 0d 0a 43 61 6c 6c 20 6f 66 20 74 68 65 20 43 6f 6d 70 69 6c 65 72 20 20 20 20 20   ┆   SB  Call of the Compiler     ┆
0x225e0…22600 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 20 20 20 20 31 20 20 3c 62 69 6e 20 66 69 6c 65 3e 3d 20 20 20   ┆               1  <bin file>=   ┆
0x22600…22620 20 72 74 70 33 35 30 32 32 20 20 20 3c 73 3e 3c 6f 70 74 69 6f 6e 3e 20 20 20 3c 73 3e 3c 63 6f   ┆ rtp35022   <s><option>   <s><co┆
0x22620…22640 6e 74 65 78 74 3e 20 20 20 20 20 30 30 20 0d 0a 0d 0a 0d 0a 0d 0a 8c 8a 90 0a 20 20 20 31 20 20   ┆ntext>     00         їіљ    1  ┆
0x22640…22660 20 20 20 20 20 20 3c 73 3e 3c 6f 70 74 69 6f 6e 3e 20 20 20 3c 73 3e 3c 73 6f 75 72 63 65 3e 30   ┆      <s><option>   <s><source>0┆
0x22660…22680 20 20 20 30 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 3c 73 6f 75 72 63 65 3e 20 69 73   ┆   0              - ё<source> is┆
0x22680…226a0 20 61 20 74 65 78 74 20 66 69 6c 65 20 64 65 66 69 6e 69 6e 67 20 61 20 70 72 6f 63 65 73 73 2c   ┆ a text file defining a process,┆
0x226a0…226c0 20 61 20 70 72 65 66 69 78 20 6f 72 20 61 20 6c 69 62 72 61 72 79 20 0a 19 85 80 80 6f 66 20 72   ┆ a prefix or a library   Ёђђof r┆
0x226c0…226e0 6f 75 74 69 6e 65 73 2f 70 72 6f 63 65 73 73 65 73 20 28 73 65 20 66 75 72 74 68 65 72 20 61 70   ┆outines/processes (se further ap┆
0x226e0…22700 70 65 6e 64 69 78 20 42 2e 32 29 2e 20 49 66 20 6e 6f 20 73 6f 75 72 63 65 20 69 73 20 0a 19 85   ┆pendix B.2). If no source is   Ё┆
0x22700…22720 80 80 73 70 65 63 69 66 69 65 64 2c 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 72 65 61 64 73 20   ┆ђђspecified, the compiler reads ┆
0x22720…22740 74 68 65 20 73 6f 75 72 63 65 20 66 72 6f 6d 20 63 75 72 72 65 6e 74 20 69 6e 70 75 74 2e 20 0d   ┆the source from current input.  ┆
0x22740…22760 0a 0d 0a 0d 0a 20 20 20 2d 20 84 3c 63 6f 6e 74 65 78 74 3e 20 69 73 20 61 20 74 65 78 74 20 66   ┆        - ё<context> is a text f┆
0x22760…22780 69 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 6f 66 20 74   ┆ile containing declarations of t┆
0x22780…227a0 79 70 65 73 2c 20 0a 19 85 80 80 63 6f 6e 73 74 61 6e 74 73 2c 20 61 6e 64 20 65 78 74 65 72 6e   ┆ypes,   Ёђђconstants, and extern┆
0x227a0…227c0 61 6c 20 72 6f 75 74 69 6e 65 73 2e 20 43 6f 6e 74 65 78 74 73 20 63 61 6e 20 62 65 20 75 73 65   ┆al routines. Contexts can be use┆
0x227c0…227e0 64 20 66 6f 72 20 0a 19 85 80 80 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 6c 69 62 72 61 72 69   ┆d for   Ёђђdefinition of librari┆
0x227e0…22800 65 73 2e 20 54 68 65 20 73 79 6e 74 61 78 20 69 73 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 61   ┆es. The syntax is described in a┆
0x22800…22820 70 70 65 6e 64 69 78 20 42 2e 32 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 3c 62 69 6e 20 66 69   ┆ppendix B.2.          - ё<bin fi┆
0x22820…22840 6c 65 3e 20 69 73 20 61 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 64 65 73 63 72 69 62   ┆le> is a file descriptor describ┆
0x22840…22860 69 6e 67 20 74 68 65 20 62 61 63 6b 69 6e 67 20 73 74 6f 72 61 67 65 20 61 72 65 61 20 0a 19 85   ┆ing the backing storage area   Ё┆
0x22860…22880 80 80 77 68 65 72 65 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 73 20 73 74 6f 72 65   ┆ђђwhere the object code is store┆
0x22880…228a0 64 2e 20 0d 0a 0d 0a 49 66 20 22 3c 62 69 6e 20 66 69 6c 65 3e 3d 22 20 69 73 20 6f 6d 69 74 74   ┆d.     If "<bin file>=" is omitt┆
0x228a0…228c0 65 64 2c 20 20 20 20 22 70 61 73 73 36 63 6f 64 65 3d 22 20 20 69 73 20 61 73 73 75 6d 65 64 2e   ┆ed,    "pass6code="  is assumed.┆
0x228c0…228e0 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 3c 6f 70 74 69 6f 6e 3e 3a 3a 3d 20 63 6f 64 65 73 69 7a   ┆          - ё<option>::= codesiz┆
0x228e0…22900 65 2e 3c 73 69 7a 65 3e 20 6c 69 73 74 2e 3c 79 65 73 20 6f 72 20 6e 6f 3e 20 73 74 6f 70 2e 3c   ┆e.<size> list.<yes or no> stop.<┆
0x22900…22920 70 61 73 73 20 6e 72 3e 20 0a 19 85 80 80 73 70 61 63 69 6e 67 2e 3c 69 6e 74 65 72 76 61 6c 3e   ┆pass nr>   Ёђђspacing.<interval>┆
0x22920…22940 20 6d 65 61 73 75 72 65 2e 3c 79 65 73 20 6f 72 20 6e 6f 3e 20 65 78 63 65 70 74 69 6f 6e 2e 3c   ┆ measure.<yes or no> exception.<┆
0x22940…22960 61 70 70 65 74 69 74 65 3e 20 0a 19 85 80 80 73 68 6f 72 74 2e 3c 79 65 73 20 6f 72 20 6e 6f 3e   ┆appetite>   Ёђђshort.<yes or no>┆
0x22960…22980 20 73 74 61 63 6b 2e 3c 61 70 70 65 74 69 74 65 3e 20 63 6f 64 65 6c 69 73 74 2e 3c 79 65 73 20   ┆ stack.<appetite> codelist.<yes ┆
0x22980…229a0 6f 72 20 6e 6f 3e 20 0a 19 85 80 80 70 72 65 73 65 72 76 65 2e 3c 79 65 73 20 6f 72 20 6e 6f 3e   ┆or no>   Ёђђpreserve.<yes or no>┆
0x229a0…229c0 20 73 75 72 76 65 79 2e 3c 79 65 73 20 6f 72 20 6e 6f 3e 20 0a 19 85 80 80 73 65 74 2e 73 77 69   ┆ survey.<yes or no>   Ёђђset.swi┆
0x229c0…229e0 74 63 68 6e 61 6d 65 2e 73 77 69 74 63 68 76 61 6c 75 65 20 76 65 72 73 69 6f 6e 2e 3c 76 65 72   ┆tchname.switchvalue version.<ver┆
0x229e0…22a00 73 69 6f 6e 3e 20 0d 0a 20 20 20 2d 20 84 3c 73 69 7a 65 3e 20 69 73 20 61 6e 20 75 6e 73 69 67   ┆sion>      - ё<size> is an unsig┆
0x22a00…22a20 6e 65 64 20 69 6e 74 65 67 65 72 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 30 2d 20 31 35 30 30   ┆ned integer in the range 0- 1500┆
0x22a20…22a40 30 2e 20 54 68 65 20 73 69 7a 65 20 0a 19 85 80 80 64 65 6e 6f 74 65 73 20 74 68 65 20 6d 61 78   ┆0. The size   Ёђђdenotes the max┆
0x22a40…22a60 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 74 6f 20 62 65 20 67 65 6e 65 72   ┆imum number of bytes to be gener┆
0x22a60…22a80 61 74 65 64 20 6f 6e 20 6f 6e 65 20 0a 19 85 80 80 22 70 72 6f 67 72 61 6d 20 63 6f 64 65 20 70   ┆ated on one   Ёђђ"program code p┆
0x22a80…22aa0 61 67 65 22 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 3c 79 65 73 20 6f 72 20 6e 6f 3e 3a 3a 3d   ┆age".          - ё<yes or no>::=┆
0x22aa0…22ac0 20 79 65 73 1f 1f 6e 6f 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 6c 69 73 74 2e 79 65 73 20 6d 65   ┆ yes  no          - ёlist.yes me┆
0x22ac0…22ae0 61 6e 73 20 74 75 72 6e 20 6f 6e 20 6c 69 73 74 69 6e 67 20 6f 66 20 69 6e 70 75 74 20 28 6f 6e   ┆ans turn on listing of input (on┆
0x22ae0…22b00 20 63 75 72 72 65 6e 74 20 6f 75 74 70 75 74 29 2e 20 0d 0a 0d 0a 4c 69 73 74 69 6e 67 20 6f 6e   ┆ current output).     Listing on┆
0x22b00…22b20 6c 79 20 74 61 6b 65 73 20 70 6c 61 63 65 20 61 66 74 65 72 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   ┆ly takes place after compilation┆
0x22b20…22b40 20 6f 66 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 0a 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 20 0d   ┆ of the standard  environment.  ┆
0x22b40…22b60 0a 0d 0a 54 68 65 20 6c 69 73 74 20 6f 70 74 69 6f 6e 20 69 73 20 73 75 70 65 72 66 6c 75 6f 75   ┆   The list option is superfluou┆
0x22b60…22b80 73 20 73 69 6e 63 65 20 74 68 65 20 75 74 69 6c 69 74 79 20 70 72 6f 67 72 61 6d 73 20 69 6e 64   ┆s since the utility programs ind┆
0x22b80…22ba0 65 6e 74 20 61 6e 64 20 0a 63 72 6f 73 73 20 6d 61 79 20 70 72 6f 64 75 63 65 20 6d 6f 72 65 20   ┆ent and  cross may produce more ┆
0x22ba0…22bc0 72 65 61 64 61 62 6c 65 20 6c 69 73 74 69 6e 67 73 20 28 73 65 65 20 74 68 65 20 64 65 73 63 72   ┆readable listings (see the descr┆
0x22bc0…22be0 69 70 74 69 6f 6e 20 6f 66 20 0a 69 6e 64 65 6e 74 20 61 6e 64 20 63 72 6f 73 73 20 69 6e 20 61   ┆iption of  indent and cross in a┆
0x22be0…22c00 70 70 65 6e 64 69 78 20 45 29 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 6d 65 61 73 75 72 65 2e   ┆ppendix E).          - ёmeasure.┆
0x22c00…22c20 3c 79 65 73 20 6f 72 20 6e 6f 3e 3a 20 63 6f 6e 73 75 6c 74 20 61 70 70 65 6e 64 69 78 20 43 3a   ┆<yes or no>: consult appendix C:┆
0x22c20…22c40 20 50 65 72 66 6f 72 6d 61 6e 63 65 20 0a 19 85 80 80 4d 65 61 73 75 72 65 6d 65 6e 74 2e 20 0d   ┆ Performance   ЁђђMeasurement.  ┆
0x22c40…22c60 0a 0d 0a 0d 0a 20 20 20 2d 20 84 73 68 6f 72 74 2e 79 65 73 20 63 6f 6e 74 72 6f 6c 73 20 74 68   ┆        - ёshort.yes controls th┆
0x22c60…22c80 65 20 63 6f 6d 70 69 6c 65 72 20 74 6f 20 75 73 65 20 73 68 6f 72 74 20 65 6e 63 6f 64 65 64 20   ┆e compiler to use short encoded ┆
0x22c80…22ca0 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 0a 19 85 80 80 69 6e 20 74 68 65 20 67 65 6e 65 72 61 74   ┆instructions   Ёђђin the generat┆
0x22ca0…22cc0 69 6f 6e 20 6f 66 20 63 6f 64 65 20 77 68 65 6e 65 76 65 72 20 70 6f 73 73 69 62 6c 65 2e 20 0d   ┆ion of code whenever possible.  ┆
0x22cc0…22ce0 0a 0d 0a 0d 0a 20 20 20 2d 20 84 73 74 61 63 6b 2e 3c 61 70 70 65 74 69 74 65 3e 20 54 68 69 73   ┆        - ёstack.<appetite> This┆
0x22ce0…22d00 20 6f 70 74 69 6f 6e 20 6f 76 65 72 72 69 64 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 73 74   ┆ option overrides the default st┆
0x22d00…22d20 61 63 6b 20 73 69 7a 65 2c 20 0a 19 85 80 80 77 68 69 63 68 20 74 68 65 20 63 6f 6d 70 69 6c 65   ┆ack size,   Ёђђwhich the compile┆
0x22d20…22d40 72 20 65 73 74 69 6d 61 74 65 73 20 61 6e 64 20 6f 75 74 70 75 74 73 20 69 6e 20 74 68 65 20 67   ┆r estimates and outputs in the g┆
0x22d40…22d60 65 6e 65 72 61 74 65 64 20 63 6f 64 65 2e 20 0a 19 85 80 80 54 68 65 20 64 65 66 61 75 6c 74 20   ┆enerated code.   ЁђђThe default ┆
0x22d60…22d80 73 74 61 63 6b 20 73 69 7a 65 20 69 73 20 75 73 65 64 20 77 68 65 6e 20 74 68 65 20 63 72 65 61   ┆stack size is used when the crea┆
0x22d80…22da0 74 65 20 72 6f 75 74 69 6e 65 20 69 73 20 63 61 6c 6c 65 64 20 0a 19 85 80 80 77 69 74 68 20 73   ┆te routine is called   Ёђђwith s┆
0x22da0…22dc0 69 7a 65 20 3d 20 30 2e 20 0d 0a 0d 0a 54 68 65 20 22 73 69 7a 65 22 20 6f 66 20 61 20 70 72 6f   ┆ize = 0.     The "size" of a pro┆
0x22dc0…22de0 63 65 73 73 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 6d 61 79 20 62 65 20 63 61 6c 63 75 6c 61 74   ┆cess incarnation may be calculat┆
0x22de0…22e00 65 64 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 0a 77 61 79 3a 20 0d 0a 0d 0a 20 20   ┆ed in the following  way:       ┆
0x22e00…22e20 20 20 20 73 69 7a 65 3a 3d 20 64 79 6e 61 6d 69 63 20 61 70 70 65 74 69 74 65 20 2b 20 65 78 63   ┆   size:= dynamic appetite + exc┆
0x22e20…22e40 65 70 74 69 6f 6e 20 63 6f 64 65 20 61 70 70 65 74 69 74 65 20 2b 20 31 30 20 28 66 6f 72 20 64   ┆eption code appetite + 10 (for d┆
0x22e40…22e60 75 6d 70 20 0a 6f 66 20 74 68 65 20 72 65 67 69 73 74 65 72 20 73 74 61 63 6b 29 20 0d 0a 0d 0a   ┆ump  of the register stack)     ┆
0x22e60…22e80 8c 8b e8 0a 54 68 65 20 64 79 6e 61 6d 69 63 20 61 70 70 65 74 69 74 65 20 69 73 20 74 68 65 20   ┆їІУ The dynamic appetite is the ┆
0x22e80…22ea0 a1 73 74 61 74 69 63 1f 61 70 70 65 74 69 74 65 e1 20 61 73 20 6d 65 6e 74 69 6f 6e 65 64 20 66   ┆Аstatic appetiteр as mentioned f┆
0x22ea0…22ec0 6f 72 20 74 68 65 20 0a 70 72 6f 63 65 73 73 20 69 6e 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69   ┆or the  process in the compilati┆
0x22ec0…22ee0 6f 6e 20 73 75 72 76 65 79 20 70 6c 75 73 20 74 68 65 20 64 79 6e 61 6d 69 63 20 61 70 70 65 74   ┆on survey plus the dynamic appet┆
0x22ee0…22f00 69 74 65 20 66 6f 72 20 0a a1 74 68 65 1f 6d 6f 73 74 1f 68 75 6e 67 72 79 e1 20 6f 66 20 74 68   ┆ite for  Аthe most hungryр of th┆
0x22f00…22f20 65 20 63 61 6c 6c 65 64 20 72 6f 75 74 69 6e 65 73 2e 20 54 68 65 20 64 79 6e 61 6d 69 63 20 61   ┆e called routines. The dynamic a┆
0x22f20…22f40 70 70 65 74 69 74 65 20 6f 66 20 61 20 0a 72 6f 75 74 69 6e 65 20 69 73 20 74 68 65 20 73 74 61   ┆ppetite of a  routine is the sta┆
0x22f40…22f60 74 69 63 20 61 70 70 65 74 69 74 65 20 70 6c 75 73 20 74 68 65 20 64 79 6e 61 6d 69 63 20 61 70   ┆tic appetite plus the dynamic ap┆
0x22f60…22f80 70 65 74 69 74 65 20 66 6f 72 20 74 68 65 20 6d 6f 73 74 20 0a 68 75 6e 67 72 79 20 6f 66 20 74   ┆petite for the most  hungry of t┆
0x22f80…22fa0 68 65 20 63 61 6c 6c 65 64 20 72 6f 75 74 69 6e 65 73 20 65 74 63 2e 20 49 6e 20 74 68 69 73 20   ┆he called routines etc. In this ┆
0x22fa0…22fc0 63 6f 6e 6e 65 63 74 69 6f 6e 20 70 6c 65 61 73 65 20 6e 6f 74 65 20 74 68 65 20 0a a1 73 74 61   ┆connection please note the  Аsta┆
0x22fc0…22fe0 6e 64 61 72 64 1f 72 6f 75 74 69 6e 65 73 2c 20 e1 74 68 65 20 61 70 70 65 74 69 74 65 20 6f 66   ┆ndard routines, рthe appetite of┆
0x22fe0…23000 20 77 68 69 63 68 20 69 73 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 74 68 65 20 70 61 63 6b 61   ┆ which is specified in the packa┆
0x23000…23020 67 65 20 0a 64 65 73 63 72 69 70 74 69 6f 6e 2e 20 0d 0a 0d 0a 46 6f 72 20 a1 72 65 63 75 72 73   ┆ge  description.     For Аrecurs┆
0x23020…23040 69 76 65 1f 70 72 6f 63 65 64 75 72 65 73 e1 20 74 68 65 20 61 70 70 65 74 69 74 65 20 68 61 73   ┆ive proceduresр the appetite has┆
0x23040…23060 20 74 6f 20 62 65 20 6d 75 6c 74 69 70 6c 69 65 64 20 62 79 20 74 68 65 20 0a 6d 61 78 69 6d 75   ┆ to be multiplied by the  maximu┆
0x23060…23080 6d 20 64 65 70 74 68 20 6f 66 20 74 68 65 20 72 65 63 75 72 73 69 6f 6e 2e 20 0d 0a 0d 0a 54 68   ┆m depth of the recursion.     Th┆
0x23080…230a0 65 20 65 78 63 65 70 74 69 6f 6e 20 61 70 70 65 74 69 74 65 20 61 6d 6f 75 6e 74 73 20 74 6f 20   ┆e exception appetite amounts to ┆
0x230a0…230c0 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 2c 20 77 68 69 63 68 20 69 73 20 73 70 65 63 69 66   ┆a default value, which is specif┆
0x230c0…230e0 69 65 64 20 0a 69 6e 20 74 68 65 20 70 61 63 6b 61 67 65 20 64 65 73 63 72 69 70 74 69 6f 6e 2e   ┆ied  in the package description.┆
0x230e0…23100 20 54 68 65 20 61 70 70 65 74 69 74 65 20 6d 61 79 20 62 65 20 6f 76 65 72 72 75 6c 65 64 20 62   ┆ The appetite may be overruled b┆
0x23100…23120 79 20 74 68 65 20 0a 27 65 78 63 65 70 74 69 6f 6e 27 20 6f 70 74 69 6f 6e 20 69 6e 20 74 68 65   ┆y the  'exception' option in the┆
0x23120…23140 20 63 61 6c 6c 20 6f 66 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 2e 20 0d 0a 0d 0a a1 4e 4f 54 45   ┆ call of the compiler.     АNOTE┆
0x23140…23160 3a e1 20 49 66 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 6f 66 20 70 6f 6f 6c 20 76 61 72 69 61   ┆:р If declarations of pool varia┆
0x23160…23180 62 6c 65 73 20 6f 63 63 75 72 2c 20 61 20 73 74 61 6e 64 61 72 64 20 0a 69 6e 69 74 69 61 6c 69   ┆bles occur, a standard  initiali┆
0x23180…231a0 7a 61 74 69 6f 6e 20 70 72 6f 63 65 64 75 72 65 2c 20 5f 69 6e 69 74 70 6f 6f 6c 5f 72 63 2c 20   ┆zation procedure, _initpool_rc, ┆
0x231a0…231c0 69 73 20 63 61 6c 6c 65 64 2e 20 0d 0a 0d 0a 54 68 65 20 73 74 61 63 6b 20 73 70 61 63 65 20 6f   ┆is called.     The stack space o┆
0x231c0…231e0 66 20 74 68 65 20 63 68 69 6c 64 72 65 6e 20 69 73 20 a1 6e 6f 74 e1 20 74 61 6b 65 6e 20 66 72   ┆f the children is Аnotр taken fr┆
0x231e0…23200 6f 6d 20 74 68 65 20 73 74 61 63 6b 20 6f 66 20 74 68 65 20 0a 70 61 72 65 6e 74 20 70 72 6f 63   ┆om the stack of the  parent proc┆
0x23200…23220 65 73 73 2e 20 43 72 65 61 74 65 20 63 68 65 63 6b 73 20 74 68 61 74 20 74 68 65 72 65 20 69 73   ┆ess. Create checks that there is┆
0x23220…23240 20 6d 65 6d 6f 72 79 20 66 6f 72 20 74 68 65 20 0a 69 6e 63 61 72 6e 61 74 69 6f 6e 20 64 65 73   ┆ memory for the  incarnation des┆
0x23240…23260 63 72 69 70 74 6f 72 2c 20 74 68 65 20 61 63 74 75 61 6c 20 70 72 6f 63 65 73 73 20 70 61 72 61   ┆criptor, the actual process para┆
0x23260…23280 6d 65 74 65 72 73 2c 20 61 6e 64 20 66 6f 72 20 64 75 6d 70 20 6f 66 20 0a 74 68 65 20 72 65 67   ┆meters, and for dump of  the reg┆
0x23280…232a0 69 73 74 65 72 20 73 74 61 63 6b 2c 20 62 65 66 6f 72 65 20 74 68 65 20 63 68 69 6c 64 20 69 73   ┆ister stack, before the child is┆
0x232a0…232c0 20 63 72 65 61 74 65 64 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 65 78 63 65 70 74 69 6f 6e 2e   ┆ created.          - ёexception.┆
0x232c0…232e0 3c 61 70 70 65 74 69 74 65 3e 20 54 68 69 73 20 6f 70 74 69 6f 6e 20 69 73 20 75 73 65 64 20 66   ┆<appetite> This option is used f┆
0x232e0…23300 6f 72 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 65 20 0a 19 85 80 80 61 6d 6f 75 6e 74 20 6f 66   ┆or specifying the   Ёђђamount of┆
0x23300…23320 20 73 74 61 63 6b 20 73 70 61 63 65 20 61 6e 20 69 6e 63 61 72 6e 61 74 69 6f 6e 20 6f 66 20 74   ┆ stack space an incarnation of t┆
0x23320…23340 68 65 20 70 72 6f 67 72 61 6d 20 77 69 6c 6c 20 0a 19 85 80 80 72 65 73 65 72 76 65 20 66 6f 72   ┆he program will   Ёђђreserve for┆
0x23340…23360 20 65 78 63 65 70 74 69 6f 6e 20 68 61 6e 64 6c 69 6e 67 2e 20 54 68 65 20 64 65 66 61 75 6c 74   ┆ exception handling. The default┆
0x23360…23380 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 72 6f 6f 6d 20 0a 19 85 80 80 6e 65 63 65 73 73 61 72   ┆ value is the room   Ёђђnecessar┆
0x23380…233a0 79 20 66 6f 72 20 61 20 63 61 6c 6c 20 6f 66 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 65 78 63   ┆y for a call of the standard exc┆
0x233a0…233c0 65 70 74 69 6f 6e 20 70 72 6f 63 65 64 75 72 65 2e 20 46 6f 72 20 61 20 0a 19 85 80 80 75 73 65   ┆eption procedure. For a   Ёђђuse┆
0x233c0…233e0 72 20 64 65 66 69 6e 65 64 20 65 78 63 65 70 74 69 6f 6e 20 70 72 6f 63 65 64 75 72 65 20 74 68   ┆r defined exception procedure th┆
0x233e0…23400 65 20 6f 70 74 69 6f 6e 20 76 61 6c 75 65 20 6d 61 79 20 62 65 20 74 68 65 20 0a 19 85 80 80 61   ┆e option value may be the   Ёђђa┆
0x23400…23420 70 70 65 74 69 74 65 20 73 65 65 6e 20 69 6e 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20   ┆ppetite seen in the information ┆
0x23420…23440 6c 69 73 74 20 66 72 6f 6d 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 66 20 74 68 65   ┆list from the compilation of the┆
0x23440…23460 20 0a 19 85 80 80 72 6f 75 74 69 6e 65 2c 20 28 73 65 65 20 66 75 72 74 68 65 72 20 75 6e 64 65   ┆   Ёђђroutine, (see further unde┆
0x23460…23480 72 20 74 68 65 20 27 73 74 61 63 6b 27 20 6f 70 74 69 6f 6e 29 2e 20 0d 0a 0d 0a 0d 0a 20 20 20   ┆r the 'stack' option).          ┆
0x23480…234a0 2d 20 84 63 6f 64 65 6c 69 73 74 2e 79 65 73 20 6d 65 61 6e 73 2c 20 6c 69 73 74 20 74 68 65 20   ┆- ёcodelist.yes means, list the ┆
0x234a0…234c0 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 20 69 6e 20 73 79 6d 62 6f 6c 69 63 20 66 6f 72 6d 20   ┆generated code in symbolic form ┆
0x234c0…234e0 77 69 74 68 20 0a 19 85 80 80 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 69 6e 73 74   ┆with   Ёђђinformation about inst┆
0x234e0…23500 72 75 63 74 69 6f 6e 20 65 78 65 63 75 74 69 6f 6e 20 74 69 6d 65 73 2c 20 6c 6f 67 69 63 61 6c   ┆ruction execution times, logical┆
0x23500…23520 20 61 64 64 72 65 73 73 65 73 2c 20 0a 19 85 80 80 61 6e 64 20 73 6f 6d 65 20 63 6f 6d 6d 65 6e   ┆ addresses,   Ёђђand some commen┆
0x23520…23540 74 73 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 70 72 65 73 65 72 76 65 2e 79 65 73 20 6d 65 61   ┆ts.          - ёpreserve.yes mea┆
0x23540…23560 6e 73 2c 20 64 6f 20 6e 6f 74 20 72 65 6d 6f 76 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 77   ┆ns, do not remove intermediate w┆
0x23560…23580 6f 72 6b 20 66 69 6c 65 73 20 61 66 74 65 72 20 0a 19 85 80 80 75 73 65 20 0d 0a 0d 0a 0d 0a 20   ┆ork files after   Ёђђuse        ┆
0x23580…235a0 20 20 2d 20 84 73 75 72 76 65 79 2e 79 65 73 20 69 6d 70 6c 69 65 73 20 6c 69 73 74 69 6e 67 20   ┆  - ёsurvey.yes implies listing ┆
0x235a0…235c0 6f 66 20 73 6f 6d 65 20 73 74 61 74 69 73 74 69 63 61 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e   ┆of some statistical information.┆
0x235c0…235e0 20 0a 19 85 80 80 45 78 61 6d 70 6c 65 3a 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d   ┆   ЁђђExample:                  ┆
0x235e0…23600 0a 20 20 20 2d 20 84 73 65 74 2e 73 77 69 74 63 68 6e 61 6d 65 2e 73 77 69 74 63 68 76 61 6c 75   ┆    - ёset.switchname.switchvalu┆
0x23600…23620 65 20 69 6d 70 6c 69 65 73 20 73 65 74 74 69 6e 67 2f 64 65 2d 20 66 69 6e 69 6e 67 20 61 20 73   ┆e implies setting/de- fining a s┆
0x23620…23640 77 69 74 63 68 2e 20 0a 19 85 80 80 54 68 65 20 73 6f 20 64 65 66 69 6e 65 64 20 73 77 69 74 63   ┆witch.   ЁђђThe so defined switc┆
0x23640…23660 68 65 73 20 6d 61 79 20 62 65 20 75 73 65 64 20 69 6e 20 74 68 65 20 65 78 70 74 65 73 73 69 6f   ┆hes may be used in the exptessio┆
0x23660…23680 6e 73 20 6f 66 20 49 46 20 0a 19 85 80 80 61 6e 64 20 45 4c 53 45 49 46 20 64 69 72 65 63 74 69   ┆ns of IF   Ёђђand ELSEIF directi┆
0x23680…236a0 76 65 73 20 28 73 65 65 20 62 65 6c 6f 77 29 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 76 65 72   ┆ves (see below).          - ёver┆
0x236a0…236c0 73 69 6f 6e 2e 3c 76 65 72 73 69 6f 6e 3e 20 69 6d 70 6c 69 65 73 20 73 65 74 74 69 6e 67 20 6f   ┆sion.<version> implies setting o┆
0x236c0…236e0 66 20 74 68 65 20 76 65 72 73 69 6f 6e 20 64 69 72 65 63 74 69 76 65 20 28 73 65 65 20 0a 19 85   ┆f the version directive (see   Ё┆
0x236e0…23700 80 80 62 65 6c 6f 77 29 2e 20 0d 0a 0d 0a 8c 8b a0 0a 3c 76 65 72 73 69 6f 6e 3e 3a 3a 3d 3c 69   ┆ђђbelow).     їІа <version>::=<i┆
0x23700…23720 6e 74 65 67 65 72 3e 1f 1f 1f 20 20 20 3c 62 79 74 65 3e 2e 3c 62 79 74 65 3e 1f 1f 1f 20 20 20   ┆nteger>      <byte>.<byte>      ┆
0x23720…23740 0a 3c 72 65 6c 65 61 73 65 3e 2e 3c 65 64 69 74 69 6f 6e 3e 2e 3c 76 61 72 69 61 6e 74 3e 20 0d   ┆ <release>.<edition>.<variant>  ┆
0x23740…23760 0a 0d 0a 0d 0a 20 20 20 2d 20 84 3c 69 6e 74 65 72 76 61 6c 3e 20 69 73 20 74 68 65 20 64 69 73   ┆        - ё<interval> is the dis┆
0x23760…23780 74 61 6e 63 65 20 62 65 74 77 65 65 6e 20 74 77 6f 20 6c 69 6e 65 20 6e 75 6d 62 65 72 20 72 65   ┆tance between two line number re┆
0x23780…237a0 63 6f 72 64 73 2e 20 54 68 65 20 0a 19 85 80 80 6c 69 6e 65 20 6e 75 6d 62 65 72 20 72 65 63 6f   ┆cords. The   Ёђђline number reco┆
0x237a0…237c0 72 64 73 20 61 72 65 20 75 73 65 64 20 62 79 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 65 78 63   ┆rds are used by the standard exc┆
0x237c0…237e0 65 70 74 69 6f 6e 20 0a 19 85 80 80 70 72 6f 63 65 64 75 72 65 20 74 6f 20 72 65 6c 61 74 65 20   ┆eption   Ёђђprocedure to relate ┆
0x237e0…23800 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 61 20 72 75 6e 20 74 69 6d 65 20 65 72 72 6f 72 20   ┆the address of a run time error ┆
0x23800…23820 74 6f 20 61 20 6c 69 6e 65 20 0a 19 85 80 80 69 6e 74 65 72 76 61 6c 20 6f 66 20 74 68 65 20 70   ┆to a line   Ёђђinterval of the p┆
0x23820…23840 72 6f 67 72 61 6d 2e 20 20 20 20 3c 70 61 73 73 20 6e 72 3e 3a 3a 3d 1f 1f 31 1f 1f 1f 33 1f 1f   ┆rogram.    <pass nr>::=  1   3  ┆
0x23840…23860 1f 34 1f 1f 1f 35 1f 1f 1f 36 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 73 74 6f 70 2e 3c 70 61 73   ┆ 4   5   6          - ёstop.<pas┆
0x23860…23880 73 20 6e 72 3e 20 74 65 72 6d 69 6e 61 74 65 73 20 74 68 65 20 74 72 61 6e 73 6c 61 74 69 6f 6e   ┆s nr> terminates the translation┆
0x23880…238a0 20 61 66 74 65 72 20 74 68 65 20 70 61 73 73 20 73 70 65 63 69 66 69 65 64 2e 20 0d 0a 0d 0a 41   ┆ after the pass specified.     A┆
0x238a0…238c0 20 73 68 6f 72 74 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 70 61 73 73 65 73   ┆ short description of the passes┆
0x238c0…238e0 3a 20 0d 0a 0d 0a 1f 1f 1f 1f 1f 70 61 73 73 20 31 20 70 65 72 66 6f 72 6d 73 1f 73 79 6e 74 61   ┆:          pass 1 performs synta┆
0x238e0…23900 78 20 61 6e 61 6c 79 73 69 73 20 1f 1f 1f 1f 1f 70 61 73 73 20 33 20 70 65 72 66 6f 72 6d 73 1f   ┆x analysis      pass 3 performs ┆
0x23900…23920 6d 61 63 68 69 6e 65 20 0a 69 6e 64 65 70 65 6e 64 65 6e 74 20 73 65 6d 61 6e 74 69 63 20 1f 1f   ┆machine  independent semantic   ┆
0x23920…23940 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 61 6e 61 6c 79 73 69 73 20 1f 1f 1f 1f   ┆                   analysis     ┆
0x23940…23960 1f 70 61 73 73 20 34 20 0a 70 65 72 66 6f 72 6d 73 1f 73 74 6f 72 61 67 65 20 61 6c 6c 6f 63 61   ┆ pass 4  performs storage alloca┆
0x23960…23980 74 69 6f 6e 20 61 6e 64 20 6d 61 63 68 69 6e 65 20 0a 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f   ┆tion and machine                ┆
0x23980…239a0 1f 1f 1f 1f 1f 1f 1f 64 65 70 65 6e 64 65 6e 74 20 73 65 6d 61 6e 74 69 63 20 61 6e 61 6c 79 73   ┆       dependent semantic analys┆
0x239a0…239c0 69 73 20 1f 1f 1f 1f 1f 70 61 73 73 20 35 20 0a 70 65 72 66 6f 72 6d 73 1f 73 79 6d 62 6f 6c 69   ┆is      pass 5  performs symboli┆
0x239c0…239e0 63 20 63 6f 64 65 20 67 65 6e 65 72 61 74 69 6f 6e 20 1f 1f 1f 1f 1f 70 61 73 73 20 36 20 0a 70   ┆c code generation      pass 6  p┆
0x239e0…23a00 65 72 66 6f 72 6d 73 1f 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 20 6f 66 20 73 79 6d 62 6f 6c   ┆erforms transformation of symbol┆
0x23a00…23a20 69 63 20 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 63 6f 64 65 20 74 6f 20   ┆ic                      code to ┆
0x23a20…23a40 0a 62 69 6e 61 72 79 20 66 6f 72 6d 61 74 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 64 65 66 61 75   ┆ binary format          - ёdefau┆
0x23a40…23a60 6c 74 20 76 61 6c 75 65 73 3a 20 0d 0a 0d 0a 74 68 65 20 63 61 6c 6c 3a 20 0d 0a 0d 0a 20 20 20   ┆lt values:     the call:        ┆
0x23a60…23a80 72 74 70 33 35 30 32 32 20 69 6e 70 75 74 66 69 6c 65 20 0d 0a 0d 0a 69 73 20 65 71 75 69 76 61   ┆rtp35022 inputfile     is equiva┆
0x23a80…23aa0 6c 65 6e 74 20 74 6f 3a 20 0d 0a 0d 0a 70 61 73 73 36 63 6f 64 65 3d 72 74 70 33 35 30 32 32 20   ┆lent to:     pass6code=rtp35022 ┆
0x23aa0…23ac0 6c 69 73 74 2e 6e 6f 20 63 6f 64 65 73 69 7a 65 2e 35 31 32 20 73 70 61 63 69 6e 67 2e 35 32 20   ┆list.no codesize.512 spacing.52 ┆
0x23ac0…23ae0 73 74 6f 70 2e 36 2c 20 6d 65 61 73 75 72 65 2e 6e 6f 20 0a 65 78 63 65 70 74 69 6f 6e 2e 31 31   ┆stop.6, measure.no  exception.11┆
0x23ae0…23b00 20 73 68 6f 72 74 2e 79 65 73 20 73 75 72 76 65 79 2e 6e 6f 20 63 6f 64 65 6c 69 73 74 2e 6e 6f   ┆ short.yes survey.no codelist.no┆
0x23b00…23b20 2c 20 73 74 61 63 6b 2e 2a 2a 2a 20 70 65 72 73 65 72 76 65 2e 6e 6f 20 0a 69 6e 70 75 74 66 69   ┆, stack.*** perserve.no  inputfi┆
0x23b20…23b40 6c 65 20 0d 0a 0d 0a 2a 2a 2a 3a 20 74 68 65 20 64 65 66 61 75 6c 74 20 73 74 61 63 6b 20 61 70   ┆le     ***: the default stack ap┆
0x23b40…23b60 70 65 74 69 74 65 20 69 73 20 73 65 74 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 61 20 63 6f 6d   ┆petite is set according to a com┆
0x23b60…23b80 70 69 6c 65 72 20 0a 67 65 6e 65 72 61 74 65 64 20 76 61 6c 75 65 2c 20 63 6f 6d 70 75 74 65 64   ┆piler  generated value, computed┆
0x23b80…23ba0 20 61 73 20 74 68 65 20 73 75 6d 20 6f 66 20 73 74 61 74 69 63 20 61 70 70 65 74 69 74 65 73 20   ┆ as the sum of static appetites ┆
0x23ba0…23bc0 6f 66 20 74 68 65 20 0a 72 6f 75 74 69 6e 65 73 20 6f 66 20 61 6e 64 20 6d 61 69 6e 20 62 6f 64   ┆of the  routines of and main bod┆
0x23bc0…23be0 79 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 2e 20 a1 52 65 73 6f 75 72 63 65 1f 72 65 71 75   ┆y of the program. АResource requ┆
0x23be0…23c00 69 72 65 6d 65 6e 74 73 20 0d 0a 0d 0a e1 41 74 20 6c 65 61 73 74 20 34 35 2c 30 30 30 20 68 57   ┆irements     рAt least 45,000 hW┆
0x23c00…23c20 20 6d 65 6d 6f 72 79 20 28 73 69 7a 65 20 34 35 30 30 30 29 20 61 72 65 61 20 38 20 74 65 6d 70   ┆ memory (size 45000) area 8 temp┆
0x23c20…23c40 20 64 69 73 63 20 61 74 20 6c 65 61 73 74 20 36 20 0a 73 6c 69 63 65 73 20 61 6e 64 20 36 20 65   ┆ disc at least 6  slices and 6 e┆
0x23c40…23c60 6e 74 72 69 65 73 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 42 0d 0a 55 73 65 20 6f 66 20 74 68 65 20   ┆ntries.          SB  Use of the ┆
0x23c60…23c80 43 6f 6e 74 65 78 74 73 20 20 20 20 20 20 20 0d 0a 53 70 65 63 69 66 69 63 61 74 69 6f 6e 20 6f   ┆Contexts         Specification o┆
0x23c80…23ca0 66 20 6d 6f 72 65 20 69 6e 70 75 74 20 66 69 6c 65 73 20 74 6f 20 74 68 65 20 52 65 61 6c 2d 54   ┆f more input files to the Real-T┆
0x23ca0…23cc0 69 6d 65 20 50 61 73 63 61 6c 20 63 6f 6d 70 69 6c 65 72 20 69 73 20 0a 75 73 65 64 20 66 6f 72   ┆ime Pascal compiler is  used for┆
0x23cc0…23ce0 20 69 6e 63 6c 75 73 69 6f 6e 20 6f 66 20 28 63 6f 6d 6d 6f 6e 29 20 63 6f 6e 74 65 78 74 73 20   ┆ inclusion of (common) contexts ┆
0x23ce0…23d00 28 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 29 2c 20 69 2e 65 2e 20 63 6f 6e 73 74 61 6e 74 20 0a 61   ┆(environments), i.e. constant  a┆
0x23d00…23d20 6e 64 20 74 79 70 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 6e 64 20 64 65 63 6c 61 72 61 74   ┆nd type definitions and declarat┆
0x23d20…23d40 69 6f 6e 73 20 6f 66 20 65 78 74 65 72 6e 61 6c 20 72 6f 75 74 69 6e 65 73 2e 20 54 68 65 20 73   ┆ions of external routines. The s┆
0x23d40…23d60 79 6e 74 61 78 20 0a 69 73 3a 20 0d 0a 0d 0a 63 6f 6e 74 65 78 74 3a 20 0d 0a 0d 0a 0d 0a 0d 0a   ┆yntax  is:     context:         ┆
0x23d60…23d80 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 8c 8b 88 0a 63 6f 6e 74 65 78 74 1f 64 65 63 6c 61 72 61 74 69 6f   ┆          їІѕ context declaratio┆
0x23d80…23da0 6e 73 3a 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a   ┆ns:                             ┆
0x23da0…23dc0 0d 0a 65 78 74 65 72 6e 61 6c 1f 72 6f 75 74 69 6e 65 1f 64 65 63 6c 61 72 61 74 69 6f 6e 3a 20   ┆  external routine declaration: ┆
0x23dc0…23de0 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a a1 43 6f 6d 70 69 6c 61 74 69 6f 6e   ┆                    АCompilation┆
0x23de0…23e00 1f 6f 66 1f 6c 69 62 72 61 72 69 65 73 20 0d 0a 0d 0a e1 49 74 20 69 73 20 61 6c 6c 6f 77 65 64   ┆ of libraries     рIt is allowed┆
0x23e00…23e20 20 74 6f 20 63 6f 6d 70 69 6c 65 20 73 65 76 65 72 61 6c 20 72 6f 75 74 69 6e 65 73 2f 70 72 6f   ┆ to compile several routines/pro┆
0x23e20…23e40 63 65 73 73 65 73 20 69 6e 20 6f 6e 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2c 20 0a 74 68 75 73   ┆cesses in one compilation,  thus┆
0x23e40…23e60 20 73 61 76 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 68 61 6e 64 6c 69 6e 67 20 66 6f 72   ┆ saving environment handling for┆
0x23e60…23e80 20 65 61 63 68 20 28 73 6d 61 6c 6c 29 20 72 6f 75 74 69 6e 65 2e 20 54 68 65 20 63 6f 64 65 20   ┆ each (small) routine. The code ┆
0x23e80…23ea0 0a 70 72 6f 64 75 63 65 64 20 63 6f 6e 73 74 69 74 75 74 65 73 20 6f 6e 65 20 52 43 38 30 30 30   ┆ produced constitutes one RC8000┆
0x23ea0…23ec0 20 64 69 73 63 20 61 72 65 61 20 77 68 69 63 68 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 66 6f   ┆ disc area which has the same fo┆
0x23ec0…23ee0 72 6d 61 74 20 0a 61 73 20 61 20 6c 69 62 72 61 72 79 20 62 75 69 6c 74 20 62 79 20 22 70 6c 69   ┆rmat  as a library built by "pli┆
0x23ee0…23f00 62 69 6e 73 65 72 74 22 2e 20 54 68 65 20 73 6f 75 72 63 65 20 74 65 78 74 73 20 66 6f 72 20 74   ┆binsert". The source texts for t┆
0x23f00…23f20 68 65 20 6d 6f 64 75 6c 65 73 20 69 6e 20 0a 71 75 65 73 74 69 6f 6e 20 6d 75 73 74 20 62 65 20   ┆he modules in  question must be ┆
0x23f20…23f40 63 6f 6c 6c 65 63 74 65 64 20 69 6e 20 6f 6e 65 20 66 69 6c 65 2e 20 54 68 65 20 73 79 6e 74 61   ┆collected in one file. The synta┆
0x23f40…23f60 78 20 66 6f 72 20 61 20 22 70 72 6f 67 72 61 6d 22 20 69 73 3a 20 0d 0a 0d 0a 70 72 6f 67 72 61   ┆x for a "program" is:     progra┆
0x23f60…23f80 6d 3a 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d   ┆m:                              ┆
0x23f80…23fa0 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 16 53 42 0d 0a 43 6f 6d 70 69 6c 65 72 20 44 69 72 65 63 74 69   ┆            SB  Compiler Directi┆
0x23fa0…23fc0 76 65 73 20 20 20 20 20 20 20 0d 0a 8c 8a 90 0a 44 69 72 65 63 74 69 76 65 73 20 74 6f 20 61 20   ┆ves         їіљ Directives to a ┆
0x23fc0…23fe0 52 65 61 6c 2d 54 69 6d 65 20 50 61 73 63 61 6c 20 63 6f 6d 70 69 6c 65 72 20 6d 61 79 20 62 65   ┆Real-Time Pascal compiler may be┆
0x23fe0…24000 20 72 65 67 61 72 64 65 64 20 61 73 20 6c 65 78 69 63 61 6c 20 0a 73 65 70 61 72 61 74 6f 72 73   ┆ regarded as lexical  separators┆
0x24000…24020 2e 20 54 68 65 79 20 68 61 76 65 20 74 68 65 20 67 65 6e 65 72 61 6c 20 66 6f 72 6d 3a 20 20 20   ┆. They have the general form:   ┆
0x24020…24040 20 20 24 20 64 69 72 65 63 74 69 76 65 2d 6e 61 6d 65 20 0a 70 61 72 61 6d 65 74 65 72 73 20 65   ┆  $ directive-name  parameters e┆
0x24040…24060 6e 64 2d 6f 66 2d 6c 69 6e 65 20 67 69 76 65 6e 20 6f 6e 20 61 20 73 65 70 61 72 61 74 65 20 6c   ┆nd-of-line given on a separate l┆
0x24060…24080 69 6e 65 20 61 6e 64 20 77 69 74 68 20 70 61 72 61 6d 65 74 65 72 73 2c 20 0a 69 66 20 70 72 65   ┆ine and with parameters,  if pre┆
0x24080…240a0 73 65 6e 74 2c 20 65 6e 63 6c 6f 73 65 64 20 69 6e 20 70 61 72 61 6e 74 68 65 73 65 73 2e 20 41   ┆sent, enclosed in parantheses. A┆
0x240a0…240c0 6c 74 65 72 6e 61 74 69 76 65 6c 79 20 64 69 72 65 63 74 69 76 65 73 20 6d 61 79 20 62 65 20 0a   ┆lternatively directives may be  ┆
0x240c0…240e0 73 75 70 70 6c 69 65 64 20 61 73 20 70 61 72 61 6d 65 74 65 72 73 20 69 6e 20 74 68 65 20 63 61   ┆supplied as parameters in the ca┆
0x240e0…24100 6c 6c 20 6f 66 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 2e 20 53 6f 6d 65 20 6f 66 20 74 68 65 6d   ┆ll of the compiler. Some of them┆
0x24100…24120 20 0a 6d 75 73 74 20 62 65 20 73 70 65 63 69 66 69 65 64 20 62 65 66 6f 72 65 20 74 68 65 20 66   ┆  must be specified before the f┆
0x24120…24140 69 72 73 74 20 6c 69 6e 65 20 6f 66 20 61 63 74 75 61 6c 20 73 6f 75 72 63 65 20 74 65 78 74 20   ┆irst line of actual source text ┆
0x24140…24160 69 73 20 6d 65 74 2c 20 0a 76 69 7a 2e 20 65 69 74 68 65 72 20 69 6e 20 74 68 65 20 63 6f 6d 70   ┆is met,  viz. either in the comp┆
0x24160…24180 69 6c 65 72 20 63 61 6c 6c 20 6f 72 20 61 73 20 24 2d 64 69 72 65 63 74 69 76 65 20 6c 69 6e 65   ┆iler call or as $-directive line┆
0x24180…241a0 73 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 74 68 65 20 0a 6f 75 74 65 72 6d 6f 73 74 20 70 72 6f   ┆s in front of the  outermost pro┆
0x241a0…241c0 67 72 61 6d 2f 72 6f 75 74 69 6e 65 20 68 65 61 64 69 6e 67 2e 20 0d 0a 0d 0a 54 68 65 20 66 6f   ┆gram/routine heading.     The fo┆
0x241c0…241e0 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 6c 69 73 74 73 20 74 68 65 20 64 69 72 65 63 74 69 76   ┆llowing table lists the directiv┆
0x241e0…24200 65 73 20 74 6f 20 74 68 65 20 52 54 50 33 35 30 32 2f 32 20 63 6f 6d 70 69 6c 65 72 2c 20 0a 64   ┆es to the RTP3502/2 compiler,  d┆
0x24200…24220 65 66 61 75 6c 74 20 64 69 72 65 63 74 69 76 65 73 20 61 72 65 20 66 6f 6c 6c 6f 77 65 64 20 62   ┆efault directives are followed b┆
0x24220…24240 79 20 61 6e 20 27 2a 27 2e 20 0d 0a 0d 0a a1 6e 61 6d 65 e1 1f 1f 1f 1f 1f 1f 1f 1f a1 20 70 61   ┆y an '*'.     Аnameр        А pa┆
0x24240…24260 72 61 6d 65 74 65 72 73 e1 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f a1 20 64 65 73 63 72 69 70 74 69 6f 6e   ┆rametersр          А description┆
0x24260…24280 20 0d 0a 0d 0a e1 43 4f 44 45 1f 1f 1f 1f 1f 1f 1f 1f 6e 6f 6e 65 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f   ┆     рCODE        none          ┆
0x24280…242a0 1f 1f 1f 1f 1f 1f 1f 1f 63 61 75 73 65 73 20 63 6f 64 65 20 67 65 6e 65 72 61 74 65 64 20 66 6f   ┆        causes code generated fo┆
0x242a0…242c0 72 20 74 68 65 20 0a 66 6f 6c 6c 6f 77 69 6e 67 20 6c 69 6e 65 73 20 6f 66 20 73 6f 75 72 63 65   ┆r the  following lines of source┆
0x242c0…242e0 20 74 65 78 74 20 74 6f 20 62 65 20 6c 69 73 74 65 64 2c 20 0d 0a 0d 0a 4e 4f 43 4f 44 45 2a 1f   ┆ text to be listed,     NOCODE* ┆
0x242e0…24300 1f 1f 1f 1f 6e 6f 6e 65 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 73 75 70 70 72 65   ┆    none                  suppre┆
0x24300…24320 73 73 65 73 20 6c 69 73 74 69 6e 67 20 6f 66 20 67 65 6e 65 72 61 74 65 64 20 0a 63 6f 64 65 2c   ┆sses listing of generated  code,┆
0x24320…24340 20 0d 0a 0d 0a 43 52 45 41 54 45 53 49 5a 45 1f 1f 6e 75 6d 62 65 72 1f 1f 1f 1f 1f 1f 1f 1f 1f   ┆     CREATESIZE  number         ┆
0x24340…24360 1f 1f 1f 1f 1f 1f 1f 64 65 74 65 72 6d 69 6e 65 73 20 73 74 61 63 6b 20 73 69 7a 65 20 6f 66 20   ┆       determines stack size of ┆
0x24360…24380 0a 69 6e 63 61 72 6e 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70   ┆ incarnations of the following p┆
0x24380…243a0 72 6f 67 72 61 6d 20 69 66 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 0a 73 69 7a 65   ┆rogram if the value of the  size┆
0x243a0…243c0 65 78 70 72 65 73 73 69 6f 6e 20 6f 66 20 74 68 65 20 63 72 65 61 74 65 20 63 61 6c 6c 20 69 73   ┆expression of the create call is┆
0x243c0…243e0 20 30 2e 20 0d 0a 0d 0a 4c 49 53 54 1f 1f 1f 1f 1f 1f 1f 1f 6e 6f 6e 65 1f 1f 1f 1f 1f 1f 1f 1f   ┆ 0.     LIST        none        ┆
0x243e0…24400 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 63 61 75 73 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c   ┆          causes the following l┆
0x24400…24420 69 6e 65 73 20 6f 66 20 0a 73 6f 75 72 63 65 20 74 65 78 74 20 74 6f 20 62 65 20 6c 69 73 74 65   ┆ines of  source text to be liste┆
0x24420…24440 64 2c 20 0d 0a 0d 0a 4e 4f 4c 49 53 54 2a 1f 1f 1f 1f 1f 6e 6f 6e 65 1f 1f 1f 1f 1f 1f 1f 1f 1f   ┆d,     NOLIST*     none         ┆
0x24440…24460 1f 1f 1f 1f 1f 1f 1f 1f 1f 73 75 70 70 72 65 73 73 65 73 20 6c 69 73 74 69 6e 67 20 6f 66 20 73   ┆         suppresses listing of s┆
0x24460…24480 6f 75 72 63 65 20 74 65 78 74 2c 20 0d 0a 0d 0a 56 45 52 53 49 4f 4e 1f 1f 1f 1f 1f 3c 76 65 72   ┆ource text,     VERSION     <ver┆
0x24480…244a0 73 69 6f 6e 20 64 65 73 63 72 69 70 74 69 6f 6e 3e 1f 31 36 2d 62 69 74 73 20 69 6e 74 65 67 65   ┆sion description> 16-bits intege┆
0x244a0…244c0 72 20 61 73 20 76 65 72 73 69 6f 6e 20 0a 69 64 65 6e 74 69 66 69 63 61 74 69 6f 6e 2c 20 65 69   ┆r as version  identification, ei┆
0x244c0…244e0 74 68 65 72 20 6f 6e 65 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 2c 20 6f 72 20 32 20 62 79 74   ┆ther one integer value, or 2 byt┆
0x244e0…24500 65 20 76 61 6c 75 65 73 2c 20 6f 72 20 61 20 74 72 69 70 70 6c 65 20 0a 64 65 6e 6f 74 69 6e 67   ┆e values, or a tripple  denoting┆
0x24500…24520 20 72 65 6c 65 61 73 65 2c 20 65 64 69 74 69 6f 6e 2c 20 61 6e 64 20 76 61 72 69 61 6e 74 2e 20   ┆ release, edition, and variant. ┆
0x24520…24540 0d 0a 0d 0a 53 45 54 1f 1f 1f 1f 1f 1f 1f 1f 1f 73 77 69 74 63 68 20 61 73 73 69 67 6e 6d 65 6e   ┆    SET         switch assignmen┆
0x24540…24560 74 20 6c 69 73 74 73 65 65 20 62 65 6c 6f 77 2c 20 0d 0a 0d 0a 49 46 1f 1f 1f 1f 1f 1f 1f 1f 1f   ┆t listsee below,     IF         ┆
0x24560…24580 1f 65 78 70 72 65 73 73 69 6f 6e 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 73 65 65 20 62 65 6c 6f 77   ┆ expression            see below┆
0x24580…245a0 2c 20 0d 0a 0d 0a 45 4e 44 49 46 1f 1f 1f 1f 1f 1f 1f 6e 6f 6e 65 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f   ┆,     ENDIF       none          ┆
0x245a0…245c0 1f 1f 1f 1f 1f 1f 1f 1f 73 65 65 20 62 65 6c 6f 77 2c 20 0d 0a 0d 0a 45 4c 53 45 1f 1f 1f 1f 1f   ┆        see below,     ELSE     ┆
0x245c0…245e0 1f 1f 1f 6e 6f 6e 65 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 73 65 65 20 62 65 6c   ┆   none                  see bel┆
0x245e0…24600 6f 77 2c 20 0d 0a 0d 0a 45 4c 53 45 49 46 1f 1f 1f 1f 1f 1f 65 78 70 72 65 73 73 69 6f 6e 20 1f   ┆ow,     ELSEIF      expression  ┆
0x24600…24620 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 73 65 65 20 62 65 6c 6f 77 20 0d 0a 0d 0a 53 77 69 74 63 68 65 73   ┆          see below     Switches┆
0x24620…24640 20 61 72 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 76 61 72 69 61 62 6c 65 73 20 77 68 69 63   ┆ are compile-time variables whic┆
0x24640…24660 68 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 75 73 65 64 20 69 6e 20 74 68 65 20 0a 65 78 70 72 65   ┆h can only be used in the  expre┆
0x24660…24680 73 73 69 6f 6e 73 20 6f 63 63 75 72 72 69 6e 67 20 69 6e 20 49 46 20 61 6e 64 20 45 4c 53 45 49   ┆ssions occurring in IF and ELSEI┆
0x24680…246a0 46 20 64 69 72 65 63 74 69 76 65 73 2e 20 41 20 73 77 69 74 63 68 20 0a 61 73 73 69 67 6e 6d 65   ┆F directives. A switch  assignme┆
0x246a0…246c0 6e 74 20 6c 69 73 74 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20   ┆nt list consists of one or more ┆
0x246c0…246e0 73 77 69 74 63 68 20 61 73 73 69 67 6e 6d 65 6e 74 73 20 73 65 70 61 72 61 74 65 64 20 0a 62 79   ┆switch assignments separated  by┆
0x246e0…24700 20 63 6f 6d 6d 61 73 2e 20 41 20 73 77 69 74 63 68 20 61 73 73 69 67 6e 6d 65 6e 74 20 68 61 73   ┆ commas. A switch assignment has┆
0x24700…24720 20 74 68 65 20 66 6f 72 6d 20 28 6e 75 6d 62 65 72 20 6d 75 73 74 20 62 65 20 0a 69 6e 74 65 67   ┆ the form (number must be  integ┆
0x24720…24740 65 72 2c 20 6e 6f 20 72 61 64 69 78 20 61 6c 6c 6f 77 65 64 29 3a 20 20 20 20 20 20 20 20 20 6e   ┆er, no radix allowed):         n┆
0x24740…24760 61 6d 65 20 3d 20 6e 75 6d 62 65 72 20 0d 0a 0d 0a 41 20 73 77 69 74 63 68 20 61 73 73 69 67 6e   ┆ame = number     A switch assign┆
0x24760…24780 6d 65 6e 74 20 65 69 74 68 65 72 20 69 6e 74 72 6f 64 75 63 65 73 20 61 6e 64 20 73 65 74 73 20   ┆ment either introduces and sets ┆
0x24780…247a0 74 68 65 20 76 61 6c 75 65 20 6f 66 20 61 20 73 77 69 74 63 68 2c 20 0a 6f 72 2c 20 69 66 20 74   ┆the value of a switch,  or, if t┆
0x247a0…247c0 68 65 20 73 77 69 74 63 68 20 68 61 73 20 62 65 65 6e 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e   ┆he switch has been introduced in┆
0x247c0…247e0 20 61 20 70 72 65 76 69 6f 75 73 20 73 77 69 74 63 68 20 61 73 73 69 67 6e 6d 65 6e 74 20 0a 28   ┆ a previous switch assignment  (┆
0x247e0…24800 53 45 54 20 64 69 72 65 63 74 69 76 65 20 6f 72 20 66 72 6f 6d 20 74 68 65 20 63 61 6c 6c 20 6f   ┆SET directive or from the call o┆
0x24800…24820 66 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 29 2c 20 6d 65 72 65 6c 79 20 63 68 61 6e 67 65 73 20   ┆f the compiler), merely changes ┆
0x24820…24840 74 68 65 20 0a 76 61 6c 75 65 2e 20 0d 0a 0d 0a 8c 8a 90 0a 54 68 65 20 64 69 72 65 63 74 69 76   ┆the  value.     їіљ The directiv┆
0x24840…24860 65 73 20 49 46 2c 20 45 4c 53 45 2c 20 45 4c 53 45 49 46 2c 20 61 6e 64 20 45 4e 44 49 46 20 70   ┆es IF, ELSE, ELSEIF, and ENDIF p┆
0x24860…24880 72 6f 76 69 64 65 20 74 68 65 20 63 61 70 61 62 69 6c 69 74 79 20 0a 66 6f 72 20 63 6f 6e 64 69   ┆rovide the capability  for condi┆
0x24880…248a0 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2e 20 54 68 65 20 65 78 70 72 65 73 73 69   ┆tional compilation. The expressi┆
0x248a0…248c0 6f 6e 73 20 6f 63 63 75 72 72 69 6e 67 20 69 6e 20 49 46 20 61 6e 64 20 0a 45 4c 53 45 49 46 20   ┆ons occurring in IF and  ELSEIF ┆
0x248c0…248e0 64 69 72 65 63 74 69 76 65 73 20 6d 75 73 74 20 62 65 20 62 6f 6f 6c 65 61 6e 20 65 78 70 72 65   ┆directives must be boolean expre┆
0x248e0…24900 73 73 69 6f 6e 73 20 6f 62 65 79 69 6e 67 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 0a 72 75 6c   ┆ssions obeying the standard  rul┆
0x24900…24920 65 73 20 6f 66 20 74 68 65 20 6c 61 6e 67 75 61 67 65 2e 20 54 68 65 20 6f 70 65 72 61 6e 64 73   ┆es of the language. The operands┆
0x24920…24940 20 6d 75 73 74 20 62 65 20 73 77 69 74 63 68 65 73 20 61 6e 64 20 69 6e 74 65 67 65 72 20 0a 6e   ┆ must be switches and integer  n┆
0x24940…24960 75 6d 62 65 72 73 2e 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6f 70 65 72 61 74 6f 72 73 20   ┆umbers. The following operators ┆
0x24960…24980 6d 61 79 20 62 65 20 75 73 65 64 3a 20 3c 2c 20 3c 3d 2c 20 3e 3d 2c 20 3e 2c 20 3d 2c 20 3c 3e   ┆may be used: <, <=, >=, >, =, <>┆
0x24980…249a0 2c 20 0a 41 4e 44 2c 20 4f 52 2c 20 58 4f 52 2c 20 4e 4f 54 2e 20 0d 0a 0d 0a 54 68 65 20 64 69   ┆,  AND, OR, XOR, NOT.     The di┆
0x249a0…249c0 72 65 63 74 69 76 65 73 20 66 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 61   ┆rectives for conditional compila┆
0x249c0…249e0 74 69 6f 6e 20 6d 61 79 20 62 65 20 75 73 65 64 20 74 6f 20 73 65 6c 65 63 74 69 76 65 6c 79 20   ┆tion may be used to selectively ┆
0x249e0…24a00 0a 65 78 63 6c 75 64 65 20 62 6c 6f 63 6b 73 20 6f 66 20 6c 69 6e 65 73 20 6f 66 20 73 6f 75 72   ┆ exclude blocks of lines of sour┆
0x24a00…24a20 63 65 20 74 65 78 74 20 66 72 6f 6d 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2c 20 69 2e 65 2e 20 74   ┆ce text from compilation, i.e. t┆
0x24a20…24a40 6f 20 63 61 75 73 65 20 0a 73 75 63 68 20 6c 69 6e 65 73 20 74 6f 20 62 65 20 74 72 65 61 74 65   ┆o cause  such lines to be treate┆
0x24a40…24a60 64 20 61 73 20 63 6f 6d 6d 65 6e 74 73 2e 20 57 68 65 6e 20 6c 69 73 74 65 64 2c 20 65 61 63 68   ┆d as comments. When listed, each┆
0x24a60…24a80 20 65 78 63 6c 75 64 65 64 20 6c 69 6e 65 20 0a 77 69 6c 6c 20 62 65 20 6d 61 72 6b 65 64 20 77   ┆ excluded line  will be marked w┆
0x24a80…24aa0 69 74 68 20 2d 2d 20 61 70 70 65 61 72 69 6e 67 20 61 74 20 74 68 65 20 62 65 67 69 6e 6e 69 6e   ┆ith -- appearing at the beginnin┆
0x24aa0…24ac0 67 20 6f 66 20 74 68 65 20 6c 69 6e 65 2e 20 0d 0a 0d 0a 54 68 65 20 64 69 72 65 63 74 69 76 65   ┆g of the line.     The directive┆
0x24ac0…24ae0 20 49 46 20 61 6e 64 20 45 4e 44 49 46 20 6d 75 73 74 20 61 6c 77 61 79 73 20 62 65 20 75 73 65   ┆ IF and ENDIF must always be use┆
0x24ae0…24b00 64 20 69 6e 20 6d 61 74 63 68 69 6e 67 20 70 61 69 72 73 2e 20 0a 45 4c 53 45 20 61 6e 64 20 45   ┆d in matching pairs.  ELSE and E┆
0x24b00…24b20 4c 53 45 49 46 20 6d 61 79 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 62 65 20 75 73 65 64 20 69 6e 20   ┆LSEIF may optionally be used in ┆
0x24b20…24b40 63 6f 6e 6a 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 49 46 20 61 6e 64 20 0a 45 4e 44 49 46 2e 20   ┆conjunction with IF and  ENDIF. ┆
0x24b40…24b60 41 20 75 73 65 20 6f 66 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 61 74 69 6f 6e   ┆A use of conditional compilation┆
0x24b60…24b80 20 74 61 6b 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d 3a 20 24 49 46 20 0a   ┆ takes the following form: $IF  ┆
0x24b80…24ba0 65 78 70 72 5f 31 20 73 31 5f 31 20 24 45 4c 53 45 49 46 20 65 78 70 72 5f 32 20 73 31 5f 32 20   ┆expr_1 s1_1 $ELSEIF expr_2 s1_2 ┆
0x24ba0…24bc0 24 45 4c 53 45 49 46 20 65 78 70 72 5f 33 20 73 31 5f 33 20 2e 2e 2e 20 24 45 4c 53 45 49 46 20   ┆$ELSEIF expr_3 s1_3 ... $ELSEIF ┆
0x24bc0…24be0 0a 65 78 70 72 5f 6e 20 73 31 5f 6e 20 24 45 4c 53 45 20 73 31 5f 6e 2b 31 20 24 45 4e 44 49 46   ┆ expr_n s1_n $ELSE s1_n+1 $ENDIF┆
0x24be0…24c00 20 0d 0a 0d 0a 54 68 65 20 6f 6e 6c 79 20 6d 61 6e 64 61 74 6f 72 79 20 70 61 72 74 73 20 61 72   ┆     The only mandatory parts ar┆
0x24c00…24c20 65 20 74 68 65 20 49 46 20 61 6e 64 20 45 4e 44 49 46 20 64 69 72 65 63 74 69 76 65 20 6c 69 6e   ┆e the IF and ENDIF directive lin┆
0x24c20…24c40 65 73 20 61 6e 64 20 0a 74 68 65 20 73 6f 75 72 63 65 20 6c 69 6e 65 28 73 29 20 73 31 5f 31 2e   ┆es and  the source line(s) s1_1.┆
0x24c40…24c60 20 54 68 65 20 65 66 66 65 63 74 20 69 73 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 20 49 66 20 74 68   ┆ The effect is as follows: If th┆
0x24c60…24c80 65 20 76 61 6c 75 65 73 20 6f 66 20 61 6c 6c 20 0a 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 73   ┆e values of all  the expressions┆
0x24c80…24ca0 20 61 72 65 20 66 61 6c 73 65 20 28 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 7a 65 72 6f 29 20   ┆ are false (integer value zero) ┆
0x24ca0…24cc0 74 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 20 6c 69 6e 65 73 20 0a 73 31 5f 31 2c 20 73 31 5f   ┆then the source lines  s1_1, s1_┆
0x24cc0…24ce0 32 2c 20 2e 2e 2e 2c 20 73 31 5f 6e 20 61 72 65 20 65 78 63 6c 75 64 65 64 20 66 72 6f 6d 20 63   ┆2, ..., s1_n are excluded from c┆
0x24ce0…24d00 6f 6d 70 69 5f 6c 61 74 69 6f 6e 2e 20 4f 74 68 65 72 77 69 73 65 20 6c 65 74 20 6b 20 0a 62 65   ┆ompi_lation. Otherwise let k  be┆
0x24d00…24d20 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 6e 75 6d 62 65 72 20 73 75 63 68 20 74 68 61 74 20 74   ┆ the smallest number such that t┆
0x24d20…24d40 68 65 20 76 61 6c 75 65 20 6f 66 20 65 78 70 72 5f 6b 20 69 73 20 74 72 75 65 20 28 6e 6f 6e 20   ┆he value of expr_k is true (non ┆
0x24d40…24d60 0a 7a 65 72 6f 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 29 2e 20 54 68 65 6e 20 73 31 5f 31 2c   ┆ zero integer value). Then s1_1,┆
0x24d60…24d80 20 2e 2e 2e 2c 20 73 31 5f 6b 2d 31 2c 20 73 31 5f 6b 2b 31 2c 20 2e 2e 2e 2c 20 73 31 5f 6e 2c   ┆ ..., s1_k-1, s1_k+1, ..., s1_n,┆
0x24d80…24da0 20 61 6e 64 20 0a 73 31 5f 6e 2b 31 20 28 69 66 20 70 72 65 73 65 6e 74 29 20 61 72 65 20 65 78   ┆ and  s1_n+1 (if present) are ex┆
0x24da0…24dc0 63 6c 75 64 65 64 20 66 72 6f 6d 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2e 20 0d 0a 0d 0a 43 6f 6e   ┆cluded from compilation.     Con┆
0x24dc0…24de0 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6d 61 79 20 62 65 20 75 73 65 64   ┆ditional compilation may be used┆
0x24de0…24e00 20 61 74 20 73 65 76 65 72 61 6c 20 6e 65 73 74 65 64 20 6c 65 76 65 6c 73 2e 20 49 6e 20 74 68   ┆ at several nested levels. In th┆
0x24e00…24e20 65 20 0a 61 62 6f 76 65 20 74 65 72 6d 69 6e 6f 6c 6f 67 79 20 61 6e 79 20 6f 66 20 74 68 65 20   ┆e  above terminology any of the ┆
0x24e20…24e40 73 31 5f 69 20 6d 61 79 20 74 68 75 73 20 69 6e 5f 63 6c 75 64 65 20 72 65 70 65 61 74 65 64 20   ┆s1_i may thus in_clude repeated ┆
0x24e40…24e60 75 73 65 20 6f 66 20 0a 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2e   ┆use of  conditional compilation.┆
0x24e60…24e80 20 0d 0a 0d 0a a1 4e 6f 74 65 73 3a e1 20 53 77 69 74 63 68 65 73 20 61 6e 64 20 76 61 72 69 61   ┆     АNotes:р Switches and varia┆
0x24e80…24ea0 62 6c 65 73 20 69 6e 20 74 68 65 20 70 72 6f 67 72 61 6d 20 74 65 78 74 20 62 65 6c 6f 6e 67 20   ┆bles in the program text belong ┆
0x24ea0…24ec0 74 6f 20 73 65 70 61 72 61 74 65 20 0a 6e 61 6d 65 20 73 70 61 63 65 73 20 61 6e 64 20 63 61 6e   ┆to separate  name spaces and can┆
0x24ec0…24ee0 6e 6f 74 20 62 65 20 63 6f 6e 66 75 73 65 64 2e 20 54 68 65 20 73 61 6d 65 20 6e 61 6d 65 73 20   ┆not be confused. The same names ┆
0x24ee0…24f00 6d 61 79 20 62 65 20 75 73 65 64 2e 20 0d 0a 0d 0a 55 6e 64 65 66 69 6e 65 64 20 73 77 69 74 63   ┆may be used.     Undefined switc┆
0x24f00…24f20 68 65 73 20 75 73 65 64 20 69 6e 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 61 72 65 20 69 6d   ┆hes used in an expression are im┆
0x24f20…24f40 70 6c 69 63 69 74 6c 79 20 64 65 66 69 6e 65 64 20 77 69 74 68 20 0a 76 61 6c 75 65 20 66 61 6c   ┆plicitly defined with  value fal┆
0x24f40…24f60 73 65 2f 30 2e 20 41 6e 64 20 61 20 77 61 72 6e 69 6e 67 20 69 73 20 67 69 76 65 6e 2e 20 0d 0a   ┆se/0. And a warning is given.   ┆
0x24f60…24f80 0d 0a 44 69 72 65 63 74 69 76 65 73 20 6f 63 63 75 72 72 69 6e 67 20 69 6e 20 63 6f 6d 6d 65 6e   ┆  Directives occurring in commen┆
0x24f80…24fa0 74 73 20 61 72 65 20 69 67 6e 6f 72 65 64 2c 20 69 6e 20 70 61 72 74 69 63 75 6c 61 72 20 74 68   ┆ts are ignored, in particular th┆
0x24fa0…24fc0 6f 73 65 20 0a 6f 63 63 75 72 72 69 6e 67 20 69 6e 20 73 6f 75 72 63 65 20 6c 69 6e 65 73 20 65   ┆ose  occurring in source lines e┆
0x24fc0…24fe0 78 63 6c 75 64 65 64 20 66 72 6f 6d 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2e 20 0d 0a 0d 0a 0d 0a   ┆xcluded from compilation.       ┆
0x24fe0…25000 16 53 61 0d 0a 50 45 52 46 4f 52 4d 41 4e 43 45 1f 4d 45 41 53 55 52 45 4d 45 4e 54 20 20 20 0d   ┆ Sa  PERFORMANCE MEASUREMENT    ┆
0x25000…25020 0a 49 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 6d 61 6b 65 20 73 6f 6d 65 20 70 65 72   ┆ It is possible to make some per┆
0x25020…25040 66 6f 72 6d 61 6e 63 65 20 6d 65 61 73 75 72 65 6d 65 6e 74 73 20 6f 6e 20 72 75 6e 6e 69 6e 67   ┆formance measurements on running┆
0x25040…25060 20 0a 52 65 61 6c 2d 54 69 6d 65 20 50 61 73 63 61 6c 20 70 72 6f 67 72 61 6d 73 2e 20 54 68 65   ┆  Real-Time Pascal programs. The┆
0x25060…25080 20 72 65 73 75 6c 74 20 6f 66 20 6d 65 61 73 75 72 69 6e 67 20 69 6e 63 6c 75 64 65 73 20 74 68   ┆ result of measuring includes th┆
0x25080…250a0 65 20 0a 6e 75 6d 62 65 72 20 6f 66 20 72 6f 75 74 69 6e 65 20 61 63 74 69 76 61 74 69 6f 6e 73   ┆e  number of routine activations┆
0x250a0…250c0 20 61 6e 64 20 74 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 74 69 6d 65 20 73 70 65 6e 74 20 69 6e   ┆ and the amount of time spent in┆
0x250c0…250e0 20 74 68 65 20 0a 72 6f 75 74 69 6e 65 73 2e 20 54 68 65 20 74 69 6d 65 20 69 6e 64 69 63 61 74   ┆ the  routines. The time indicat┆
0x250e0…25100 69 6f 6e 73 20 61 72 65 20 72 65 61 6c 2d 74 69 6d 65 2c 20 69 2e 65 2e 20 73 79 73 74 65 6d 20   ┆ions are real-time, i.e. system ┆
0x25100…25120 6f 76 65 72 68 65 61 64 2c 20 0a 74 69 6d 65 20 73 6c 69 63 69 6e 67 20 61 6e 64 20 74 69 6d 65   ┆overhead,  time slicing and time┆
0x25120…25140 20 66 6f 72 20 77 61 69 74 20 61 72 65 20 69 6e 63 6c 75 64 65 64 2e 20 0d 0a 0d 0a 4d 65 61 73   ┆ for wait are included.     Meas┆
0x25140…25160 75 72 65 6d 65 6e 74 20 69 73 20 69 6e 69 74 69 61 74 65 64 20 62 79 20 61 20 63 61 6c 6c 20 6f   ┆urement is initiated by a call o┆
0x25160…25180 66 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 27 73 74 61 72 74 5f 6d 65 61 73 75 72 65 27 20   ┆f the procedure 'start_measure' ┆
0x25180…251a0 0a 77 69 74 68 20 61 20 73 65 6d 61 70 68 6f 72 65 20 61 73 20 70 61 72 61 6d 65 74 65 72 2e 20   ┆ with a semaphore as parameter. ┆
0x251a0…251c0 41 6c 6c 20 73 75 63 63 65 65 64 69 6e 67 20 72 6f 75 74 69 6e 65 20 63 61 6c 6c 73 20 61 6e 64   ┆All succeeding routine calls and┆
0x251c0…251e0 20 0a 72 65 74 75 72 6e 73 20 74 72 69 67 67 65 72 20 75 70 64 61 74 65 20 6f 66 20 61 20 74 61   ┆  returns trigger update of a ta┆
0x251e0…25200 62 6c 65 2e 20 54 68 65 20 74 61 62 6c 65 20 69 73 20 61 6c 6c 6f 63 61 74 65 64 20 61 6e 64 20   ┆ble. The table is allocated and ┆
0x25200…25220 0a 69 6e 69 74 69 61 6c 69 7a 65 64 20 62 79 20 27 73 74 61 72 74 5f 6d 65 61 73 75 72 65 27 2e   ┆ initialized by 'start_measure'.┆
0x25220…25240 20 0d 0a 0d 0a 54 68 65 20 6d 65 61 73 75 72 65 6d 65 6e 74 20 69 73 20 74 65 72 6d 69 6e 61 74   ┆     The measurement is terminat┆
0x25240…25260 65 64 20 62 79 20 61 20 63 61 6c 6c 20 6f 66 20 27 73 74 6f 70 5f 6d 65 61 73 75 72 65 27 20 77   ┆ed by a call of 'stop_measure' w┆
0x25260…25280 69 74 68 20 74 68 65 20 0a 73 61 6d 65 20 73 65 6d 61 70 68 6f 72 65 20 70 61 72 61 6d 65 74 65   ┆ith the  same semaphore paramete┆
0x25280…252a0 72 20 61 73 20 27 73 74 61 72 74 5f 6d 65 61 73 75 72 65 27 2e 20 27 53 74 6f 70 5f 6d 65 61 73   ┆r as 'start_measure'. 'Stop_meas┆
0x252a0…252c0 75 72 65 27 20 73 69 67 6e 61 6c 73 20 0a 8c 8a 90 0a 74 68 65 20 74 61 62 6c 65 20 74 6f 20 61   ┆ure' signals  їіљ the table to a┆
0x252c0…252e0 20 73 79 73 74 65 6d 20 73 65 6d 61 70 68 6f 72 65 20 61 6e 64 20 61 20 6e 65 77 20 63 61 6c 6c   ┆ system semaphore and a new call┆
0x252e0…25300 20 6f 66 20 27 73 74 61 72 74 5f 6d 65 61 73 75 72 65 27 20 69 73 20 0a 70 6f 73 73 69 62 6c 65   ┆ of 'start_measure' is  possible┆
0x25300…25320 2e 20 4d 65 61 73 75 72 65 6d 65 6e 74 73 20 6d 61 79 20 62 65 20 73 74 61 72 74 65 64 20 61 6e   ┆. Measurements may be started an┆
0x25320…25340 64 20 73 74 6f 70 70 65 64 20 61 73 20 6c 6f 6e 67 20 61 73 20 69 74 20 69 73 20 0a 70 6f 73 73   ┆d stopped as long as it is  poss┆
0x25340…25360 69 62 6c 65 20 74 6f 20 61 6c 6c 6f 63 61 74 65 20 61 6e 20 61 72 65 61 20 6f 66 20 32 35 37 34   ┆ible to allocate an area of 2574┆
0x25360…25380 20 62 79 74 65 73 20 74 6f 20 62 65 20 75 73 65 64 20 61 73 20 6d 65 61 73 75 72 65 6d 65 6e 74   ┆ bytes to be used as measurement┆
0x25380…253a0 20 0a 61 72 65 61 2e 20 0d 0a 0d 0a 54 68 65 20 6d 65 61 73 75 72 65 6d 65 6e 74 20 72 65 73 75   ┆  area.     The measurement resu┆
0x253a0…253c0 6c 74 73 20 6d 61 79 20 62 65 20 70 72 69 6e 74 65 64 20 6f 6e 20 74 68 65 20 63 6f 6e 73 6f 6c   ┆lts may be printed on the consol┆
0x253c0…253e0 65 20 62 79 20 6d 65 61 6e 73 20 6f 66 20 0a 74 68 65 20 70 72 6f 63 65 73 73 20 27 70 72 69 6e   ┆e by means of  the process 'prin┆
0x253e0…25400 74 5f 73 74 61 74 69 73 28 74 69 63 61 6c 5f 69 6e 66 6f 72 6d 61 74 69 6f 6e 29 27 2e 20 54 68   ┆t_statis(tical_information)'. Th┆
0x25400…25420 65 20 6f 72 64 65 72 20 6f 66 20 72 65 73 75 6c 74 73 20 69 73 20 0a 46 49 46 4f 2e 20 54 68 65   ┆e order of results is  FIFO. The┆
0x25420…25440 20 6f 75 74 70 75 74 20 70 72 6f 63 65 73 73 20 64 65 61 6c 6c 6f 63 61 74 65 73 20 74 68 65 20   ┆ output process deallocates the ┆
0x25440…25460 6d 65 61 73 75 72 65 6d 65 6e 74 20 61 72 65 61 73 20 61 66 74 65 72 20 0a 70 72 69 6e 74 69 6e   ┆measurement areas after  printin┆
0x25460…25480 67 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 2e 20 0d 0a 0d 0a 54 68 65 72 65 20 69 73 20 61   ┆g of the results.     There is a┆
0x25480…254a0 6e 20 75 70 70 65 72 20 6c 69 6d 69 74 20 6f 66 20 32 35 35 20 64 69 66 66 65 72 65 6e 74 20 72   ┆n upper limit of 255 different r┆
0x254a0…254c0 6f 75 74 69 6e 65 73 20 70 65 72 20 70 72 6f 67 72 61 6d 2c 20 69 2e 65 2e 20 70 65 72 20 0a 70   ┆outines per program, i.e. per  p┆
0x254c0…254e0 72 6f 63 65 73 73 20 69 6e 63 6c 75 64 69 6e 67 20 69 6e 74 65 72 6e 61 6c 20 70 72 6f 63 65 73   ┆rocess including internal proces┆
0x254e0…25500 73 65 73 2e 20 49 66 20 6d 6f 72 65 20 74 68 61 6e 20 32 35 35 20 64 69 66 66 65 72 65 6e 74 20   ┆ses. If more than 255 different ┆
0x25500…25520 0a 69 6e 74 65 72 6e 61 6c 20 61 6e 64 20 65 78 74 65 72 6e 61 6c 20 72 6f 75 74 69 6e 65 73 20   ┆ internal and external routines ┆
0x25520…25540 61 72 65 20 63 61 6c 6c 65 64 20 74 68 65 20 28 73 74 61 74 69 63 61 6c 6c 79 29 20 6c 61 73 74   ┆are called the (statically) last┆
0x25540…25560 20 72 6f 75 74 69 6e 65 73 20 0a 77 69 6c 6c 20 75 73 65 20 6f 6e 65 20 63 6f 6d 6d 6f 6e 20 74   ┆ routines  will use one common t┆
0x25560…25580 61 62 6c 65 20 65 6e 74 72 79 2c 20 61 6e 64 20 74 68 65 20 6f 75 74 70 75 74 20 70 72 6f 63 65   ┆able entry, and the output proce┆
0x25580…255a0 73 73 20 77 69 6c 6c 20 70 75 74 20 0a 27 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 27 20 69 6e 73 74   ┆ss will put  '************' inst┆
0x255a0…255c0 65 61 64 20 6f 66 20 6e 61 6d 65 2e 20 0d 0a 0d 0a 54 68 65 20 6f 75 74 70 75 74 20 66 6f 72 6d   ┆ead of name.     The output form┆
0x255c0…255e0 61 74 20 6d 61 79 20 62 65 20 73 65 65 6e 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20   ┆at may be seen in the following ┆
0x255e0…25600 65 78 61 6d 70 6c 65 2e 20 54 68 65 20 6e 75 6d 62 65 72 20 0a 6f 66 20 63 61 6c 6c 73 20 69 73   ┆example. The number  of calls is┆
0x25600…25620 20 6d 6f 64 75 6c 6f 20 36 34 4b 20 61 6e 64 20 74 68 65 20 74 69 6d 65 20 61 6d 6f 75 6e 74 73   ┆ modulo 64K and the time amounts┆
0x25620…25640 20 61 72 65 20 67 69 76 65 6e 20 61 73 3a 20 0d 0a 0d 0a 20 20 20 20 20 68 6f 75 72 73 2e 6d 69   ┆ are given as:          hours.mi┆
0x25640…25660 6e 75 74 65 73 2e 73 65 63 6f 6e 64 73 2e 68 75 6e 64 72 65 64 74 68 73 20 6f 66 20 61 20 73 65   ┆nutes.seconds.hundredths of a se┆
0x25660…25680 63 6f 6e 64 20 0d 0a 0d 0a 53 69 6e 63 65 20 74 68 65 20 6e 61 6d 65 73 20 61 72 65 20 66 6f 75   ┆cond     Since the names are fou┆
0x25680…256a0 6e 64 20 69 6e 20 74 68 65 20 63 6f 64 65 20 6f 66 20 74 68 65 20 72 6f 75 74 69 6e 65 73 2c 20   ┆nd in the code of the routines, ┆
0x256a0…256c0 74 68 65 20 6f 75 74 70 75 74 20 0a 70 72 6f 63 65 73 73 20 6d 75 73 74 20 62 65 20 72 75 6e 20   ┆the output  process must be run ┆
0x256c0…256e0 62 65 66 6f 72 65 20 74 68 65 20 72 6f 75 74 69 6e 65 73 20 61 6e 64 20 70 72 6f 63 65 73 73 65   ┆before the routines and processe┆
0x256e0…25700 73 20 61 72 65 20 75 6e 6c 6f 61 64 65 64 2e 20 0d 0a 0d 0a 55 73 65 20 6f 66 20 74 68 65 20 6d   ┆s are unloaded.     Use of the m┆
0x25700…25720 65 61 73 75 72 65 6d 65 6e 74 20 74 6f 6f 6c 73 3a 20 0d 0a 0d 0a 54 68 65 20 70 72 6f 63 65 73   ┆easurement tools:     The proces┆
0x25720…25740 73 65 73 20 74 6f 20 62 65 20 6d 65 61 73 75 72 65 64 20 6d 75 73 74 20 62 65 20 63 6f 6d 70 69   ┆ses to be measured must be compi┆
0x25740…25760 6c 65 64 20 74 6f 67 65 74 68 65 72 20 77 69 74 68 20 0a 27 6d 65 61 73 75 72 65 65 6e 76 27 20   ┆led together with  'measureenv' ┆
0x25760…25780 61 6e 64 20 77 69 74 68 20 27 6d 65 61 73 75 72 65 2e 79 65 73 27 20 69 6e 20 74 68 65 20 63 61   ┆and with 'measure.yes' in the ca┆
0x25780…257a0 6c 6c 20 6f 66 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 2e 20 0a 27 4d 65 61 73 75 72 65 65 6e 76   ┆ll of the compiler.  'Measureenv┆
0x257a0…257c0 27 20 69 6e 63 6c 75 64 65 73 20 65 78 74 65 72 6e 61 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 73   ┆' includes external declarations┆
0x257c0…257e0 20 6f 66 20 27 73 74 61 72 74 5f 6d 65 61 73 75 72 65 27 20 61 6e 64 20 0a 27 73 74 6f 70 5f 6d   ┆ of 'start_measure' and  'stop_m┆
0x257e0…25800 65 61 73 75 72 65 27 2e 20 0d 0a 0d 0a 54 68 65 20 6e 65 63 65 73 73 61 72 79 20 72 6f 75 74 69   ┆easure'.     The necessary routi┆
0x25800…25820 6e 65 73 20 66 6f 72 20 6d 65 61 73 75 72 69 6e 67 20 61 72 65 20 73 75 70 70 6c 69 65 64 20 69   ┆nes for measuring are supplied i┆
0x25820…25840 6e 20 27 6d 65 61 73 75 72 65 6c 69 62 27 2c 20 0a 77 68 69 63 68 20 69 73 20 72 65 71 75 69 72   ┆n 'measurelib',  which is requir┆
0x25840…25860 65 64 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6c 6f 61 64 2f 6c 69 6e 6b 20 70 72 6f 63 65 73 73   ┆ed in order to load/link process┆
0x25860…25880 65 73 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 0a 6d 65 61 73 75 72 65 2e 79 65 73 2e 20 0d   ┆es compiled with  measure.yes.  ┆
0x25880…258a0 0a 0d 0a 54 68 65 20 6f 75 74 70 75 74 20 70 72 6f 63 65 73 73 20 69 73 20 73 75 70 70 6c 69 65   ┆   The output process is supplie┆
0x258a0…258c0 64 20 61 73 20 27 62 70 72 69 6e 74 73 74 61 74 27 2e 20 0d 0a 0d 0a a1 45 78 61 6d 70 6c 65 20   ┆d as 'bprintstat'.     АExample ┆
0x258c0…258e0 20 39 2e 20 20 54 72 61 70 74 65 73 74 20 e1 20 20 50 52 4f 43 45 53 53 20 74 72 61 70 74 65 73   ┆ 9.  Traptest р  PROCESS traptes┆
0x258e0…25900 74 28 20 56 41 52 20 73 76 20 3a 20 73 79 73 74 65 6d 5f 76 65 63 74 6f 72 20 0a 29 3b 20 20 20   ┆t( VAR sv : system_vector  );   ┆
0x25900…25920 20 20 56 41 52 20 20 20 20 20 73 74 65 70 31 2c 20 73 74 65 70 32 20 3a 20 69 6e 74 65 67 65 72   ┆  VAR     step1, step2 : integer┆
0x25920…25940 3b 20 20 20 20 20 6d 65 61 73 75 72 65 5f 73 65 6d 20 3a 20 73 65 6d 61 70 68 6f 72 65 3b 20 20   ┆;     measure_sem : semaphore;  ┆
0x25940…25960 20 20 20 20 20 0a 50 52 4f 43 45 44 55 52 45 20 65 6d 70 74 79 5f 31 3b 20 20 20 20 20 42 45 47   ┆      PROCEDURE empty_1;     BEG┆
0x25960…25980 49 4e 20 45 4e 44 3b 20 20 20 20 20 20 20 50 52 4f 43 45 44 55 52 45 20 65 6d 70 74 79 5f 32 3b   ┆IN END;       PROCEDURE empty_2;┆
0x25980…259a0 20 20 20 20 20 0a 42 45 47 49 4e 20 45 4e 44 3b 20 20 20 20 20 42 45 47 49 4e 20 20 20 20 20 73   ┆      BEGIN END;     BEGIN     s┆
0x259a0…259c0 74 61 72 74 5f 6d 65 61 73 75 72 65 28 20 6d 65 61 73 75 72 65 5f 73 65 6d 20 29 3b 20 20 20 20   ┆tart_measure( measure_sem );    ┆
0x259c0…259e0 20 46 4f 52 20 0a 73 74 65 70 31 20 3a 3d 20 31 20 54 4f 20 33 32 20 44 4f 20 20 20 20 20 20 20   ┆ FOR  step1 := 1 TO 32 DO       ┆
0x259e0…25a00 46 4f 52 20 73 74 65 70 32 20 3a 3d 20 31 20 54 4f 20 31 30 30 30 20 44 4f 20 20 20 20 20 20 20   ┆FOR step2 := 1 TO 1000 DO       ┆
0x25a00…25a20 20 20 0a 42 45 47 49 4e 20 65 6d 70 74 79 5f 31 3b 20 65 6d 70 74 79 5f 32 3b 20 20 20 20 20 20   ┆   BEGIN empty_1; empty_2;      ┆
0x25a20…25a40 20 20 20 45 4e 44 3b 20 20 20 20 20 73 74 6f 70 5f 6d 65 61 73 75 72 65 28 20 0a 6d 65 61 73 75   ┆   END;     stop_measure(  measu┆
0x25a40…25a60 72 65 5f 73 65 6d 20 29 3b 20 20 20 20 20 73 74 61 72 74 5f 6d 65 61 73 75 72 65 28 6d 65 61 73   ┆re_sem );     start_measure(meas┆
0x25a60…25a80 75 72 65 5f 73 65 6d 29 3b 20 20 20 20 20 46 4f 52 20 73 74 65 70 31 20 3a 3d 20 31 20 0a 54 4f   ┆ure_sem);     FOR step1 := 1  TO┆
0x25a80…25aa0 20 33 33 20 44 4f 20 20 20 20 20 20 20 46 4f 52 20 73 74 65 70 32 20 3a 3d 20 31 20 54 4f 20 31   ┆ 33 DO       FOR step2 := 1 TO 1┆
0x25aa0…25ac0 30 30 30 20 44 4f 20 20 20 20 20 20 20 20 20 42 45 47 49 4e 20 0a 65 6d 70 74 79 5f 32 3b 20 65   ┆000 DO         BEGIN  empty_2; e┆
0x25ac0…25ae0 6d 70 74 79 5f 31 3b 20 20 20 20 20 20 20 20 20 45 4e 44 3b 20 20 20 20 20 73 74 6f 70 5f 6d 65   ┆mpty_1;         END;     stop_me┆
0x25ae0…25b00 61 73 75 72 65 28 6d 65 61 73 75 72 65 5f 73 65 6d 29 3b 20 20 20 0a 45 4e 44 2e 20 0d 0a 0d 0a   ┆asure(measure_sem);    END.     ┆
0x25b00…25b20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a   ┆                                ┆
              […0x1…]
0x25b40…25b60 0d 0a 8c 8f 98 0a 0d 0a 16 53 61 0d 0a 52 45 41 4c 2d 54 49 4d 45 20 50 41 53 43 41 4c 20 4d 45   ┆  їЈў    Sa  REAL-TIME PASCAL ME┆
0x25b60…25b80 53 53 41 47 45 53 20 0d 0a 49 66 20 65 72 72 6f 72 73 20 61 72 65 20 64 65 74 65 63 74 65 64 20   ┆SSAGES   If errors are detected ┆
0x25b80…25ba0 64 75 72 69 6e 67 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2c 20 74 68 65 20 63 6f 6d 70 69 6c 65 72   ┆during compilation, the compiler┆
0x25ba0…25bc0 20 69 6e 69 74 69 61 6c 69 73 65 73 20 74 68 65 20 0a 6f 6b 2d 62 69 74 20 74 6f 20 6f 6b 2e 6e   ┆ initialises the  ok-bit to ok.n┆
0x25bc0…25be0 6f 2e 20 0d 0a 0d 0a 57 68 65 6e 20 74 68 65 20 63 6f 6e 74 65 78 74 73 20 61 6e 64 20 74 68 65   ┆o.     When the contexts and the┆
0x25be0…25c00 20 73 6f 75 72 63 65 20 69 73 20 73 70 72 65 61 64 20 6f 76 65 72 20 6d 6f 72 65 20 66 69 6c 65   ┆ source is spread over more file┆
0x25c00…25c20 73 2c 20 74 68 65 20 6c 69 6e 65 20 0a 6e 75 6d 62 65 72 20 69 73 20 73 65 74 20 74 6f 20 30 2c   ┆s, the line  number is set to 0,┆
0x25c20…25c40 20 77 68 65 6e 20 61 20 6e 65 77 20 66 69 6c 65 20 69 73 20 74 6f 20 62 65 20 63 6f 6d 70 69 6c   ┆ when a new file is to be compil┆
0x25c40…25c60 65 64 2c 20 6f 72 20 77 68 65 6e 20 61 20 0a 70 65 72 69 6f 64 65 20 69 73 20 65 6e 63 6f 75 6e   ┆ed, or when a  periode is encoun┆
0x25c60…25c80 74 65 64 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 42 0d 0a 4d 65 73 73 61 67 65 73 1f 66 72 6f 6d 1f   ┆ted.          SB  Messages from ┆
0x25c80…25ca0 50 61 73 73 1f 31 20 20 0d 0a 20 20 30 20 49 6c 6c 65 67 61 6c 20 63 68 61 72 61 63 74 65 72 20   ┆Pass 1      0 Illegal character ┆
0x25ca0…25cc0 6f 72 20 66 61 74 61 6c 20 65 72 72 6f 72 20 20 20 31 20 49 64 65 6e 74 69 66 69 65 72 20 65 78   ┆or fatal error   1 Identifier ex┆
0x25cc0…25ce0 70 65 63 74 65 64 20 20 20 32 20 27 2e 27 20 0a 65 78 70 65 63 74 65 64 20 28 65 6e 64 20 6f 66   ┆pected   2 '.'  expected (end of┆
0x25ce0…25d00 20 70 72 6f 63 65 73 73 2c 20 70 72 65 66 69 78 20 6f 72 20 63 6f 6e 74 65 78 74 29 20 20 20 33   ┆ process, prefix or context)   3┆
0x25d00…25d20 20 27 3b 27 20 65 78 70 65 63 74 65 64 20 20 20 34 20 0a 49 64 65 6e 74 69 66 69 65 72 20 65 78   ┆ ';' expected   4  Identifier ex┆
0x25d20…25d40 70 65 63 74 65 64 20 20 20 35 20 27 3d 27 20 65 78 70 65 63 74 65 64 20 20 20 36 20 27 2c 27 20   ┆pected   5 '=' expected   6 ',' ┆
0x25d40…25d60 6f 72 20 27 3a 27 20 65 78 70 65 63 74 65 64 20 20 20 37 20 45 72 72 6f 72 20 0a 69 6e 20 64 65   ┆or ':' expected   7 Error  in de┆
0x25d60…25d80 63 6c 61 72 61 74 69 6f 6e 20 20 20 38 20 53 65 74 20 65 6c 65 6d 65 6e 74 20 6f 72 20 27 2e 29   ┆claration   8 Set element or '.)┆
0x25d80…25da0 27 20 65 78 70 65 63 74 65 64 20 20 20 39 20 28 73 74 72 75 63 74 75 72 65 64 29 20 0a 63 6f 6e   ┆' expected   9 (structured)  con┆
0x25da0…25dc0 73 74 61 6e 74 20 6f 72 20 27 3a 29 27 20 65 78 70 65 63 74 65 64 20 20 31 30 20 45 72 72 6f 72   ┆stant or ':)' expected  10 Error┆
0x25dc0…25de0 20 61 66 74 65 72 20 27 26 27 2c 20 73 74 72 69 6e 67 20 6f 72 20 63 68 61 72 61 63 74 65 72 20   ┆ after '&', string or character ┆
0x25de0…25e00 0a 63 6f 6e 73 74 61 6e 74 20 6e 61 6d 65 20 65 78 70 65 63 74 65 64 20 20 31 31 20 43 6f 6e 73   ┆ constant name expected  11 Cons┆
0x25e00…25e20 74 61 6e 74 2c 20 76 61 72 69 61 62 6c 65 20 6f 72 20 27 28 20 3c 65 78 70 72 65 73 73 69 6f 6e   ┆tant, variable or '( <expression┆
0x25e20…25e40 3e 20 29 27 20 0a 65 78 70 65 63 74 65 64 20 20 31 32 20 27 28 27 20 65 78 70 65 63 74 65 64 20   ┆> )'  expected  12 '(' expected ┆
0x25e40…25e60 20 31 33 20 27 29 27 20 65 78 70 65 63 74 65 64 20 20 31 34 20 45 78 70 72 65 73 73 69 6f 6e 20   ┆ 13 ')' expected  14 Expression ┆
0x25e60…25e80 65 78 70 65 63 74 65 64 20 20 0a 31 35 20 41 63 74 75 61 6c 20 70 61 72 61 6d 65 74 65 72 20 65   ┆expected   15 Actual parameter e┆
0x25e80…25ea0 78 70 65 63 74 65 64 20 20 31 36 20 45 78 70 72 65 73 73 69 6f 6e 20 65 78 70 65 63 74 65 64 20   ┆xpected  16 Expression expected ┆
0x25ea0…25ec0 20 31 37 20 27 29 27 20 6f 72 20 27 2c 27 20 0a 65 78 70 65 63 74 65 64 20 20 31 38 20 27 3a 29   ┆ 17 ')' or ','  expected  18 ':)┆
0x25ec0…25ee0 27 20 6f 72 20 27 2c 27 20 65 78 70 65 63 74 65 64 20 20 31 39 20 27 2e 29 27 20 6f 72 20 27 2c   ┆' or ',' expected  19 '.)' or ',┆
0x25ee0…25f00 27 20 65 78 70 65 63 74 65 64 20 20 32 30 20 27 6f 66 27 20 0a 65 78 70 65 63 74 65 64 20 20 32   ┆' expected  20 'of'  expected  2┆
0x25f00…25f20 31 20 49 64 65 6e 74 69 66 69 65 72 20 6f 72 20 27 3f 27 20 65 78 70 65 63 74 65 64 20 20 32 32   ┆1 Identifier or '?' expected  22┆
0x25f20…25f40 20 27 50 52 4f 43 45 53 53 27 20 65 78 70 65 63 74 65 64 20 20 32 33 20 0a 27 61 72 72 61 79 27   ┆ 'PROCESS' expected  23  'array'┆
0x25f40…25f60 20 6f 72 20 27 72 65 63 6f 72 64 27 20 65 78 70 65 63 74 65 64 20 61 66 74 65 72 20 27 70 61 63   ┆ or 'record' expected after 'pac┆
0x25f60…25f80 6b 65 64 27 20 20 32 34 20 27 2e 2e 27 20 65 78 70 65 63 74 65 64 20 20 32 35 20 0a 27 65 6e 64   ┆ked'  24 '..' expected  25  'end┆
0x25f80…25fa0 27 20 6f 72 20 27 3b 27 20 65 78 70 65 63 74 65 64 20 20 32 36 20 27 3b 27 20 6f 72 20 27 29 27   ┆' or ';' expected  26 ';' or ')'┆
0x25fa0…25fc0 20 65 78 70 65 63 74 65 64 20 20 32 37 20 27 3a 27 20 65 78 70 65 63 74 65 64 20 20 32 38 20 0a   ┆ expected  27 ':' expected  28  ┆
0x25fc0…25fe0 27 2e 3c 66 69 65 6c 64 20 6e 61 6d 65 3e 27 20 6f 72 20 27 3b 27 20 65 78 70 65 63 74 65 64 20   ┆'.<field name>' or ';' expected ┆
0x25fe0…26000 20 32 39 20 55 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 65 78 70 65 63 74 65 64 20 20 33   ┆ 29 Unsigned integer expected  3┆
0x26000…26020 30 20 0a 27 62 65 67 69 6e 27 20 65 78 70 65 63 74 65 64 20 20 33 31 20 45 72 72 6f 72 20 69 6e   ┆0  'begin' expected  31 Error in┆
0x26020…26040 20 66 6f 72 2d 76 61 72 69 61 62 6c 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 20 33 32 20   ┆ for-variable specification  32 ┆
0x26040…26060 45 72 72 6f 72 20 69 6e 20 0a 66 6f 72 2d 76 61 72 69 61 62 6c 65 20 73 70 65 63 69 66 69 63 61   ┆Error in  for-variable specifica┆
0x26060…26080 74 69 6f 6e 20 20 33 33 20 27 74 6f 27 20 6f 72 20 27 64 6f 77 6e 74 6f 27 20 65 78 70 65 63 74   ┆tion  33 'to' or 'downto' expect┆
0x26080…260a0 65 64 20 20 33 34 20 45 72 72 6f 72 20 69 6e 20 0a 63 68 61 6e 6e 65 6c 2d 76 61 72 69 61 62 6c   ┆ed  34 Error in  channel-variabl┆
0x260a0…260c0 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 20 33 35 20 27 64 6f 27 20 65 78 70 65 63 74 65   ┆e specification  35 'do' expecte┆
0x260c0…260e0 64 20 20 33 36 20 27 64 6f 27 20 6f 72 20 27 2c 27 20 0a 65 78 70 65 63 74 65 64 20 20 33 37 20   ┆d  36 'do' or ','  expected  37 ┆
0x260e0…26100 27 74 68 65 6e 27 20 65 78 70 65 63 74 65 64 20 20 33 38 20 4c 61 62 65 6c 20 65 78 70 65 63 74   ┆'then' expected  38 Label expect┆
0x26100…26120 65 64 20 28 20 6e 61 6d 65 20 6f 72 20 69 6e 74 65 67 65 72 20 29 20 20 0a 33 39 20 27 65 6c 73   ┆ed ( name or integer )   39 'els┆
0x26120…26140 65 27 20 65 78 70 65 63 74 65 64 20 20 34 30 20 27 3b 27 2c 20 27 65 6e 64 27 2c 20 6f 72 20 27   ┆e' expected  40 ';', 'end', or '┆
0x26140…26160 6f 74 68 65 72 77 69 73 65 27 20 65 78 70 65 63 74 65 64 20 20 34 31 20 27 65 6e 64 27 20 0a 6f   ┆otherwise' expected  41 'end'  o┆
0x26160…26180 72 20 27 3b 27 20 65 78 70 65 63 74 65 64 20 20 34 32 20 27 75 6e 74 69 6c 27 20 65 78 70 65 63   ┆r ';' expected  42 'until' expec┆
0x26180…261a0 74 65 64 20 20 34 33 20 27 65 6e 64 6c 6f 6f 70 27 20 6f 72 20 27 3b 27 20 65 78 70 65 63 74 65   ┆ted  43 'endloop' or ';' expecte┆
0x261a0…261c0 64 20 20 0a 34 34 20 4c 61 62 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 65 78 70 65 63 74 65   ┆d   44 Label declaration expecte┆
0x261c0…261e0 64 20 28 20 69 6e 74 65 67 65 72 20 6f 72 20 6e 61 6d 65 20 29 20 20 34 35 20 45 72 72 6f 72 20   ┆d ( integer or name )  45 Error ┆
0x261e0…26200 69 6e 20 6c 61 62 65 6c 20 0a 64 65 63 6c 61 72 61 74 69 6f 6e 20 6c 69 73 74 20 20 28 20 27 2c   ┆in label  declaration list  ( ',┆
0x26200…26220 27 20 6f 72 20 27 3b 27 20 65 78 70 65 63 74 65 64 20 29 20 20 34 36 20 27 3d 27 20 65 78 70 65   ┆' or ';' expected )  46 '=' expe┆
0x26220…26240 63 74 65 64 20 20 34 37 20 27 3d 27 20 0a 65 78 70 65 63 74 65 64 20 20 34 38 20 27 70 72 6f 63   ┆cted  47 '='  expected  48 'proc┆
0x26240…26260 65 73 73 27 20 6f 72 20 27 70 72 65 66 69 78 27 20 65 78 70 65 63 74 65 64 20 20 34 39 20 4f 6e   ┆ess' or 'prefix' expected  49 On┆
0x26260…26280 6c 79 20 70 72 6f 63 65 64 75 72 65 20 6f 72 20 0a 66 75 6e 63 74 69 6f 6e 20 64 65 63 6c 61 72   ┆ly procedure or  function declar┆
0x26280…262a0 61 74 69 6f 6e 20 61 6c 6c 6f 77 65 64 20 69 6e 20 20 20 20 20 20 61 20 70 72 65 66 69 78 20 20   ┆ation allowed in      a prefix  ┆
0x262a0…262c0 35 30 20 45 6e 64 20 6f 66 20 70 72 6f 63 65 73 73 20 0a 65 78 70 65 63 74 65 64 20 31 30 30 20   ┆50 End of process  expected 100 ┆
0x262c0…262e0 45 72 72 6f 72 20 69 6e 20 72 65 61 6c 20 63 6f 6e 73 74 61 6e 74 3a 20 64 69 67 69 74 20 65 78   ┆Error in real constant: digit ex┆
0x262e0…26300 70 65 63 74 65 64 20 31 30 31 20 53 74 72 69 6e 67 20 64 69 64 20 6e 6f 74 20 0a 74 65 72 6d 69   ┆pected 101 String did not  termi┆
0x26300…26320 6e 61 74 65 20 77 69 74 68 69 6e 20 6c 69 6e 65 20 31 30 32 20 4c 69 6e 65 20 74 6f 6f 20 6c 6f   ┆nate within line 102 Line too lo┆
0x26320…26340 6e 67 2c 20 6d 6f 72 65 20 74 68 61 6e 20 31 35 30 20 63 68 61 72 61 63 74 65 72 73 2e 20 0a 31   ┆ng, more than 150 characters.  1┆
0x26340…26360 30 33 20 43 6f 6d 6d 65 6e 74 20 6e 6f 74 20 74 65 72 6d 69 6e 61 74 65 64 20 31 30 34 20 65 78   ┆03 Comment not terminated 104 ex┆
0x26360…26380 70 6f 72 74 20 6b 69 6e 64 20 65 78 70 65 63 74 65 64 20 28 20 76 61 6c 75 65 2c 20 73 69 7a 65   ┆port kind expected ( value, size┆
0x26380…263a0 2c 20 0a 61 64 64 72 65 73 73 2c 20 64 69 73 70 2c 20 20 20 20 20 20 6f 72 20 6f 66 66 73 65 74   ┆,  address, disp,      or offset┆
0x263a0…263c0 20 29 20 31 30 35 20 6c 6f 63 6b 20 74 79 70 65 20 65 78 70 65 63 74 65 64 20 31 30 36 20 27 3a   ┆ ) 105 lock type expected 106 ':┆
0x263c0…263e0 27 20 6d 65 74 2c 20 0a 63 68 61 6e 67 65 64 20 74 6f 20 27 3d 27 20 31 30 37 20 53 74 72 69 6e   ┆' met,  changed to '=' 107 Strin┆
0x263e0…26400 67 20 74 6f 6f 20 6c 6f 6e 67 2c 20 72 65 6d 61 69 6e 69 6e 67 20 70 61 72 74 20 6f 66 20 73 74   ┆g too long, remaining part of st┆
0x26400…26420 72 69 6e 67 20 73 6b 69 70 70 65 64 20 0a 31 30 38 20 4e 61 6d 65 20 61 66 74 65 72 20 63 6f 6e   ┆ring skipped  108 Name after con┆
0x26420…26440 63 61 74 65 6e 61 74 69 6f 6e 20 73 79 6d 62 6f 6c 20 28 27 26 27 29 20 69 73 20 6e 6f 74 20 6e   ┆catenation symbol ('&') is not n┆
0x26440…26460 61 6d 65 20 20 20 20 20 20 6f 66 20 63 68 61 72 20 0a 63 6f 6e 73 74 61 6e 74 20 31 30 39 20 45   ┆ame      of char  constant 109 E┆
0x26460…26480 78 69 74 6c 6f 6f 70 20 6f 72 20 63 6f 6e 74 69 6e 75 65 6c 6f 6f 70 20 73 74 61 74 65 6d 65 6e   ┆xitloop or continueloop statemen┆
0x26480…264a0 74 20 6e 6f 74 20 69 6e 73 69 64 65 20 20 20 20 20 20 0a 72 65 70 65 74 69 74 69 76 65 20 73 74   ┆t not inside       repetitive st┆
0x264a0…264c0 61 74 65 6d 65 6e 74 20 31 31 30 20 52 6f 75 74 69 6e 65 73 20 69 6e 20 65 6e 76 69 72 6f 6e 6d   ┆atement 110 Routines in environm┆
0x264c0…264e0 65 6e 74 20 6d 75 73 74 20 62 65 20 45 58 54 45 52 4e 41 4c 20 0a 64 65 63 6c 61 72 61 74 69 6f   ┆ent must be EXTERNAL  declaratio┆
0x264e0…26500 6e 73 20 0d 0a 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6d 65 73 73 61 67 65 73 20 69 6e   ┆ns     The following messages in┆
0x26500…26520 64 69 63 61 74 69 6e 67 20 66 61 74 61 6c 20 65 72 72 6f 72 73 20 6d 61 79 20 61 70 70 65 61 72   ┆dicating fatal errors may appear┆
0x26520…26540 20 66 72 6f 6d 20 70 61 73 73 31 20 0a 6f 66 20 74 68 65 20 52 65 61 6c 2d 54 69 6d 65 20 50 61   ┆ from pass1  of the Real-Time Pa┆
0x26540…26560 73 63 61 6c 20 63 6f 6d 70 69 6c 65 72 2e 20 54 68 65 20 6d 65 73 73 61 67 65 20 77 69 6c 6c 20   ┆scal compiler. The message will ┆
0x26560…26580 62 65 20 70 72 65 63 65 64 65 64 20 62 79 20 0a 74 68 65 20 6c 69 6e 65 20 6a 75 73 74 20 62 65   ┆be preceded by  the line just be┆
0x26580…265a0 69 6e 67 20 70 61 72 73 65 64 20 77 69 74 68 20 61 6e 20 69 6e 64 69 63 61 74 69 6f 6e 20 6f 66   ┆ing parsed with an indication of┆
0x265a0…265c0 20 65 72 72 6f 72 20 6e 75 6d 62 65 72 20 30 20 0a 64 69 73 63 6f 76 65 72 65 64 2e 20 0d 0a 0d   ┆ error number 0  discovered.    ┆
0x265c0…265e0 0a 45 2e 67 2e 3a 20 0d 0a 0d 0a 39 31 37 20 20 32 31 20 20 20 69 66 20 70 72 6f 64 20 3d 20 31   ┆ E.g.:     917  21   if prod = 1┆
0x265e0…26600 33 30 35 20 20 20 74 68 65 6e 20 20 20 20 20 20 20 30 20 2a 2a 2a 20 20 63 6f 6e 73 74 20 27 63   ┆305   then       0 ***  const 'c┆
0x26600…26620 68 62 75 66 6d 61 78 27 20 74 6f 6f 20 0a 73 6d 61 6c 6c 2e 20 0d 0a 0d 0a 8c 8a a8 0a 49 6e 20   ┆hbufmax' too  small.     їіе In ┆
0x26620…26640 63 61 73 65 20 6e 6f 20 6f 74 68 65 72 20 65 72 72 6f 72 73 20 61 72 65 20 64 69 73 63 6f 76 65   ┆case no other errors are discove┆
0x26640…26660 72 65 64 20 61 20 66 61 74 61 6c 20 65 72 72 6f 72 20 6d 61 79 20 69 6e 64 69 63 61 74 65 20 74   ┆red a fatal error may indicate t┆
0x26660…26680 68 61 74 20 0a 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 66 20 74 68 65 20 63 6f 6d 70 69 6c 65 72   ┆hat  one or more of the compiler┆
0x26680…266a0 20 74 61 62 6c 65 73 20 61 72 65 20 69 6e 73 75 66 66 69 63 69 65 6e 74 20 69 6e 20 73 69 7a 65   ┆ tables are insufficient in size┆
0x266a0…266c0 2e 20 42 75 74 20 6d 6f 73 74 20 0a 6f 66 74 65 6e 20 74 68 69 73 20 6b 69 6e 64 20 6f 66 20 66   ┆. But most  often this kind of f┆
0x266c0…266e0 61 74 61 6c 20 65 72 72 6f 72 73 20 61 70 70 65 61 72 20 69 6e 20 63 6f 6e 73 65 71 75 65 6e 63   ┆atal errors appear in consequenc┆
0x266e0…26700 65 20 6f 66 20 73 79 6e 74 61 63 74 69 63 61 6c 20 0a 65 72 72 6f 72 73 2c 20 61 6e 64 20 61 66   ┆e of syntactical  errors, and af┆
0x26700…26720 74 65 72 20 63 6f 72 72 65 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 61 72 6b 65 64 20 65 72 72   ┆ter correction of the marked err┆
0x26720…26740 6f 72 73 20 74 68 65 20 66 61 74 61 6c 20 65 72 72 6f 72 20 6d 61 79 20 0a 64 69 73 61 70 70 65   ┆ors the fatal error may  disappe┆
0x26740…26760 61 72 2e 20 0d 0a 0d 0a 54 68 65 20 6d 65 73 73 61 67 65 73 20 61 72 65 3a 20 0d 0a 0d 0a 2a 2a   ┆ar.     The messages are:     **┆
0x26760…26780 2a 20 70 61 72 73 65 20 73 74 61 63 6b 20 6f 76 65 72 66 6c 6f 77 2e 20 63 6f 6e 73 74 20 27 73   ┆* parse stack overflow. const 's┆
0x26780…267a0 74 61 63 6b 6d 61 78 27 20 74 6f 6f 20 73 6d 61 6c 6c 20 20 20 20 20 50 61 72 73 69 6e 67 20 6f   ┆tackmax' too small     Parsing o┆
0x267a0…267c0 66 20 61 20 0a 74 6f 6f 20 63 6f 6d 70 6c 69 63 61 74 65 64 20 73 79 6e 74 61 63 74 69 63 61 6c   ┆f a  too complicated syntactical┆
0x267c0…267e0 20 63 6f 6e 73 74 72 75 63 74 69 6f 6e 2e 20 0d 0a 0d 0a 2a 2a 2a 20 65 6e 64 20 6f 66 20 66 69   ┆ construction.     *** end of fi┆
0x267e0…26800 6c 65 20 65 6e 63 6f 75 6e 74 65 72 65 64 20 20 20 20 20 49 6e 70 75 74 20 65 78 68 61 75 73 74   ┆le encountered     Input exhaust┆
0x26800…26820 65 64 20 62 65 66 6f 72 65 20 74 68 65 20 70 61 72 73 69 6e 67 20 6f 66 20 0a 74 68 65 20 70 72   ┆ed before the parsing of  the pr┆
0x26820…26840 6f 63 65 73 73 2f 20 20 20 20 20 70 72 65 66 69 78 20 68 61 73 20 62 65 65 6e 20 73 75 63 63 65   ┆ocess/     prefix has been succe┆
0x26840…26860 73 73 66 75 6c 2e 20 0d 0a 0d 0a 2a 2a 2a 20 72 65 63 6f 76 65 72 79 20 61 62 61 6e 64 6f 6e 65   ┆ssful.     *** recovery abandone┆
0x26860…26880 64 20 20 20 20 20 54 68 65 20 65 72 72 6f 72 20 72 65 63 6f 76 65 72 79 20 77 61 73 20 75 6e 73   ┆d     The error recovery was uns┆
0x26880…268a0 75 63 63 65 73 73 66 75 6c 2e 20 0d 0a 0d 0a 2a 2a 2a 20 72 65 64 75 63 74 69 6f 6e 20 62 75 66   ┆uccessful.     *** reduction buf┆
0x268a0…268c0 66 65 72 20 6f 76 65 72 66 6c 6f 77 2e 20 63 6f 6e 73 74 20 27 72 65 64 75 6d 61 78 27 20 74 6f   ┆fer overflow. const 'redumax' to┆
0x268c0…268e0 6f 20 73 6d 61 6c 6c 20 20 20 20 20 50 61 72 73 69 6e 67 20 0a 6f 66 20 61 20 74 6f 6f 20 63 6f   ┆o small     Parsing  of a too co┆
0x268e0…26900 6d 70 6c 69 63 61 74 65 64 20 73 79 6e 74 61 63 74 69 63 61 6c 20 63 6f 6e 73 74 72 75 63 74 69   ┆mplicated syntactical constructi┆
0x26900…26920 6f 6e 2e 20 0d 0a 0d 0a 2a 2a 2a 20 63 6f 6e 73 74 20 27 73 74 72 69 6e 67 6d 61 78 27 20 74 6f   ┆on.     *** const 'stringmax' to┆
0x26920…26940 6f 20 73 6d 61 6c 6c 20 20 20 20 20 4c 69 74 65 72 61 6c 20 74 65 78 74 20 73 74 72 69 6e 67 20   ┆o small     Literal text string ┆
0x26940…26960 74 6f 6f 20 6c 6f 6e 67 2e 20 0d 0a 0d 0a 2a 2a 2a 20 63 6f 6e 73 74 20 27 63 68 62 75 66 6d 61   ┆too long.     *** const 'chbufma┆
0x26960…26980 78 27 20 74 6f 6f 20 73 6d 61 6c 6c 20 20 20 20 20 50 61 72 73 69 6e 67 20 6f 66 20 61 20 74 6f   ┆x' too small     Parsing of a to┆
0x26980…269a0 6f 20 63 6f 6d 70 6c 69 63 61 74 65 64 20 0a 73 79 6e 74 61 63 74 69 63 61 6c 20 63 6f 6e 73 74   ┆o complicated  syntactical const┆
0x269a0…269c0 72 75 63 74 69 6f 6e 2e 20 0d 0a 0d 0a 2a 2a 2a 20 63 6f 6e 73 74 20 27 74 79 70 65 62 75 66 66   ┆ruction.     *** const 'typebuff┆
0x269c0…269e0 65 72 73 69 7a 65 27 20 74 6f 6f 20 73 6d 61 6c 6c 20 20 20 20 20 54 6f 6f 20 63 6f 6d 70 6c 69   ┆ersize' too small     Too compli┆
0x269e0…26a00 63 61 74 65 64 20 74 79 70 65 20 0a 64 65 66 69 6e 69 74 69 6f 6e 2e 20 0d 0a 0d 0a 0d 0a 0d 0a   ┆cated type  definition.         ┆
0x26a00…26a20 16 53 42 0d 0a 4d 65 73 73 61 67 65 73 1f 66 72 6f 6d 1f 50 61 73 73 1f 33 20 20 0d 0a 45 72 72   ┆ SB  Messages from Pass 3    Err┆
0x26a20…26a40 6f 72 20 6d 65 73 73 61 67 65 73 20 66 72 6f 6d 20 70 61 73 73 20 33 20 68 61 76 65 20 74 68 65   ┆or messages from pass 3 have the┆
0x26a40…26a60 20 66 6f 72 6d 61 74 3a 20 0d 0a 0d 0a 2a 2a 2a 20 70 61 73 73 20 33 20 6c 69 6e 65 20 3c 6c 69   ┆ format:     *** pass 3 line <li┆
0x26a60…26a80 6e 65 6e 6f 3e 2c 20 3c 6f 70 65 72 61 6e 64 20 6e 6f 3e 20 3c 65 72 72 6f 72 20 6e 6f 3e 20 28   ┆neno>, <operand no> <error no> (┆
0x26a80…26aa0 3c 6e 61 6d 65 3e 29 20 28 2c 20 69 6e 20 0a 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 3c 65 6e 76 20   ┆<name>) (, in  environment <env ┆
0x26aa0…26ac0 6e 72 3e 29 20 0d 0a 0d 0a 77 68 65 72 65 3a 20 0d 0a 0d 0a 3c 6c 69 6e 65 6e 6f 3e 20 69 73 20   ┆nr>)     where:     <lineno> is ┆
0x26ac0…26ae0 74 68 65 20 6c 69 6e 65 20 6e 75 6d 62 65 72 20 77 68 65 72 65 20 74 68 65 20 65 72 72 6f 72 20   ┆the line number where the error ┆
0x26ae0…26b00 69 73 20 64 65 74 65 63 74 65 64 2c 20 0d 0a 0d 0a 3c 6f 70 65 72 61 6e 64 20 6e 6f 3e 20 67 69   ┆is detected,     <operand no> gi┆
0x26b00…26b20 76 65 73 20 61 20 68 69 6e 74 20 6f 66 20 77 68 65 72 65 20 69 6e 20 74 68 65 20 6c 69 6e 65 20   ┆ves a hint of where in the line ┆
0x26b20…26b40 74 68 65 20 65 72 72 6f 72 20 77 61 73 2e 20 0d 0a 0d 0a 4f 70 65 72 61 6e 64 73 20 61 72 65 3a   ┆the error was.     Operands are:┆
0x26b40…26b60 20 69 64 65 6e 74 69 66 69 65 72 73 20 61 6e 64 20 6e 75 6d 62 65 72 73 2e 20 28 4e 6f 74 65 3a   ┆ identifiers and numbers. (Note:┆
0x26b60…26b80 20 54 68 65 20 65 6d 70 74 79 20 73 65 74 20 64 6f 65 73 20 6e 6f 74 20 0a 63 6f 75 6e 74 29 2e   ┆ The empty set does not  count).┆
0x26b80…26ba0 20 0d 0a 0d 0a 46 69 72 73 74 20 6f 70 65 72 61 6e 64 20 69 6e 20 61 20 6c 69 6e 65 20 68 61 73   ┆     First operand in a line has┆
0x26ba0…26bc0 20 6e 75 6d 62 65 72 20 31 2e 20 28 4e 6f 74 65 3a 20 49 66 20 3c 6f 70 65 72 61 6e 64 20 6e 6f   ┆ number 1. (Note: If <operand no┆
0x26bc0…26be0 3e 20 69 73 20 30 2c 20 0a 74 68 65 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 20 62 65 66 6f   ┆> is 0,  the error occurred befo┆
0x26be0…26c00 72 65 20 74 68 65 20 66 69 72 73 74 20 6f 70 65 72 61 6e 64 20 69 6e 20 74 68 65 20 6c 69 6e 65   ┆re the first operand in the line┆
0x26c00…26c20 2c 20 6d 61 79 62 65 20 65 76 65 6e 20 69 6e 20 0a 74 68 65 20 6c 61 73 74 20 70 61 72 74 20 6f   ┆, maybe even in  the last part o┆
0x26c20…26c40 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 6c 69 6e 65 29 2e 20 0d 0a 0d 0a 3c 65 72 72 6f 72   ┆f the previous line).     <error┆
0x26c40…26c60 20 6e 6f 3e 20 69 6e 64 69 63 61 74 65 73 20 77 68 69 63 68 20 65 72 72 6f 72 20 77 61 73 20 64   ┆ no> indicates which error was d┆
0x26c60…26c80 69 73 63 6f 76 65 72 65 64 2e 20 41 20 6c 69 73 74 20 6f 66 20 65 72 72 6f 72 20 0a 64 65 73 63   ┆iscovered. A list of error  desc┆
0x26c80…26ca0 72 69 70 74 69 6f 6e 73 20 66 6f 6c 6c 6f 77 73 20 74 68 65 20 65 72 72 6f 72 20 69 6e 64 69 63   ┆riptions follows the error indic┆
0x26ca0…26cc0 61 74 69 6f 6e 73 2e 20 0d 0a 0d 0a 3c 6e 61 6d 65 3e 20 69 73 2c 20 69 66 20 70 72 65 73 65 6e   ┆ations.     <name> is, if presen┆
0x26cc0…26ce0 74 2c 20 74 68 65 20 6e 61 6d 65 20 28 6f 72 20 74 68 65 20 74 79 70 65 20 6e 61 6d 65 29 20 6f   ┆t, the name (or the type name) o┆
0x26ce0…26d00 66 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 0a 77 68 69 63 68 20 63 61 75 73 65 64 20 74   ┆f the identifier  which caused t┆
0x26d00…26d20 68 65 20 65 72 72 6f 72 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 74 68 65 20 6e 61 6d 65 20 6f   ┆he error. For example the name o┆
0x26d20…26d40 66 20 61 6e 20 75 6e 64 65 63 6c 61 72 65 64 20 0a 69 64 65 6e 74 69 66 69 65 72 2e 20 0d 0a 0d   ┆f an undeclared  identifier.    ┆
0x26d40…26d60 0a 8c 8a a8 0a 54 68 65 20 65 72 72 6f 72 20 64 65 73 63 72 69 70 74 69 6f 6e 73 20 61 72 65 3a   ┆ їіе The error descriptions are:┆
0x26d60…26d80 20 0d 0a 0d 0a 20 20 31 20 20 69 64 65 6e 74 69 66 69 65 72 20 6e 6f 74 20 64 65 63 6c 61 72 65   ┆       1  identifier not declare┆
0x26d80…26da0 64 20 20 20 20 32 20 20 69 64 65 6e 74 69 66 69 65 72 20 75 73 65 64 20 62 65 66 6f 72 65 20 64   ┆d    2  identifier used before d┆
0x26da0…26dc0 65 63 6c 61 72 61 74 69 6f 6e 20 20 20 20 0a 33 20 20 69 64 65 6e 74 69 66 69 65 72 20 61 6c 72   ┆eclaration     3  identifier alr┆
0x26dc0…26de0 65 61 64 79 20 64 65 63 6c 61 72 65 64 20 61 74 20 74 68 69 73 20 6c 65 76 65 6c 20 20 20 20 34   ┆eady declared at this level    4┆
0x26de0…26e00 20 20 6c 61 62 65 6c 2d 69 64 65 6e 74 69 66 69 65 72 20 6e 6f 74 20 0a 64 65 63 6c 61 72 65 64   ┆  label-identifier not  declared┆
0x26e00…26e20 20 61 74 20 61 6c 6c 20 20 20 20 35 20 20 6f 74 68 65 72 20 69 64 65 6e 74 69 66 69 65 72 20 75   ┆ at all    5  other identifier u┆
0x26e20…26e40 73 65 64 20 61 73 20 6c 61 62 65 6c 2d 6e 61 6d 65 20 20 20 20 36 20 20 6c 61 62 65 6c 20 0a 64   ┆sed as label-name    6  label  d┆
0x26e40…26e60 65 66 69 6e 65 64 20 73 65 76 65 72 61 6c 20 74 69 6d 65 73 20 61 74 20 74 68 69 73 20 6c 65 76   ┆efined several times at this lev┆
0x26e60…26e80 65 6c 20 20 20 20 37 20 20 6c 61 62 65 6c 2d 69 64 65 6e 74 69 66 69 65 72 20 64 65 63 6c 61 72   ┆el    7  label-identifier declar┆
0x26e80…26ea0 65 64 20 61 74 20 0a 73 75 72 72 6f 75 6e 64 69 6e 67 20 6c 65 76 65 6c 20 20 20 20 38 20 20 75   ┆ed at  surrounding level    8  u┆
0x26ea0…26ec0 73 65 20 6f 66 20 61 20 6d 75 6c 74 69 70 6c 65 20 64 65 66 69 6e 65 64 20 6c 61 62 65 6c 20 20   ┆se of a multiple defined label  ┆
0x26ec0…26ee0 20 20 39 20 20 61 20 6c 61 62 65 6c 2d 0a 69 64 65 6e 74 20 68 61 73 20 62 65 65 6e 20 75 73 65   ┆  9  a label- ident has been use┆
0x26ee0…26f00 64 20 69 6e 20 69 6e 6e 65 72 20 72 6f 75 74 69 6e 65 20 20 20 31 30 20 20 67 6f 74 6f 20 6c 65   ┆d in inner routine   10  goto le┆
0x26f00…26f20 61 64 69 6e 67 20 69 6e 74 6f 20 63 6f 6e 74 72 6f 6c 2d 0a 73 74 72 75 63 74 75 72 65 20 20 20   ┆ading into control- structure   ┆
0x26f20…26f40 31 31 20 20 67 6f 74 6f 20 6f 75 74 20 6f 66 20 6c 6f 63 6b 2d 20 6f 72 20 63 68 61 6e 6e 65 6c   ┆11  goto out of lock- or channel┆
0x26f40…26f60 20 73 74 61 74 65 6d 65 6e 74 73 20 20 20 31 32 20 20 6c 61 62 65 6c 20 0a 69 73 20 6e 6f 74 20   ┆ statements   12  label  is not ┆
0x26f60…26f80 64 65 66 69 6e 65 64 20 20 20 31 33 20 20 69 64 65 6e 74 69 66 69 65 72 20 69 73 20 6e 6f 74 20   ┆defined   13  identifier is not ┆
0x26f80…26fa0 61 20 74 79 70 65 2d 69 64 65 6e 74 69 66 69 65 72 20 20 20 31 34 20 20 74 79 70 65 20 6f 66 20   ┆a type-identifier   14  type of ┆
0x26fa0…26fc0 0a 73 74 72 75 63 74 75 72 65 64 20 63 6f 6e 73 74 61 6e 74 20 6e 6f 74 20 73 70 65 63 69 66 69   ┆ structured constant not specifi┆
0x26fc0…26fe0 65 64 20 20 20 31 35 20 20 65 72 72 6f 72 20 69 6e 20 72 65 63 6f 72 64 20 6f 72 20 61 72 72 61   ┆ed   15  error in record or arra┆
0x26fe0…27000 79 20 65 74 63 2e 20 20 20 0a 31 36 20 20 63 6f 6e 73 74 61 6e 74 20 69 73 20 75 73 65 64 20 69   ┆y etc.    16  constant is used i┆
0x27000…27020 6e 20 69 74 73 20 6f 77 6e 20 64 65 66 69 6e 69 74 69 6f 6e 2d 65 78 70 72 65 73 73 69 6f 6e 20   ┆n its own definition-expression ┆
0x27020…27040 20 20 31 37 20 20 70 6f 6f 6c 20 2e 2e 2e 20 6f 66 20 0a 3c 69 6c 6c 65 67 61 6c 20 74 79 70 65   ┆  17  pool ... of  <illegal type┆
0x27040…27060 3e 2c 20 73 68 69 65 6c 64 65 64 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 6e 6f 74 20 61 6c 6c 6f 77   ┆>, shielded components not allow┆
0x27060…27080 65 64 20 20 20 31 38 20 20 69 6c 6c 65 67 61 6c 20 73 69 7a 65 27 69 6e 67 20 0a 6f 66 20 70 6f   ┆ed   18  illegal size'ing  of po┆
0x27080…270a0 6f 6c 20 74 79 70 65 20 20 20 31 39 20 20 69 6c 6c 65 67 61 6c 20 6c 69 6d 69 74 2d 74 79 70 65   ┆ol type   19  illegal limit-type┆
0x270a0…270c0 73 20 69 6e 20 73 75 62 72 61 6e 67 65 20 64 65 66 20 20 20 32 30 20 20 0a 73 65 6d 61 70 68 6f   ┆s in subrange def   20   semapho┆
0x270c0…270e0 72 65 2c 20 65 78 74 65 72 6e 61 6c 20 70 72 6f 63 65 73 73 20 61 6e 64 20 70 6f 6f 6c 20 6d 61   ┆re, external process and pool ma┆
0x270e0…27100 79 20 6f 6e 6c 79 20 62 65 20 64 65 63 6c 61 72 65 64 20 61 74 20 20 20 20 20 20 0a 70 72 6f 63   ┆y only be declared at       proc┆
0x27100…27120 65 73 73 20 6c 65 76 65 6c 20 20 32 31 20 20 70 72 6f 63 65 73 73 65 73 20 69 6e 73 69 64 65 20   ┆ess level  21  processes inside ┆
0x27120…27140 66 75 6e 63 74 69 6f 6e 73 2f 70 72 6f 63 65 64 75 72 65 73 20 66 6f 72 62 69 64 64 65 6e 20 20   ┆functions/procedures forbidden  ┆
0x27140…27160 20 0a 32 32 20 20 66 6f 72 6d 61 6c 20 74 79 70 65 20 6d 61 79 20 6e 6f 74 20 62 65 20 75 73 65   ┆  22  formal type may not be use┆
0x27160…27180 64 20 69 6e 20 74 68 69 73 20 63 6f 6e 74 65 78 74 20 20 20 32 33 20 20 66 75 6e 63 74 69 6f 6e   ┆d in this context   23  function┆
0x27180…271a0 74 79 70 65 20 0a 6d 61 79 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 73 68 69 65 6c 64 65 64 20 63   ┆type  may not contain shielded c┆
0x271a0…271c0 6f 6d 70 6f 6e 65 6e 74 73 20 20 20 32 34 20 20 6f 6e 6c 79 20 76 61 72 69 61 62 6c 65 73 20 6f   ┆omponents   24  only variables o┆
0x271c0…271e0 66 20 0a 73 75 72 72 6f 75 6e 64 69 6e 67 20 73 63 6f 70 65 20 61 6c 6c 6f 77 65 64 20 20 20 32   ┆f  surrounding scope allowed   2┆
0x271e0…27200 35 20 20 27 6e 65 77 27 20 70 61 72 61 6d 6c 69 73 74 20 6d 61 79 20 62 65 20 65 6d 70 74 79 20   ┆5  'new' paramlist may be empty ┆
0x27200…27220 6f 72 20 0a 65 78 61 63 74 20 74 68 65 20 73 61 6d 65 20 20 20 32 36 20 20 66 6f 72 77 61 72 64   ┆or  exact the same   26  forward┆
0x27220…27240 2d 64 65 63 6c 61 72 65 64 20 74 79 70 65 2f 72 6f 75 74 69 6e 65 20 6e 6f 74 20 66 6f 6c 6c 6f   ┆-declared type/routine not follo┆
0x27240…27260 77 65 64 20 62 79 20 0a 74 68 65 20 72 65 61 6c 20 62 6f 64 79 20 20 20 32 37 20 20 66 75 6e 63   ┆wed by  the real body   27  func┆
0x27260…27280 74 69 6f 6e 2d 76 61 6c 75 65 20 68 61 73 20 6e 6f 74 20 62 65 65 6e 20 64 65 66 69 6e 65 64 20   ┆tion-value has not been defined ┆
0x27280…272a0 61 74 20 61 6c 6c 20 20 20 32 38 20 20 0a 6c 6f 63 6b 74 79 70 65 20 63 6f 6e 74 61 69 6e 73 20   ┆at all   28   locktype contains ┆
0x272a0…272c0 70 6f 69 6e 74 65 72 2d 74 79 70 65 73 20 20 20 32 39 20 20 6c 6f 63 6b 2d 2f 77 69 74 68 2d 74   ┆pointer-types   29  lock-/with-t┆
0x272c0…272e0 79 70 65 20 63 6f 6e 74 61 69 6e 73 20 0a 73 68 69 65 6c 64 65 64 20 63 6f 6d 70 6f 6e 65 6e 74   ┆ype contains  shielded component┆
0x272e0…27300 28 73 29 20 20 20 33 30 20 20 6f 70 65 72 61 6e 64 73 20 6e 6f 74 20 6f 66 20 73 61 6d 65 20 74   ┆(s)   30  operands not of same t┆
0x27300…27320 79 70 65 6e 61 6d 65 20 20 20 33 31 20 20 0a 66 6f 72 2d 76 61 72 69 61 62 6c 65 2f 73 74 61 72   ┆ypename   31   for-variable/star┆
0x27320…27340 74 76 61 6c 75 65 2f 65 6e 64 76 61 6c 75 65 20 6e 6f 74 20 6f 66 20 63 6f 6d 70 61 74 69 62 6c   ┆tvalue/endvalue not of compatibl┆
0x27340…27360 65 20 74 79 70 65 73 20 20 20 33 32 20 20 63 61 73 65 2d 0a 65 78 70 72 65 73 73 69 6f 6e 2f 63   ┆e types   32  case- expression/c┆
0x27360…27380 61 73 65 6c 61 62 65 6c 73 20 6e 6f 74 20 6f 66 20 63 6f 6d 70 61 74 69 62 6c 65 20 74 79 70 65   ┆aselabels not of compatible type┆
0x27380…273a0 73 20 20 20 33 33 20 20 69 66 2d 65 78 70 72 65 73 73 69 6f 6e 20 6d 75 73 74 20 0a 62 65 20 62   ┆s   33  if-expression must  be b┆
0x273a0…273c0 6f 6f 6c 65 61 6e 20 74 79 70 65 20 20 20 33 34 20 20 75 6e 74 69 6c 2d 65 78 70 72 65 73 73 69   ┆oolean type   34  until-expressi┆
0x273c0…273e0 6f 6e 20 6d 75 73 74 20 62 65 20 62 6f 6f 6c 65 61 6e 20 74 79 70 65 20 20 20 33 35 20 20 0a 77   ┆on must be boolean type   35   w┆
0x273e0…27400 68 69 6c 65 2d 65 78 70 72 65 73 73 69 6f 6e 20 6d 75 73 74 20 62 65 20 62 6f 6f 6c 65 61 6e 20   ┆hile-expression must be boolean ┆
0x27400…27420 74 79 70 65 20 20 20 33 36 20 20 73 68 6f 72 74 20 66 6f 72 6d 20 6f 66 20 6d 75 6c 74 69 70 6c   ┆type   36  short form of multipl┆
0x27420…27440 65 20 0a 6c 6f 63 6b 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 20 20 20 33 37 20 20 62 75 66 66 65   ┆e  locks not allowed   37  buffe┆
0x27440…27460 72 20 6e 61 6d 65 20 6d 69 73 73 69 6e 67 20 69 6e 20 6c 6f 63 6b 20 73 74 61 74 65 6d 65 6e 74   ┆r name missing in lock statement┆
0x27460…27480 20 20 20 33 38 20 20 0a 62 75 66 66 65 72 20 74 79 70 65 20 73 70 65 63 69 66 69 63 61 74 69 6f   ┆   38   buffer type specificatio┆
0x27480…274a0 6e 20 69 73 20 6d 69 73 73 69 6e 67 20 20 20 33 39 20 20 6c 6f 63 6b 2d 76 61 72 69 61 62 6c 65   ┆n is missing   39  lock-variable┆
0x274a0…274c0 20 6d 75 73 74 20 62 65 20 0a 72 65 66 65 72 65 6e 63 65 20 74 79 70 65 20 20 20 34 30 20 20 63   ┆ must be  reference type   40  c┆
0x274c0…274e0 68 61 6e 6e 65 6c 2d 76 61 72 69 61 62 6c 65 20 6d 75 73 74 20 62 65 20 72 65 66 65 72 65 6e 63   ┆hannel-variable must be referenc┆
0x274e0…27500 65 20 74 79 70 65 20 20 20 34 31 20 20 0a 74 79 70 65 20 6f 66 20 6f 70 65 72 61 6e 64 20 6d 75   ┆e type   41   type of operand mu┆
0x27500…27520 73 74 20 62 65 20 65 6e 75 6d 65 72 61 74 69 6f 6e 2d 74 79 70 65 20 20 20 34 32 20 20 76 61 72   ┆st be enumeration-type   42  var┆
0x27520…27540 73 69 7a 65 63 61 6c 6c 3a 20 69 64 65 6e 74 69 66 69 65 72 20 0a 69 73 20 6e 6f 74 20 6e 61 6d   ┆sizecall: identifier  is not nam┆
0x27540…27560 65 20 6f 66 20 61 20 76 61 72 69 61 62 6c 65 20 20 20 34 33 20 20 6f 70 65 72 61 6e 64 20 63 61   ┆e of a variable   43  operand ca┆
0x27560…27580 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 61 73 20 76 61 72 69 61 62 6c 65 20 20 20 0a 34 34 20 20   ┆nnot be used as variable    44  ┆
0x27580…275a0 3c 76 61 72 69 61 62 6c 65 3e 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 3c 2e 3e 20 69 73 20 6e 6f   ┆<variable> in front of <.> is no┆
0x275a0…275c0 74 20 61 20 72 65 63 6f 72 64 20 20 20 34 35 20 20 3c 6e 61 6d 65 3e 20 61 66 74 65 72 20 3c 2e   ┆t a record   45  <name> after <.┆
0x275c0…275e0 3e 20 0a 69 73 20 6e 6f 74 20 61 20 66 69 65 6c 64 6e 61 6d 65 20 6f 66 20 3c 76 61 72 69 61 62   ┆>  is not a fieldname of <variab┆
0x275e0…27600 6c 65 3e 20 20 20 34 36 20 20 3c 76 61 72 69 61 62 6c 65 3e 20 69 6e 20 66 72 6f 6e 74 20 6f 66   ┆le>   46  <variable> in front of┆
0x27600…27620 20 0a 3c 75 70 61 72 72 6f 77 3e 20 69 73 20 6e 6f 74 20 61 20 70 6f 69 6e 74 65 72 20 20 20 34   ┆  <uparrow> is not a pointer   4┆
0x27620…27640 37 20 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 73 65 74 2d 76 61 6c 75 65 20 6d 61 79 20 6e 6f 74   ┆7  elements in set-value may not┆
0x27640…27660 20 62 65 20 6f 66 20 0a 6d 69 78 65 64 20 74 79 70 65 73 20 20 20 34 38 20 20 69 6c 6c 65 67 61   ┆ be of  mixed types   48  illega┆
0x27660…27680 6c 20 6d 69 78 74 75 72 65 20 6f 66 20 74 79 70 65 73 20 69 6e 20 72 65 6c 61 74 69 6f 6e 20 20   ┆l mixture of types in relation  ┆
0x27680…276a0 20 34 39 20 20 69 6c 6c 65 67 61 6c 20 0a 6d 69 78 74 75 72 65 20 6f 66 20 74 79 70 65 73 20 69   ┆ 49  illegal  mixture of types i┆
0x276a0…276c0 6e 20 74 65 72 6d 20 6f 72 20 66 61 63 74 6f 72 20 20 20 35 30 20 20 69 6c 6c 65 67 61 6c 20 74   ┆n term or factor   50  illegal t┆
0x276c0…276e0 79 70 65 20 66 6f 72 20 6d 6f 6e 61 64 69 63 20 0a 6f 70 65 72 61 74 6f 72 20 20 20 35 31 20 20   ┆ype for monadic  operator   51  ┆
0x276e0…27700 72 65 61 6c 20 6f 63 63 75 72 69 6e 67 20 69 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 20 20 35 32   ┆real occuring in expression   52┆
0x27700…27720 20 20 72 65 61 6c 2d 64 69 76 69 73 69 6f 6e 20 6f 66 20 0a 69 6e 74 65 67 65 72 73 20 6e 6f 74   ┆  real-division of  integers not┆
0x27720…27740 20 69 6d 70 6c 20 20 20 35 33 20 20 69 6c 6c 65 67 61 6c 20 6f 70 65 72 61 6e 64 20 6b 69 6e 64   ┆ impl   53  illegal operand kind┆
0x27740…27760 20 69 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 20 20 35 34 20 20 74 6f 6f 20 0a 66 65 77 20 61 63   ┆ in expression   54  too  few ac┆
0x27760…27780 74 75 61 6c 20 70 61 72 61 6d 65 74 65 72 73 20 74 6f 20 72 6f 75 74 69 6e 65 63 61 6c 6c 20 28   ┆tual parameters to routinecall (┆
0x27780…277a0 6f 72 20 73 74 72 75 63 72 65 63 6f 72 64 20 20 20 35 35 20 20 65 72 72 6f 72 20 69 6e 20 0a 72   ┆or strucrecord   55  error in  r┆
0x277a0…277c0 6f 75 74 69 6e 65 63 61 6c 6c 20 20 20 35 36 20 20 65 72 72 6f 72 20 69 6e 20 73 74 72 75 63 74   ┆outinecall   56  error in struct┆
0x277c0…277e0 75 72 65 64 2d 72 65 63 6f 72 64 20 63 6f 6e 73 74 61 6e 74 20 20 20 35 37 20 20 74 79 70 65 6e   ┆ured-record constant   57  typen┆
0x277e0…27800 61 6d 65 20 0a 69 6e 20 66 72 6f 6e 74 20 6f 66 20 73 74 72 75 63 74 75 72 65 64 20 63 6f 6e 73   ┆ame  in front of structured cons┆
0x27800…27820 74 61 6e 74 20 6d 75 73 74 20 62 65 20 72 65 63 6f 72 64 20 20 20 20 20 20 20 6f 72 20 61 72 72   ┆tant must be record       or arr┆
0x27820…27840 61 79 20 20 20 35 38 20 20 0a 74 68 65 20 27 2a 2a 2a 27 20 6f 70 65 72 61 74 6f 72 20 6d 75 73   ┆ay   58   the '***' operator mus┆
0x27840…27860 74 20 6f 6e 6c 79 20 6f 63 63 75 72 20 69 6e 20 73 74 72 75 63 74 75 72 65 64 2d 61 72 72 61 79   ┆t only occur in structured-array┆
0x27860…27880 20 20 20 20 20 20 20 63 6f 6e 73 74 61 6e 74 20 20 20 0a 35 39 20 20 6e 61 6d 65 20 69 6e 20 66   ┆       constant    59  name in f┆
0x27880…278a0 72 6f 6e 74 20 6f 66 20 61 72 67 6c 69 73 74 20 69 73 20 6e 6f 74 20 6f 66 20 61 72 72 61 79 2d   ┆ront of arglist is not of array-┆
0x278a0…278c0 74 79 70 65 20 20 20 36 30 20 20 69 6e 64 65 78 2d 0a 65 78 70 72 65 73 73 69 6f 6e 20 64 6f 65   ┆type   60  index- expression doe┆
0x278c0…278e0 73 6e 27 74 20 6d 61 74 63 68 20 61 72 72 61 79 2d 64 65 63 6c 61 72 61 74 69 6f 6e 20 20 20 36   ┆sn't match array-declaration   6┆
0x278e0…27900 31 20 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 74 79 70 65 73 20 69 6e 20 0a 61 73 73 69 67 6e   ┆1  incompatible types in  assign┆
0x27900…27920 6d 65 6e 74 20 20 20 36 32 20 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 74 79 70 65 73 20 69 6e   ┆ment   62  incompatible types in┆
0x27920…27940 20 65 78 63 68 61 6e 67 65 20 20 20 36 33 20 20 74 68 65 20 73 74 61 74 65 6d 65 6e 74 20 0a 69   ┆ exchange   63  the statement  i┆
0x27940…27960 73 20 6e 6f 74 20 61 20 70 72 6f 63 65 64 75 72 65 2d 63 61 6c 6c 20 20 20 36 34 20 20 66 6f 72   ┆s not a procedure-call   64  for┆
0x27960…27980 2d 76 61 72 69 61 62 6c 65 2c 20 77 69 74 68 2d 76 61 72 69 61 62 6c 65 20 6f 72 20 61 63 74 75   ┆-variable, with-variable or actu┆
0x27980…279a0 61 6c 20 0a 76 61 72 2d 70 61 72 61 6d 20 69 73 20 70 61 63 6b 65 64 20 20 20 36 35 20 20 6f 70   ┆al  var-param is packed   65  op┆
0x279a0…279c0 65 72 61 6e 64 20 6d 61 79 20 6e 6f 74 20 62 65 20 61 73 73 69 67 6e 65 64 20 74 6f 2c 20 74 79   ┆erand may not be assigned to, ty┆
0x279c0…279e0 70 65 20 69 73 20 0a 73 68 69 65 6c 64 65 64 20 6f 72 20 66 72 6f 7a 65 6e 20 20 20 36 36 20 20   ┆pe is  shielded or frozen   66  ┆
0x279e0…27a00 6f 70 65 72 61 6e 64 20 6d 61 79 20 6e 6f 74 20 62 65 20 65 78 63 68 61 6e 67 65 64 2c 20 74 79   ┆operand may not be exchanged, ty┆
0x27a00…27a20 70 65 20 69 73 20 0a 73 65 6d 61 70 68 6f 72 65 2c 20 65 78 74 65 72 6e 61 6c 20 20 20 20 20 20   ┆pe is  semaphore, external      ┆
0x27a20…27a40 70 72 6f 63 65 73 73 2c 20 70 6f 6f 6c 20 6f 72 20 66 72 6f 7a 65 6e 20 20 20 36 37 20 20 74 79   ┆process, pool or frozen   67  ty┆
0x27a40…27a60 70 65 20 6d 75 73 74 20 62 65 3a 20 0a 72 65 66 65 72 65 6e 63 65 20 6f 72 20 73 68 61 64 6f 77   ┆pe must be:  reference or shadow┆
0x27a60…27a80 20 20 20 36 38 20 20 66 6f 72 6d 61 6c 20 61 6e 64 20 61 63 74 75 61 6c 20 74 79 70 65 20 6d 75   ┆   68  formal and actual type mu┆
0x27a80…27aa0 73 74 20 6d 61 74 63 68 20 65 78 61 63 74 6c 79 20 20 20 0a 36 39 20 20 61 63 74 75 61 6c 20 61   ┆st match exactly    69  actual a┆
0x27aa0…27ac0 6e 64 20 66 6f 72 6d 61 6c 20 74 79 70 65 73 20 61 72 65 20 6e 6f 74 20 63 6f 6d 70 61 74 69 62   ┆nd formal types are not compatib┆
0x27ac0…27ae0 6c 65 20 20 20 37 30 20 20 66 6f 72 6d 61 6c 20 69 73 20 6e 6f 74 20 0a 66 72 6f 7a 65 6e 2c 20   ┆le   70  formal is not  frozen, ┆
0x27ae0…27b00 74 68 65 72 65 66 6f 72 65 20 61 63 74 75 61 6c 20 6d 61 79 20 6e 6f 74 20 62 65 20 66 72 6f 7a   ┆therefore actual may not be froz┆
0x27b00…27b20 65 6e 20 20 20 37 31 20 20 74 68 65 20 27 3f 27 20 6d 61 79 20 6f 6e 6c 79 20 0a 6f 63 63 75 72   ┆en   71  the '?' may only  occur┆
0x27b20…27b40 20 69 6e 20 73 74 72 75 63 74 75 72 65 64 20 63 6f 6e 73 74 61 6e 74 73 20 20 20 37 32 20 20 69   ┆ in structured constants   72  i┆
0x27b40…27b60 6e 63 6f 6d 70 2e 20 74 79 70 65 73 20 69 6e 20 73 74 72 75 63 74 75 72 65 64 20 61 72 72 61 79   ┆ncomp. types in structured array┆
0x27b60…27b80 2d 0a 8c 8a 90 0a 63 6f 6e 73 74 61 6e 74 20 20 20 37 33 20 20 69 6e 63 6f 6d 70 2e 20 74 79 70   ┆- їіљ constant   73  incomp. typ┆
0x27b80…27ba0 65 73 20 69 6e 20 73 74 72 75 63 74 75 72 65 64 20 72 65 63 6f 72 64 2d 63 6f 6e 73 74 61 6e 74   ┆es in structured record-constant┆
0x27ba0…27bc0 20 20 20 37 34 20 20 0a 69 6e 63 6f 6d 70 2e 20 74 79 70 65 73 20 69 6e 20 76 61 72 2d 69 6e 69   ┆   74   incomp. types in var-ini┆
0x27bc0…27be0 74 69 61 6c 69 7a 61 74 69 6f 6e 20 20 20 37 35 20 20 72 65 70 65 74 69 74 69 6f 6e 20 6d 75 73   ┆tialization   75  repetition mus┆
0x27be0…27c00 74 20 62 65 20 69 6e 74 65 67 65 72 20 20 20 0a 37 36 20 20 76 61 6c 75 65 2d 65 78 70 6f 72 74   ┆t be integer    76  value-export┆
0x27c00…27c20 20 64 65 6d 61 6e 64 73 20 63 6f 6e 73 74 61 6e 74 20 20 20 37 37 20 20 6f 66 66 73 65 74 2d 65   ┆ demands constant   77  offset-e┆
0x27c20…27c40 78 70 6f 72 74 20 64 65 6d 61 6e 64 73 20 0a 76 61 72 69 61 62 6c 65 20 20 20 37 38 20 20 73 69   ┆xport demands  variable   78  si┆
0x27c40…27c60 7a 65 2d 2c 64 69 73 70 2d 2c 61 64 64 72 2d 65 78 70 6f 72 74 20 64 65 6d 61 6e 64 73 20 63 6f   ┆ze-,disp-,addr-export demands co┆
0x27c60…27c80 6e 73 74 61 6e 74 20 6f 72 20 76 61 72 69 61 62 6c 65 20 20 20 0a 37 39 20 20 64 69 73 70 2d 65   ┆nstant or variable    79  disp-e┆
0x27c80…27ca0 78 70 6f 72 74 20 64 65 6d 61 6e 64 73 20 27 66 69 65 6c 64 69 6e 67 27 20 20 20 38 30 20 20 78   ┆xport demands 'fielding'   80  x┆
0x27ca0…27cc0 6f 72 2c 20 69 6e 74 65 67 65 72 2d 61 6e 64 2c 20 61 6e 64 20 0a 69 6e 74 65 67 65 72 2d 6f 72   ┆or, integer-and, and  integer-or┆
0x27cc0…27ce0 20 6e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 6f 6e 20 7a 38 30 20 20 20 38 31 20 20 61 20   ┆ not implemented on z80   81  a ┆
0x27ce0…27d00 70 72 6f 63 65 73 73 20 6d 61 79 20 6e 6f 74 20 62 65 20 0a 46 4f 52 57 41 52 44 20 64 65 63 6c   ┆process may not be  FORWARD decl┆
0x27d00…27d20 61 72 65 64 20 20 20 38 32 20 20 46 4f 52 57 41 52 44 20 73 70 65 63 69 66 69 65 64 20 74 79 70   ┆ared   82  FORWARD specified typ┆
0x27d20…27d40 65 20 6d 75 73 74 20 62 65 20 70 6f 69 6e 74 65 72 20 20 0d 0a 0d 0a a1 46 61 74 61 6c 1f 65 72   ┆e must be pointer      АFatal er┆
0x27d40…27d60 72 6f 72 73 1f 66 72 6f 6d 1f 70 61 73 73 1f 33 20 0d 0a 0d 0a e1 54 68 65 20 66 6f 6c 6c 6f 77   ┆rors from pass 3     рThe follow┆
0x27d60…27d80 69 6e 67 20 6d 65 73 73 61 67 65 73 20 69 6e 64 69 63 61 74 69 6e 67 20 66 61 74 61 6c 20 65 72   ┆ing messages indicating fatal er┆
0x27d80…27da0 72 6f 72 73 20 6d 61 79 20 61 70 70 65 61 72 20 66 72 6f 6d 20 70 61 73 73 20 33 20 0a 6f 66 20   ┆rors may appear from pass 3  of ┆
0x27da0…27dc0 74 68 65 20 52 65 61 6c 2d 54 69 6d 65 20 50 61 73 63 61 6c 20 63 6f 6d 70 69 6c 65 72 2e 20 54   ┆the Real-Time Pascal compiler. T┆
0x27dc0…27de0 68 65 20 6d 65 73 73 61 67 65 73 20 77 69 6c 6c 20 62 65 20 70 72 65 63 65 64 65 64 20 62 79 3a   ┆he messages will be preceded by:┆
0x27de0…27e00 20 0d 0a 0d 0a 2a 2a 2a 20 65 72 72 6f 72 20 66 6f 75 6e 64 20 69 6e 20 70 61 73 73 33 2c 20 61   ┆     *** error found in pass3, a┆
0x27e00…27e20 74 20 73 6f 75 72 63 65 6c 69 6e 65 3a 20 3c 6c 69 6e 65 20 6e 6f 3e 20 54 68 65 20 6d 65 73 73   ┆t sourceline: <line no> The mess┆
0x27e20…27e40 61 67 65 73 20 61 72 65 3a 20 0d 0a 0d 0a 0d 0a 0d 0a 6d 61 78 5f 6e 65 73 74 65 64 5f 63 61 6c   ┆ages are:         max_nested_cal┆
0x27e40…27e60 6c 73 20 65 78 63 65 65 64 65 64 20 3c 6c 69 6d 69 74 3e 20 4d 6f 72 65 20 74 68 61 6e 20 3c 6c   ┆ls exceeded <limit> More than <l┆
0x27e60…27e80 69 6d 69 74 3e 20 6e 65 73 74 65 64 20 72 6f 75 74 69 6e 65 20 0a 63 61 6c 6c 73 20 61 6e 64 2f   ┆imit> nested routine  calls and/┆
0x27e80…27ea0 6f 72 20 69 6e 64 65 78 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 73 2e 20 0d 0a 0d 0a 0d 0a 0d   ┆or index specifications.        ┆
0x27ea0…27ec0 0a 16 53 42 0d 0a 4d 65 73 73 61 67 65 73 1f 66 72 6f 6d 1f 50 61 73 73 1f 34 20 20 0d 0a 0d 0a   ┆  SB  Messages from Pass 4      ┆
0x27ec0…27ee0 0d 0a 41 6c 6c 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 73 20 66 72 6f 6d 20 70 61 73 73 20 34   ┆  All error messages from pass 4┆
0x27ee0…27f00 20 68 61 76 65 20 74 68 65 20 66 6f 72 6d 61 74 3a 20 0d 0a 0d 0a 2a 2a 2a 20 70 61 73 73 20 34   ┆ have the format:     *** pass 4┆
0x27f00…27f20 20 6c 69 6e 65 20 3c 6e 6f 3e 2c 20 3c 74 65 78 74 3e 20 0d 0a 0d 0a 77 68 65 72 65 20 3c 6e 6f   ┆ line <no>, <text>     where <no┆
0x27f20…27f40 3e 20 69 73 20 74 68 65 20 6c 69 6e 65 20 6e 75 6d 62 65 72 20 77 68 65 72 65 20 74 68 65 20 65   ┆> is the line number where the e┆
0x27f40…27f60 72 72 6f 72 20 69 73 20 64 65 74 65 63 74 65 64 2e 20 0d 0a 0d 0a 3c 74 65 78 74 3e 20 69 73 20   ┆rror is detected.     <text> is ┆
0x27f60…27f80 6f 6e 65 20 61 6d 6f 6e 67 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 20 0d 0a 0d 0a 73 75 62   ┆one among the following:     sub┆
0x27f80…27fa0 72 61 6e 67 65 20 64 65 66 2e 1f 1f 1f 1f 1f 1f 1f 45 72 72 6f 72 20 69 6e 20 74 68 65 20 64 65   ┆range def.       Error in the de┆
0x27fa0…27fc0 66 69 6e 69 74 69 6f 6e 20 6f 66 20 73 75 62 72 61 6e 67 65 20 74 79 70 65 20 2d 20 6c 6f 77 65   ┆finition of subrange type - lowe┆
0x27fc0…27fe0 72 20 0a 62 6f 75 6e 64 20 3e 20 75 70 70 65 72 20 62 6f 75 6e 64 2e 20 0d 0a 0d 0a 73 65 74 20   ┆r  bound > upper bound.     set ┆
0x27fe0…28000 64 65 66 2e 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 45 72 72 6f 72 20 69 6e 20 74 68 65 20 64 65 66   ┆def.            Error in the def┆
0x28000…28020 69 6e 69 74 69 6f 6e 20 6f 66 20 73 65 74 20 74 79 70 65 20 2d 20 6c 6f 77 65 72 20 62 6f 75 6e   ┆inition of set type - lower boun┆
0x28020…28040 64 20 0a 6f 66 20 74 68 65 20 62 61 73 69 73 20 73 75 62 72 61 6e 67 65 20 74 79 70 65 20 69 73   ┆d  of the basis subrange type is┆
0x28040…28060 20 6e 65 67 61 74 69 76 65 2e 20 0d 0a 0d 0a 70 6f 6f 6c 20 64 65 66 2e 1f 1f 1f 1f 1f 1f 1f 1f   ┆ negative.     pool def.        ┆
0x28060…28080 1f 1f 1f 45 72 72 6f 72 20 69 6e 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 70 6f   ┆   Error in the definition of po┆
0x28080…280a0 6f 6c 20 74 79 70 65 20 2d 20 6e 75 6d 62 65 72 20 6f 66 20 0a 65 6c 65 6d 65 6e 74 73 20 69 73   ┆ol type - number of  elements is┆
0x280a0…280c0 20 6e 65 67 61 74 69 76 65 2e 20 0d 0a 0d 0a 72 65 63 6f 72 64 20 73 69 7a 65 1f 1f 1f 1f 1f 1f   ┆ negative.     record size      ┆
0x280c0…280e0 1f 1f 1f 52 65 63 6f 72 64 20 74 79 70 65 20 3e 20 36 35 35 33 36 20 62 79 74 65 73 2e 20 0d 0a   ┆   Record type > 65536 bytes.   ┆
0x280e0…28100 0d 0a 61 72 72 61 79 20 73 69 7a 65 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 41 72 72 61 79 20 74 79 70 65   ┆  array size          Array type┆
0x28100…28120 20 3e 20 36 35 35 33 36 20 62 79 74 65 73 2e 20 0d 0a 0d 0a 6e 6f 20 69 6e 69 74 2e 20 6f 72 20   ┆ > 65536 bytes.     no init. or ┆
0x28120…28140 70 72 6f 63 65 73 73 20 69 6e 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 1f 1f 1f 1f 1f 1f 49 6e 69 74   ┆process in environment      Init┆
0x28140…28160 69 61 6c 69 7a 61 74 69 6f 6e 20 6f 66 20 76 61 72 69 61 62 6c 65 73 20 61 6e 64 20 0a 70 72 6f   ┆ialization of variables and  pro┆
0x28160…28180 63 65 73 73 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 69 6e 20 65 6e 76 69 72 6f 6e 6d 65 6e 74   ┆cess declarations in environment┆
0x28180…281a0 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 20 0d 0a 0d 0a 63 6f 6e 73 74 61 6e 74 20 76 61 6c 75 65   ┆ not allowed.     constant value┆
0x281a0…281c0 1f 1f 1f 1f 1f 1f 56 61 6c 75 65 20 6f 66 20 63 6f 6e 73 74 61 6e 74 20 6f 75 74 73 69 64 65 20   ┆      Value of constant outside ┆
0x281c0…281e0 69 6e 74 65 72 76 61 6c 20 62 6f 75 6e 64 73 2e 20 0d 0a 0d 0a 63 61 73 65 20 6c 61 62 65 6c 20   ┆interval bounds.     case label ┆
0x281e0…28200 72 61 6e 67 65 1f 1f 1f 1f 49 6e 20 61 20 63 61 73 65 20 6c 61 62 65 6c 20 69 6e 74 65 72 76 61   ┆range    In a case label interva┆
0x28200…28220 6c 20 66 69 72 73 74 20 3e 20 6c 61 73 74 2e 20 0d 0a 0d 0a 63 6f 6e 73 74 61 6e 74 1f 1f 1f 1f   ┆l first > last.     constant    ┆
0x28220…28240 1f 1f 1f 1f 1f 1f 1f 1f 53 79 6e 74 61 78 20 65 72 72 6f 72 20 69 6e 20 6e 75 6d 62 65 72 2e 20   ┆        Syntax error in number. ┆
0x28240…28260 0d 0a 0d 0a 8c 8a a8 0a 73 65 74 20 63 6f 6e 73 74 61 6e 74 1f 1f 1f 1f 1f 1f 1f 1f 45 72 72 6f   ┆    їіе set constant        Erro┆
0x28260…28280 72 20 69 6e 20 73 65 74 20 63 6f 6e 73 74 61 6e 74 2c 20 2d 20 6e 65 67 61 74 69 76 65 20 63 6f   ┆r in set constant, - negative co┆
0x28280…282a0 6e 73 74 61 6e 74 2c 20 6f 72 20 61 6e 20 0a 69 6e 74 65 72 76 61 6c 20 77 69 74 68 20 66 69 72   ┆nstant, or an  interval with fir┆
0x282a0…282c0 73 74 20 76 61 6c 75 65 20 3c 20 6c 61 73 74 20 76 61 6c 75 65 2c 20 6f 72 20 63 6f 6e 73 74 61   ┆st value < last value, or consta┆
0x282c0…282e0 6e 74 20 3e 20 31 30 32 33 2e 20 0d 0a 0d 0a 74 69 6d 65 73 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f   ┆nt > 1023.     times            ┆
0x282e0…28300 1f 1f 1f 57 72 6f 6e 67 20 6e 75 6d 62 65 72 20 6f 66 20 76 61 6c 75 65 73 20 69 6e 20 63 6f 6e   ┆   Wrong number of values in con┆
0x28300…28320 73 74 61 6e 74 20 6f 66 20 61 72 72 61 79 20 0a 74 79 70 65 2e 20 0d 0a 0d 0a 6e 6f 74 20 63 6f   ┆stant of array  type.     not co┆
0x28320…28340 6e 73 74 61 6e 74 1f 1f 1f 1f 1f 1f 1f 1f 56 61 72 69 61 62 6c 65 2c 20 6f 72 20 73 65 74 20 63   ┆nstant        Variable, or set c┆
0x28340…28360 6f 6e 73 74 61 6e 74 20 75 73 65 64 20 69 6e 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 0a 6f 75 74   ┆onstant used in expression,  out┆
0x28360…28380 73 69 64 65 20 74 68 65 20 73 74 61 74 65 6d 65 6e 74 20 70 61 72 74 20 6f 66 20 61 20 70 72 6f   ┆side the statement part of a pro┆
0x28380…283a0 63 65 64 75 72 65 20 6f 72 20 70 72 6f 63 65 73 73 2e 20 0d 0a 0d 0a 73 74 61 63 6b 1f 1f 1f 1f   ┆cedure or process.     stack    ┆
0x283a0…283c0 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 56 61 72 69 61 62 6c 65 28 73 29 20 69 6e 20 61 20 62 6c 6f 63   ┆           Variable(s) in a bloc┆
0x283c0…283e0 6b 20 6f 63 63 75 70 69 65 73 20 6d 6f 72 65 20 74 68 61 6e 20 36 35 35 33 36 20 0a 62 79 74 65   ┆k occupies more than 65536  byte┆
0x283e0…28400 73 2e 20 0d 0a 0d 0a 6f 76 65 72 66 6c 6f 77 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 56 61 6c 75 65   ┆s.     overflow            Value┆
0x28400…28420 20 6f 66 20 63 6f 6e 73 74 61 6e 74 20 6f 72 20 63 6f 6e 73 74 61 6e 74 20 65 78 70 72 65 73 73   ┆ of constant or constant express┆
0x28420…28440 69 6f 6e 20 6f 75 74 73 69 64 65 20 0a 74 68 65 20 69 6e 74 65 72 76 61 6c 20 2d 33 32 37 36 38   ┆ion outside  the interval -32768┆
0x28440…28460 2e 2e 33 32 37 36 37 2e 20 0d 0a 0d 0a 64 79 6e 61 6d 69 63 20 76 61 72 69 61 62 6c 65 20 6e 6f   ┆..32767.     dynamic variable no┆
0x28460…28480 74 20 61 6c 6c 6f 77 65 64 1f 1f 1f 1f 1f 1f 1f 1f 1f 49 6c 6c 65 67 61 6c 20 75 73 65 20 6f 66   ┆t allowed         Illegal use of┆
0x28480…284a0 20 64 79 6e 61 6d 69 63 20 73 74 72 69 6e 67 20 0a 76 61 72 69 61 62 6c 65 2e 20 0d 0a 0d 0a 69   ┆ dynamic string  variable.     i┆
0x284a0…284c0 6e 69 74 69 61 6c 69 7a 65 20 64 79 6e 61 6d 69 63 20 74 79 70 65 20 6e 6f 74 20 61 6c 6c 6f 77   ┆nitialize dynamic type not allow┆
0x284c0…284e0 65 64 1f 1f 1f 1f 56 61 72 69 61 62 6c 65 73 20 6f 66 20 64 79 6e 61 6d 69 63 20 74 79 70 65 73   ┆ed    Variables of dynamic types┆
0x284e0…28500 20 0a 63 61 6e 6e 6f 74 20 62 65 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 69 6e 20 74 68 65 20 64   ┆  cannot be initialized in the d┆
0x28500…28520 65 63 6c 61 72 61 74 69 6f 6e 20 70 61 72 74 2e 20 0d 0a 0d 0a 64 79 6e 61 6d 69 63 20 74 79 70   ┆eclaration part.     dynamic typ┆
0x28520…28540 65 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 1f 1f 1f 1f 1f 1f 1f 1f 1f 44 79 6e 61 6d 69 63 20 74 79   ┆e not allowed         Dynamic ty┆
0x28540…28560 70 65 73 20 61 72 65 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 20 66 6f 72 3a 20 0a 73 65 74 2c 20 70   ┆pes are not allowed for:  set, p┆
0x28560…28580 6f 6f 6c 2c 20 70 72 6f 63 65 73 73 20 70 61 72 61 6d 65 74 65 72 2c 20 56 41 4c 55 45 20 72 6f   ┆ool, process parameter, VALUE ro┆
0x28580…285a0 75 74 69 6e 65 20 70 61 72 61 6d 65 74 65 72 2c 20 66 75 6e 63 74 69 6f 6e 20 0a 72 65 73 75 6c   ┆utine parameter, function  resul┆
0x285a0…285c0 74 2c 20 61 6e 64 20 73 74 72 75 63 74 75 72 65 64 20 63 6f 6e 73 74 61 6e 74 2e 20 0d 0a 0d 0a   ┆t, and structured constant.     ┆
0x285c0…285e0 61 63 63 65 73 73 20 74 6f 20 7a 65 72 6f 20 73 69 7a 65 64 20 6f 62 6a 65 63 74 1f 1f 1f 1f 1f   ┆access to zero sized object     ┆
0x285e0…28600 1f 1f 1f 57 49 54 48 2d 41 53 3a 20 73 69 7a 65 20 6f 66 20 6e 65 77 20 74 79 70 65 20 0a 65 78   ┆   WITH-AS: size of new type  ex┆
0x28600…28620 63 65 65 64 73 20 74 68 61 74 20 6f 66 20 6f 6c 64 20 0d 0a 0d 0a 63 6f 6d 70 69 6c 65 72 20 65   ┆ceeds that of old     compiler e┆
0x28620…28640 72 72 6f 72 20 3c 74 65 78 74 3e 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 1f 45 72 72 6f 72 20 69   ┆rror <text>              Error i┆
0x28640…28660 6e 20 70 61 73 73 20 34 2e 20 53 68 6f 75 6c 64 20 62 65 20 0a 72 65 70 6f 72 74 65 64 20 74 6f   ┆n pass 4. Should be  reported to┆
0x28660…28680 20 74 68 65 20 6d 61 69 6e 74 65 6e 61 6e 63 65 20 73 74 61 66 66 2e 20 3c 74 65 78 74 3e 20 6d   ┆ the maintenance staff. <text> m┆
0x28680…286a0 61 79 20 62 65 20 6f 6e 65 20 6f 66 20 74 68 65 20 0a 66 6f 6c 6c 6f 77 69 6e 67 3a 20 61 64 64   ┆ay be one of the  following: add┆
0x286a0…286c0 72 65 73 73 69 6e 67 20 62 69 74 20 63 6f 75 6e 74 20 66 6f 72 20 65 72 72 6f 72 20 73 63 61 6c   ┆ressing bit count for error scal┆
0x286c0…286e0 61 72 20 65 72 72 6f 72 20 77 72 6f 6e 67 20 69 6e 70 75 74 20 0a 65 72 72 6f 72 20 63 6f 64 65   ┆ar error wrong input  error code┆
0x286e0…28700 20 3d 20 3c 6e 6f 3e 20 0d 0a 0d 0a 0d 0a 0d 0a 43 6f 6d 70 69 6c 61 74 69 6f 6e 20 74 65 72 6d   ┆ = <no>         Compilation term┆
0x28700…28720 69 6e 61 74 65 64 20 62 79 20 3c 65 72 72 6f 72 3e 20 0d 0a 0d 0a 77 68 65 72 65 20 3c 65 72 72   ┆inated by <error>     where <err┆
0x28720…28740 6f 72 3e 20 69 73 3a 20 0d 0a 0d 0a 73 74 61 63 6b 20 65 72 72 6f 72 3a 1f 1f 1f 1f 1f 1f 1f 1f   ┆or> is:     stack error:        ┆
0x28740…28760 69 6e 74 65 72 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20 69 6e 63 6f 6e 73 69 73 74 65 6e 63 79 3b   ┆internal compiler inconsistency;┆
0x28760…28780 20 73 68 6f 75 6c 64 20 62 65 20 0a 72 65 70 6f 72 74 65 64 2e 20 0d 0a 0d 0a 77 72 6f 6e 67 20   ┆ should be  reported.     wrong ┆
0x28780…287a0 70 61 73 73 20 34 3a 1f 1f 1f 1f 1f 1f 1f 77 72 6f 6e 67 20 76 65 72 73 69 6f 6e 20 6f 66 20 70   ┆pass 4:       wrong version of p┆
0x287a0…287c0 61 73 73 20 34 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 16 53 42 0d 0a 4d 65 73 73 61 67 65 73   ┆ass 4.              SB  Messages┆
0x287c0…287e0 1f 66 72 6f 6d 1f 50 61 73 73 1f 35 20 20 0d 0a 45 72 72 6f 72 73 20 64 65 74 65 63 74 65 64 20   ┆ from Pass 5    Errors detected ┆
0x287e0…28800 62 79 20 70 61 73 73 20 35 20 61 72 65 20 69 6e 64 69 63 61 74 65 64 20 62 79 20 74 68 65 20 74   ┆by pass 5 are indicated by the t┆
0x28800…28820 65 78 74 3a 20 0d 0a 0d 0a 2a 2a 2a 20 70 61 73 73 20 35 20 6c 69 6e 65 20 3c 6c 69 6e 65 20 6e   ┆ext:     *** pass 5 line <line n┆
0x28820…28840 6f 3e 2c 20 3c 74 65 78 74 3e 20 0d 0a 0d 0a 77 68 65 72 65 20 3c 74 65 78 74 3e 20 69 73 20 6f   ┆o>, <text>     where <text> is o┆
0x28840…28860 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 20 0d 0a 0d 0a 8c 8a a8 0a 6e 6f 20   ┆ne of the following:     їіе no ┆
0x28860…28880 6c 61 62 65 6c 73 20 69 6e 20 63 61 73 65 20 73 74 61 74 65 6d 65 6e 74 20 41 6e 20 65 6d 70 74   ┆labels in case statement An empt┆
0x28880…288a0 79 20 63 61 73 65 20 73 74 61 74 65 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e   ┆y case statement is not allowed.┆
0x288a0…288c0 20 0d 0a 0d 0a 2b 64 65 63 6c 20 63 61 73 65 6c 61 62 65 6c 20 43 61 73 65 20 6c 61 62 65 6c 73   ┆     +decl caselabel Case labels┆
0x288c0…288e0 20 61 72 65 20 6e 6f 74 20 75 6e 61 6d 62 69 67 75 6f 75 73 2e 20 0d 0a 0d 0a 74 6f 6f 20 6d 61   ┆ are not unambiguous.     too ma┆
0x288e0…28900 6e 79 20 66 6f 72 6d 61 6c 20 70 61 72 61 6d 65 74 65 72 73 20 54 6f 6f 20 6d 61 6e 79 20 66 6f   ┆ny formal parameters Too many fo┆
0x28900…28920 72 6d 61 6c 20 70 61 72 61 6d 65 74 65 72 73 20 6f 66 20 70 72 6f 63 65 73 73 20 0a 6f 72 20 72   ┆rmal parameters of process  or r┆
0x28920…28940 6f 75 74 69 6e 65 2e 20 0d 0a 0d 0a 72 74 70 33 35 30 32 32 6c 69 62 20 64 6f 65 73 20 6e 6f 74   ┆outine.     rtp35022lib does not┆
0x28940…28960 20 65 78 69 73 74 20 54 68 65 20 6c 69 62 72 61 72 79 20 6f 66 20 73 74 61 6e 64 61 72 64 20 72   ┆ exist The library of standard r┆
0x28960…28980 6f 75 74 69 6e 65 73 20 69 73 20 6e 6f 74 20 0a 66 6f 75 6e 64 2c 20 74 68 69 73 20 65 72 72 6f   ┆outines is not  found, this erro┆
0x28980…289a0 72 20 6d 61 79 20 61 6c 73 6f 20 62 65 20 69 6e 64 69 63 61 74 65 64 20 62 79 20 74 68 65 20 50   ┆r may also be indicated by the P┆
0x289a0…289c0 61 73 63 61 6c 20 73 79 73 74 65 6d 20 6d 65 73 73 61 67 65 3a 20 0a 22 66 69 6c 65 20 64 6f 65   ┆ascal system message:  "file doe┆
0x289c0…289e0 73 20 6e 6f 74 20 65 78 69 73 74 3a 20 72 74 70 33 35 30 32 32 6c 69 62 22 2c 20 66 6f 6c 6c 6f   ┆s not exist: rtp35022lib", follo┆
0x289e0…28a00 77 65 64 20 62 79 20 61 20 74 72 61 63 65 2e 20 0d 0a 0d 0a 75 73 65 72 20 69 73 20 6e 6f 74 20   ┆wed by a trace.     user is not ┆
0x28a00…28a20 61 6c 6c 6f 77 65 64 20 74 6f 20 63 61 6c 6c 20 73 79 73 74 65 6d 2d 72 6f 75 74 69 6e 65 73 20   ┆allowed to call system-routines ┆
0x28a20…28a40 53 6f 6d 65 20 73 79 73 74 65 6d 2d 72 6f 75 74 69 6e 65 73 20 61 72 65 20 0a 70 72 6f 74 65 63   ┆Some system-routines are  protec┆
0x28a40…28a60 74 65 64 20 61 67 61 69 6e 73 74 20 75 73 65 72 20 63 61 6c 6c 2e 20 0d 0a 0d 0a 57 41 52 4e 49   ┆ted against user call.     WARNI┆
0x28a60…28a80 4e 47 2c 20 43 61 6c 6c 20 6f 66 20 50 52 4f 43 45 44 55 52 45 20 6d 6f 76 65 67 2e 20 2a 2a 2a   ┆NG, Call of PROCEDURE moveg. ***┆
0x28a80…28aa0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 20 20 59 6f 75 20 0a 61 72 65 20 62 72 65   ┆******************  You  are bre┆
0x28aa0…28ac0 61 6b 69 6e 67 20 74 68 65 20 52 54 50 20 73 65 63 75 72 69 74 79 2e 20 2a 2a 2a 2a 2a 2a 2a 2a   ┆aking the RTP security. ********┆
0x28ac0…28ae0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 20 20 54 72 79 20 74 6f 20 66 69 6e 64 20 0a 61 6e 6f 74   ┆*************  Try to find  anot┆
0x28ae0…28b00 68 65 72 20 73 6f 6c 75 74 69 6f 6e 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆her solution *******************┆
0x28b00…28b20 2a 2a 20 20 69 6e 73 69 64 65 20 74 68 65 20 52 54 50 20 6c 61 6e 67 75 61 67 65 20 21 21 20 0a   ┆**  inside the RTP language !!  ┆
0x28b20…28b40 46 61 74 61 6c 20 65 72 72 6f 72 73 20 61 72 65 20 69 6e 64 69 63 61 74 65 64 20 62 79 3a 20 0d   ┆Fatal errors are indicated by:  ┆
0x28b40…28b60 0a 0d 0a 2a 2a 2a 20 70 61 73 73 20 35 20 6c 69 6e 65 20 3c 6c 69 6e 65 20 6e 6f 3e 2c 20 63 6f   ┆   *** pass 5 line <line no>, co┆
0x28b60…28b80 6d 70 69 6c 61 74 69 6f 6e 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 3c 74 65 78 74 3e 20 0d   ┆mpilation terminated by <text>  ┆
0x28b80…28ba0 0a 0d 0a 77 68 65 72 65 20 3c 74 65 78 74 3e 20 69 73 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f   ┆   where <text> is one of the fo┆
0x28ba0…28bc0 6c 6c 6f 77 69 6e 67 3a 20 0d 0a 0d 0a 65 78 74 65 72 6e 61 6c 20 72 6f 75 74 69 6e 65 20 74 61   ┆llowing:     external routine ta┆
0x28bc0…28be0 62 6c 65 20 6f 76 65 72 66 6c 6f 77 20 55 73 65 20 6f 66 20 74 6f 6f 20 6d 61 6e 79 20 65 78 74   ┆ble overflow Use of too many ext┆
0x28be0…28c00 65 72 6e 61 6c 20 64 65 63 6c 61 72 65 64 20 0a 72 6f 75 74 69 6e 65 73 2e 20 0d 0a 0d 0a 74 6f   ┆ernal declared  routines.     to┆
0x28c00…28c20 6f 20 6d 61 6e 79 20 66 6f 72 6d 61 6c 20 70 61 72 61 6d 65 74 65 72 73 20 54 6f 6f 20 6d 61 6e   ┆o many formal parameters Too man┆
0x28c20…28c40 79 20 66 6f 72 6d 61 6c 20 70 61 72 61 6d 65 74 65 72 73 20 6f 66 20 70 72 6f 63 65 73 73 20 0a   ┆y formal parameters of process  ┆
0x28c40…28c60 6f 72 20 72 6f 75 74 69 6e 65 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 6f 70 65 72 61 6e 64 20 73 74 61 63   ┆or routine.         operand stac┆
0x28c60…28c80 6b 20 6f 76 65 72 66 6c 6f 77 20 0d 0a 0d 0a 70 61 73 73 20 34 20 63 6f 64 65 20 65 72 72 6f 72   ┆k overflow     pass 4 code error┆
0x28c80…28ca0 20 49 6e 74 65 72 6e 61 6c 20 69 6e 63 6f 6e 73 69 73 74 65 6e 63 79 2c 20 73 68 6f 75 6c 64 20   ┆ Internal inconsistency, should ┆
0x28ca0…28cc0 62 65 20 72 65 70 6f 72 74 65 64 2e 20 0d 0a 0d 0a 69 6e 63 6f 6e 73 69 73 74 65 6e 63 79 20 69   ┆be reported.     inconsistency i┆
0x28cc0…28ce0 6e 20 70 61 73 73 20 35 20 53 68 6f 75 6c 64 20 62 65 20 72 65 70 6f 72 74 65 64 2e 20 0d 0a 0d   ┆n pass 5 Should be reported.    ┆
0x28ce0…28d00 0a 77 72 6f 6e 67 20 70 61 73 73 20 34 2f 70 61 73 73 20 35 20 63 6f 6d 62 69 6e 61 74 69 6f 6e   ┆ wrong pass 4/pass 5 combination┆
0x28d00…28d20 20 0d 0a 0d 0a 68 61 72 64 77 61 72 65 20 73 74 61 63 6b 20 6f 76 65 72 66 6c 6f 77 2c 20 73 68   ┆     hardware stack overflow, sh┆
0x28d20…28d40 6f 75 6c 64 20 62 65 20 72 65 70 6f 72 74 65 64 2e 20 0d 0a 0d 0a 54 68 65 20 66 61 74 61 6c 20   ┆ould be reported.     The fatal ┆
0x28d40…28d60 65 72 72 6f 72 20 6d 65 73 73 61 67 65 73 20 61 72 65 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 73   ┆error messages are followed by s┆
0x28d60…28d80 6f 6d 65 20 69 6e 74 65 72 6e 61 6c 20 70 61 73 73 20 35 20 73 74 61 74 75 73 20 0a 69 6e 66 6f   ┆ome internal pass 5 status  info┆
0x28d80…28da0 72 6d 61 74 69 6f 6e 3a 20 0d 0a 0d 0a 20 20 20 20 20 74 6f 6b 65 6e 20 20 20 20 20 20 3d 20 3c   ┆rmation:          token      = <┆
0x28da0…28dc0 63 75 72 72 65 6e 74 20 63 6f 64 65 3e 20 20 20 20 20 20 6e 6f 20 6f 66 20 69 74 65 6d 73 3d 20   ┆current code>      no of items= ┆
0x28dc0…28de0 3c 6e 6f 20 6f 66 20 72 65 61 64 20 0a 69 74 65 6d 73 3e 20 20 20 20 20 20 73 74 61 63 6b 20 20   ┆<no of read  items>      stack  ┆
0x28de0…28e00 20 20 20 20 3d 20 73 74 61 63 6b 20 73 69 7a 65 20 20 20 20 20 20 68 77 20 73 74 61 63 6b 20 73   ┆    = stack size      hw stack s┆
0x28e00…28e20 69 7a 65 3d 3c 73 69 7a 65 20 6f 66 20 77 6f 72 6b 20 0a 61 72 65 61 3e 20 0d 0a 0d 0a 54 68 69   ┆ize=<size of work  area>     Thi┆
0x28e20…28e40 73 20 73 74 61 74 75 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 66 6f 6c 6c 6f 77 65 64   ┆s status information is followed┆
0x28e40…28e60 20 62 79 20 74 68 65 20 70 61 73 63 61 6c 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 3a 20 0a 42   ┆ by the pascal error message:  B┆
0x28e60…28e80 72 65 61 6b 2c 20 61 6e 64 20 61 20 74 72 61 63 65 2e 20 0d 0a 0d 0a 49 6e 74 65 72 6e 61 6c 20   ┆reak, and a trace.     Internal ┆
0x28e80…28ea0 65 72 72 6f 72 73 20 69 6e 20 70 61 73 73 35 20 64 75 72 69 6e 67 20 63 6f 64 65 20 67 65 6e 65   ┆errors in pass5 during code gene┆
0x28ea0…28ec0 72 61 74 69 6f 6e 20 28 73 68 6f 75 6c 64 20 62 65 20 72 65 70 6f 72 74 65 64 29 3a 20 0d 0a 0d   ┆ration (should be reported):    ┆
0x28ec0…28ee0 0a 65 72 72 6f 72 20 69 6e 20 68 77 20 73 74 61 63 6b 20 65 76 61 6c 75 61 74 69 6f 6e 2e 20 0d   ┆ error in hw stack evaluation.  ┆
0x28ee0…28f00 0a 0d 0a 8c 8a a8 0a 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 6c 69 6e 65 20 77 69 74 68 20 6f   ┆   їіе followed by a line with o┆
0x28f00…28f20 6e 65 20 6f 66 20 74 68 65 20 6d 65 73 73 61 67 65 73 2e 20 0d 0a 20 20 20 2d 20 84 6f 63 63 75   ┆ne of the messages.      - ёoccu┆
0x28f20…28f40 72 72 65 64 20 69 6e 20 67 65 6e 65 72 61 74 69 6e 67 20 63 6f 64 65 20 66 6f 72 20 73 69 6d 70   ┆rred in generating code for simp┆
0x28f40…28f60 6c 65 20 6f 70 65 6e 20 66 75 6e 63 74 69 6f 6e 2e 20 0d 0a 19 85 80 80 20 20 20 2d 20 84 6f 63   ┆le open function.    Ёђђ   - ёoc┆
0x28f60…28f80 63 75 72 72 65 64 20 77 68 65 6e 20 67 65 6e 65 72 61 74 69 6e 67 20 63 6f 64 65 20 66 6f 72 20   ┆curred when generating code for ┆
0x28f80…28fa0 61 72 72 61 79 77 20 77 69 74 68 20 0a 19 8a 80 80 73 79 73 74 65 6d 63 6f 6d 70 6f 6e 65 6e 74   ┆arrayw with   іђђsystemcomponent┆
0x28fa0…28fc0 73 20 0d 0a 20 20 20 2d 20 84 6f 63 63 75 72 72 65 64 20 77 68 65 6e 20 67 65 6e 65 72 61 74 69   ┆s      - ёoccurred when generati┆
0x28fc0…28fe0 6e 67 20 63 6f 64 65 20 66 6f 72 20 72 65 66 20 72 65 6d 6f 76 61 6c 20 0d 0a 20 20 20 2d 20 84   ┆ng code for ref removal      - ё┆
0x28fe0…29000 6f 63 63 75 72 72 65 64 20 77 68 65 6e 20 67 65 6e 65 72 61 74 69 6e 67 20 63 6f 64 65 20 66 6f   ┆occurred when generating code fo┆
0x29000…29020 72 20 73 68 61 64 6f 77 20 72 65 6d 6f 76 61 6c 20 0d 0a 0d 0a 66 6f 6c 6c 6f 77 65 64 20 62 79   ┆r shadow removal     followed by┆
0x29020…29040 20 74 68 65 20 6c 69 6e 65 3a 20 20 68 77 5f 73 74 61 63 6b 5f 73 69 7a 65 20 69 73 3a 20 3c 73   ┆ the line:  hw_stack_size is: <s┆
0x29040…29060 69 7a 65 3e 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 16 53 42 0d 0a 4d 65 73 73 61 67   ┆ize>                  SB  Messag┆
0x29060…29080 65 73 1f 66 72 6f 6d 1f 50 61 73 73 1f 36 20 20 0d 0a 63 6f 6e 73 74 61 6e 74 20 3c 6e 61 6d 65   ┆es from Pass 6    constant <name┆
0x29080…290a0 3e 20 74 6f 6f 20 73 6d 61 6c 6c 2e 20 53 6f 75 72 63 65 20 6c 69 6e 65 20 6e 75 6d 62 65 72 20   ┆> too small. Source line number ┆
0x290a0…290c0 3d 20 3c 6c 69 6e 65 20 6e 6f 3e 2e 20 0d 0a 0d 0a 49 66 20 3c 6e 61 6d 65 3e 20 69 73 20 22 62   ┆= <line no>.     If <name> is "b┆
0x290c0…290e0 75 66 66 65 72 73 69 7a 65 22 20 74 68 65 20 70 72 6f 67 72 61 6d 20 63 6f 6e 74 61 69 6e 73 20   ┆uffersize" the program contains ┆
0x290e0…29100 61 20 73 74 72 75 63 74 75 72 65 20 6f 63 63 75 70 79 69 6e 67 20 0a 6d 6f 72 65 20 74 68 61 6e   ┆a structure occupying  more than┆
0x29100…29120 20 36 34 6b 20 62 79 74 65 73 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 49 66 20 3c 6e 61 6d 65 3e 20 69 73   ┆ 64k bytes.         If <name> is┆
0x29120…29140 20 22 64 65 73 63 72 31 5f 73 69 7a 65 22 20 74 68 65 72 65 20 61 72 65 20 74 6f 6f 20 6d 61 6e   ┆ "descr1_size" there are too man┆
0x29140…29160 79 20 66 6f 72 6d 61 6c 20 70 61 72 61 6d 65 74 65 72 73 20 69 6e 20 0a 74 68 65 20 70 72 6f 63   ┆y formal parameters in  the proc┆
0x29160…29180 65 73 73 20 6f 72 20 72 6f 75 74 69 6e 65 2e 20 54 68 65 20 69 6e 64 69 63 61 74 65 64 20 73 6f   ┆ess or routine. The indicated so┆
0x29180…291a0 75 72 63 65 20 6c 69 6e 65 20 69 73 20 74 68 65 20 6c 61 73 74 20 6c 69 6e 65 20 6f 66 20 0a 74   ┆urce line is the last line of  t┆
0x291a0…291c0 68 65 20 70 72 6f 67 72 61 6d 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 43 6f 6d 70 69 6c 65 72   ┆he program.          - ёCompiler┆
0x291c0…291e0 20 65 72 72 6f 72 20 64 65 74 65 63 74 65 64 2e 20 0d 0a 0d 0a 50 6c 65 61 73 65 20 69 6e 66 6f   ┆ error detected.     Please info┆
0x291e0…29200 72 6d 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 67 72 6f 75 70 2e 20 0d 0a 0d 0a 4d 65 61 6e 69   ┆rm the compiler group.     Meani┆
0x29200…29220 6e 67 3a 20 69 6e 74 65 72 6e 61 6c 20 63 6f 6d 70 69 6c 65 72 20 69 6e 63 6f 6e 73 69 73 74 65   ┆ng: internal compiler inconsiste┆
0x29220…29240 6e 63 79 2e 20 0d 0a 0d 0a 0d 0a 20 20 20 2d 20 84 45 72 72 6f 72 20 69 6e 20 63 6f 6d 70 69 6c   ┆ncy.          - ёError in compil┆
0x29240…29260 61 74 69 6f 6e 2e 20 0d 0a 0d 0a 55 73 65 20 6f 70 74 69 6f 6e 20 63 6f 64 65 73 69 7a 65 2c 20   ┆ation.     Use option codesize, ┆
0x29260…29280 77 69 74 68 20 61 74 20 6c 65 61 73 74 20 3c 6e 75 6d 62 65 72 3e 20 61 73 20 70 61 67 65 20 73   ┆with at least <number> as page s┆
0x29280…292a0 69 7a 65 2e 20 0d 0a 0d 0a 4d 65 61 6e 69 6e 67 3a 20 74 68 65 20 70 72 6f 67 72 61 6d 20 63 6f   ┆ize.     Meaning: the program co┆
0x292a0…292c0 6e 74 61 69 6e 73 20 61 20 73 74 72 75 63 74 75 72 65 20 77 68 69 63 68 20 6e 65 65 64 73 20 3c   ┆ntains a structure which needs <┆
0x292c0…292e0 6e 75 6d 62 65 72 3e 20 0a 63 6f 6e 73 65 63 75 74 69 76 65 20 62 79 74 65 73 20 6f 6e 20 74 68   ┆number>  consecutive bytes on th┆
0x292e0…29300 65 20 73 61 6d 65 20 63 6f 64 65 20 70 61 67 65 2e 20 0d 0a 16 53 61 0d 0a 52 45 41 4c 2d 54 49   ┆e same code page.    Sa  REAL-TI┆
0x29300…29320 4d 45 20 50 41 53 43 41 4c 20 53 4f 55 52 43 45 20 50 52 4f 47 52 41 4d 20 55 54 49 4c 49 54 49   ┆ME PASCAL SOURCE PROGRAM UTILITI┆
0x29320…29340 45 53 20 20 20 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 16 53 42 0d 0a 49 6e 64 65 6e 74 0d 0a a1 54 65   ┆ES               SB  Indent  АTe┆
0x29340…29360 78 74 1f 66 6f 72 6d 61 74 74 69 6e 67 1f 70 72 6f 67 72 61 6d 20 0d 0a 0d 0a e1 54 68 65 20 70   ┆xt formatting program     рThe p┆
0x29360…29380 72 6f 67 72 61 6d 20 70 65 72 66 6f 72 6d 73 20 69 6e 64 65 6e 74 69 6f 6e 20 6f 66 20 73 6f 75   ┆rogram performs indention of sou┆
0x29380…293a0 72 63 65 20 70 72 6f 67 72 61 6d 73 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 0a 6f   ┆rce programs depending on the  o┆
0x293a0…293c0 70 74 69 6f 6e 73 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 74 68 65 20 63 61 6c 6c 20 61 6e 64   ┆ptions specified in the call and┆
0x293c0…293e0 20 6f 6e 20 74 68 65 20 6b 65 79 77 6f 72 64 73 20 28 72 65 73 65 72 76 65 64 20 77 6f 72 64 73   ┆ on the keywords (reserved words┆
0x293e0…29400 29 20 6f 66 20 0a 50 61 73 63 61 6c 2f 52 65 61 6c 2d 54 69 6d 65 20 50 61 73 63 61 6c 2e 20 0d   ┆) of  Pascal/Real-Time Pascal.  ┆
0x29400…29420 0a 0d 0a a1 43 61 6c 6c 3a 20 0d 0a 0d 0a 0d 0a 0d 0a 8c 8a d8 0a e1 20 3c 6f 75 74 70 75 74 66   ┆   АCall:         їіп р <outputf┆
0x29420…29440 69 6c 65 3e 3d 20 20 20 69 6e 64 65 6e 74 20 3c 69 6e 70 75 74 20 66 69 6c 65 3e 20 3c 6f 70 74   ┆ile>=   indent <input file> <opt┆
0x29440…29460 69 6f 6e 3e 20 0d 0a 0d 0a 0d 0a 0d 0a 3c 6f 70 74 69 6f 6e 3e 3a 3a 3d 20 6c 69 6e 65 73 1f 1f   ┆ion>         <option>::= lines  ┆
0x29460…29480 1f 6c 69 6e 65 20 6e 75 6d 62 65 72 73 20 61 72 65 20 61 64 64 65 64 20 0d 0a 0d 0a 6d 61 72 6b   ┆ line numbers are added     mark┆
0x29480…294a0 1f 1f 1f 1f 74 68 65 20 62 6c 6f 63 6b 73 74 72 75 63 74 75 72 65 20 69 73 20 6d 61 64 65 20 63   ┆    the blockstructure is made c┆
0x294a0…294c0 6c 65 61 72 20 62 79 20 6d 65 61 6e 73 20 6f 66 20 21 20 62 65 74 77 65 65 6e 20 0a 6d 61 74 63   ┆lear by means of ! between  matc┆
0x294c0…294e0 68 69 6e 67 20 62 65 67 69 6e 2d 65 6e 64 27 73 20 0d 0a 0d 0a 6c 69 73 74 1f 1f 1f 1f 74 68 65   ┆hing begin-end's     list    the┆
0x294e0…29500 20 73 61 6d 65 20 61 73 3a 20 6c 69 6e 65 73 20 6d 61 72 6b 20 0d 0a 0d 0a 6e 6f 69 6e 64 1f 1f   ┆ same as: lines mark     noind  ┆
0x29500…29520 1f 74 68 65 20 6f 75 74 70 75 74 20 77 69 6c 6c 20 62 65 20 6c 65 66 74 20 6a 75 73 74 69 66 69   ┆ the output will be left justifi┆
0x29520…29540 65 64 20 0d 0a 0d 0a 6d 79 69 6e 64 1f 1f 1f 74 68 65 20 6f 75 74 70 75 74 20 69 6e 64 65 6e 74   ┆ed     myind   the output indent┆
0x29540…29560 69 6f 6e 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 74 68 65 20 69 6e 70 75 74 20 69 6e 64   ┆ion is the same as the input ind┆
0x29560…29580 65 6e 74 69 6f 6e 20 0d 0a 0d 0a 6c 63 1f 1f 1f 1f 1f 1f 6c 69 73 74 73 20 6b 65 79 77 6f 72 64   ┆ention     lc      lists keyword┆
0x29580…295a0 73 20 69 6e 20 63 61 70 69 74 61 6c 20 6c 65 74 74 65 72 73 20 61 6e 64 20 69 64 65 6e 74 69 66   ┆s in capital letters and identif┆
0x295a0…295c0 69 65 72 73 20 69 6e 20 73 6d 61 6c 6c 20 0a 28 6c 6f 77 65 72 20 63 61 73 65 29 20 6c 65 74 74   ┆iers in small  (lower case) lett┆
0x295c0…295e0 65 72 73 20 0d 0a 0d 0a 75 63 1f 1f 1f 1f 1f 1f 62 6f 74 68 20 6b 65 79 20 77 6f 72 64 73 20 61   ┆ers     uc      both key words a┆
0x295e0…29600 6e 64 20 69 64 65 6e 74 69 66 69 65 72 73 20 61 72 65 20 6c 69 73 74 65 64 20 69 6e 20 75 70 70   ┆nd identifiers are listed in upp┆
0x29600…29620 65 72 20 63 61 73 65 20 0a 6c 65 74 74 65 72 73 20 0d 0a 0d 0a 68 65 6c 70 1f 1f 1f 1f 70 72 6f   ┆er case  letters     help    pro┆
0x29620…29640 64 75 63 65 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 65 67 61 6c 20 6f 70 74 69 6f 6e 73 20 0d 0a   ┆duces a list of legal options   ┆
0x29640…29660 0d 0a a1 53 74 6f 72 61 67 65 1f 72 65 71 75 69 72 65 6d 65 6e 74 73 3a 20 0d 0a 0d 0a e1 54 68   ┆  АStorage requirements:     рTh┆
0x29660…29680 65 20 63 6f 72 65 20 73 74 6f 72 65 20 72 65 71 75 69 72 65 64 20 66 6f 72 20 69 6e 64 65 6e 74   ┆e core store required for indent┆
0x29680…296a0 20 69 73 20 31 36 30 30 30 20 68 57 20 28 73 69 7a 65 20 31 36 30 30 30 29 2e 20 0d 0a 0d 0a a1   ┆ is 16000 hW (size 16000).     А┆
0x296a0…296c0 45 72 72 6f 72 1f 6d 65 73 73 61 67 65 73 3a 20 0d 0a 0d 0a e1 49 66 20 65 72 72 6f 72 73 20 61   ┆Error messages:     рIf errors a┆
0x296c0…296e0 72 65 20 64 65 74 65 63 74 65 64 2c 20 74 68 65 20 6f 6b 2d 62 69 74 20 69 73 20 69 6e 69 74 69   ┆re detected, the ok-bit is initi┆
0x296e0…29700 61 6c 69 7a 65 64 20 74 6f 20 6f 6b 2e 6e 6f 2e 20 3f 3f 3f 1f 1f 1f 69 6c 6c 65 67 61 6c 20 0a   ┆alized to ok.no. ???   illegal  ┆
0x29700…29720 69 6e 70 75 74 2f 66 69 6c 65 6e 61 6d 65 20 49 6e 70 75 74 20 66 69 6c 65 20 6d 75 73 74 20 62   ┆input/filename Input file must b┆
0x29720…29740 65 20 73 70 65 63 69 66 69 65 64 2e 20 0d 0a 0d 0a 63 61 6c 6c 3a 1f 22 69 6e 64 65 6e 74 20 68   ┆e specified.     call: "indent h┆
0x29740…29760 65 6c 70 22 2c 20 66 6f 72 20 68 65 6c 70 20 41 6e 20 65 72 72 6f 72 20 69 73 20 64 65 74 65 63   ┆elp", for help An error is detec┆
0x29760…29780 74 65 64 20 69 6e 20 74 68 65 20 70 72 6f 67 72 61 6d 20 63 61 6c 6c 2c 20 0a 61 20 6e 65 77 20   ┆ted in the program call,  a new ┆
0x29780…297a0 63 61 6c 6c 20 22 69 6e 64 65 6e 74 20 68 65 6c 70 22 20 77 69 6c 6c 20 70 72 6f 64 75 63 65 20   ┆call "indent help" will produce ┆
0x297a0…297c0 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 76 61 6c 69 64 20 6f 70 74 69 6f 6e 73 2e 20 0d 0a 0d   ┆a list of the valid options.    ┆
0x297c0…297e0 0a 2a 2a 1f 1f 1f 1f 77 61 72 6e 69 6e 67 2c 20 65 6e 64 28 73 29 20 6d 69 73 73 69 6e 67 20 41   ┆ **    warning, end(s) missing A┆
0x297e0…29800 6e 20 65 72 72 6f 72 20 69 6e 20 74 68 65 20 62 65 67 69 6e 2d 65 6e 64 20 73 74 72 75 63 74 75   ┆n error in the begin-end structu┆
0x29800…29820 72 65 20 68 61 73 20 0a 62 65 65 6e 20 64 65 74 65 63 74 65 64 2e 20 0d 0a 0d 0a 2a 2a 1f 1f 1f   ┆re has  been detected.     **   ┆
0x29820…29840 1f 70 72 65 6d 61 74 75 72 65 20 65 6e 64 20 6f 66 20 66 69 6c 65 2e 20 43 6f 6d 6d 65 6e 74 20   ┆ premature end of file. Comment ┆
0x29840…29860 6f 72 20 73 74 72 69 6e 67 20 6e 6f 74 20 74 65 72 6d 69 6e 61 74 65 64 2e 20 0d 0a 0d 0a 0d 0a   ┆or string not terminated.       ┆
0x29860…29880 0d 0a 0d 0a 0d 0a 16 53 42 0d 0a 43 72 6f 73 73 20 52 65 66 65 72 65 6e 63 65 20 50 72 6f 67 72   ┆       SB  Cross Reference Progr┆
0x29880…298a0 61 6d 20 20 0d 0a 50 72 6f 64 75 63 65 73 20 61 20 63 72 6f 73 73 20 72 65 66 65 72 65 6e 63 65   ┆am    Produces a cross reference┆
0x298a0…298c0 20 6c 69 73 74 69 6e 67 20 6f 66 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 73 20 61 6e 64 20   ┆ listing of the identifiers and ┆
0x298c0…298e0 6e 75 6d 62 65 72 73 20 61 6e 64 20 0a 61 20 75 73 65 20 63 6f 75 6e 74 20 6f 66 20 74 68 65 20   ┆numbers and  a use count of the ┆
0x298e0…29900 50 41 53 43 41 4c 2f 52 65 61 6c 20 54 69 6d 65 20 50 61 73 63 61 6c 20 6b 65 79 77 6f 72 64 73   ┆PASCAL/Real Time Pascal keywords┆
0x29900…29920 20 75 73 65 64 20 69 6e 20 74 68 65 20 0a 69 6e 70 75 74 20 74 65 78 74 2e 20 0d 0a 0d 0a 54 68   ┆ used in the  input text.     Th┆
0x29920…29940 65 20 63 72 6f 73 73 20 72 65 66 65 72 65 6e 63 65 20 6c 69 73 74 20 69 73 20 6d 61 64 65 20 77   ┆e cross reference list is made w┆
0x29940…29960 69 74 68 20 6e 6f 20 72 65 67 61 72 64 20 74 6f 20 74 68 65 20 62 6c 6f 63 6b 20 0a 73 74 72 75   ┆ith no regard to the block  stru┆
0x29960…29980 63 74 75 72 65 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 2e 20 54 68 65 20 6c 69 73 74 20 69   ┆cture of the program. The list i┆
0x29980…299a0 73 20 73 6f 72 74 65 64 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 49 53 4f 2d 0a 61   ┆s sorted according to the ISO- a┆
0x299a0…299c0 6c 70 68 61 62 65 74 2c 20 69 2e 65 2e 20 6e 75 6d 62 65 72 73 20 62 65 66 6f 72 65 20 6c 65 74   ┆lphabet, i.e. numbers before let┆
0x299c0…299e0 74 65 72 73 2c 20 62 75 74 20 77 69 74 68 20 6e 6f 20 64 69 66 66 65 72 65 6e 63 65 20 62 65 74   ┆ters, but with no difference bet┆
0x299e0…29a00 77 65 65 6e 20 0a 75 70 70 65 72 20 61 6e 64 20 6c 6f 77 65 72 20 63 61 73 65 20 6c 65 74 74 65   ┆ween  upper and lower case lette┆
0x29a00…29a20 72 73 2e 20 0d 0a 0d 0a 8c 8a 90 0a 54 68 65 20 6f 63 63 75 72 72 65 6e 63 65 20 6c 69 73 74 20   ┆rs.     їіљ The occurrence list ┆
0x29a20…29a40 66 6f 72 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 61 20   ┆for an identifier consists of a ┆
0x29a40…29a60 73 65 71 75 65 6e 63 65 20 6f 66 20 0a 50 61 73 63 61 6c 2f 52 65 61 6c 2d 54 69 6d 65 20 50 61   ┆sequence of  Pascal/Real-Time Pa┆
0x29a60…29a80 73 63 61 6c 20 6c 69 6e 65 20 6e 75 6d 62 65 72 73 2e 20 54 68 65 20 6f 63 63 75 72 72 65 6e 63   ┆scal line numbers. The occurrenc┆
0x29a80…29aa0 65 20 6b 69 6e 64 20 69 73 20 0a 73 70 65 63 69 66 69 65 64 20 62 79 20 6d 65 61 6e 73 20 6f 66   ┆e kind is  specified by means of┆
0x29aa0…29ac0 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 6c 69 6e   ┆ the character following the lin┆
0x29ac0…29ae0 65 20 6e 75 6d 62 65 72 3a 20 0d 0a 0d 0a 2a 1f 1f 1f 1f 1f 6d 65 61 6e 69 6e 67 20 74 68 65 20   ┆e number:     *     meaning the ┆
0x29ae0…29b00 69 64 65 6e 74 69 66 69 65 72 20 6f 72 20 6e 75 6d 62 65 72 20 69 73 20 66 6f 75 6e 64 20 69 6e   ┆identifier or number is found in┆
0x29b00…29b20 20 61 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 70 61 72 74 2e 20 0d 0a 0d 0a 3d 1f 1f 1f 1f 1f 6d   ┆ a declaration part.     =     m┆
0x29b20…29b40 65 61 6e 69 6e 67 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 69 73 20 61 73 73 69 67 6e 65   ┆eaning the identifier is assigne┆
0x29b40…29b60 64 20 74 6f 20 69 6e 20 74 68 65 20 6c 69 6e 65 20 73 70 65 63 69 66 69 65 64 2e 20 0d 0a 0d 0a   ┆d to in the line specified.     ┆
0x29b60…29b80 3a 1f 1f 1f 1f 1f 6d 65 61 6e 69 6e 67 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 6f 72 20   ┆:     meaning the identifier or ┆
0x29b80…29ba0 6e 75 6d 62 65 72 20 6f 63 63 75 72 72 65 64 20 61 73 20 61 20 6c 61 62 65 6c 2e 20 0d 0a 0d 0a   ┆number occurred as a label.     ┆
0x29ba0…29bc0 62 6c 61 6e 6b 20 61 6c 6c 20 6f 74 68 65 72 20 75 73 65 73 2e 20 0d 0a 0d 0a 3c 3c 3c 3c 3c 3c   ┆blank all other uses.     <<<<<<┆
0x29bc0…29be0 3c 3c 3c 3c 3c 3c 3c 3c 20 69 6e 20 74 68 65 20 6c 69 73 74 20 69 73 20 61 20 77 61 72 6e 69 6e   ┆<<<<<<<< in the list is a warnin┆
0x29be0…29c00 67 20 64 65 6e 6f 74 69 6e 67 20 74 68 61 74 20 74 68 65 20 6e 61 6d 65 20 0a 63 6f 6e 73 69 73   ┆g denoting that the name  consis┆
0x29c00…29c20 74 73 20 6f 66 20 6d 6f 72 65 20 74 68 61 6e 20 31 32 20 63 68 61 72 61 63 74 65 72 73 2c 20 77   ┆ts of more than 12 characters, w┆
0x29c20…29c40 68 69 63 68 20 69 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 0a 73 69 67 6e 69 66 69 63 61   ┆hich is the number of  significa┆
0x29c40…29c60 6e 74 20 63 68 61 72 61 63 74 65 72 73 20 66 6f 72 20 50 41 53 43 41 4c 2d 69 64 65 6e 74 69 66   ┆nt characters for PASCAL-identif┆
0x29c60…29c80 69 65 72 73 2e 20 0d 0a 0d 0a a1 43 61 6c 6c 3a 20 0d 0a 0d 0a 0d 0a 0d 0a e1 20 3c 6f 75 74 70   ┆iers.     АCall:         р <outp┆
0x29c80…29ca0 75 74 20 66 69 6c 65 3e 20 3d 20 63 72 6f 73 73 20 3c 69 6e 70 75 74 20 66 69 6c 65 3e 20 3c 6f   ┆ut file> = cross <input file> <o┆
0x29ca0…29cc0 70 74 69 6f 6e 3e 20 0d 0a 0d 0a 0d 0a 0d 0a 41 76 61 69 6c 61 62 6c 65 20 6f 70 74 69 6f 6e 73   ┆ption>         Available options┆
0x29cc0…29ce0 3a 20 0d 0a 0d 0a 62 6f 73 73 6c 69 6e 65 2e 3c 79 65 73 20 6f 72 20 6e 6f 3e 1f 64 65 66 61 75   ┆:     bossline.<yes or no> defau┆
0x29ce0…29d00 6c 74 20 69 73 20 6e 6f 2c 20 69 2e 65 2e 20 62 6f 73 73 20 6c 69 6e 65 20 6e 75 6d 62 65 72 73   ┆lt is no, i.e. boss line numbers┆
0x29d00…29d20 20 61 72 65 20 6e 6f 74 20 0a 61 64 64 65 64 2e 20 0d 0a 0d 0a 74 69 74 6c 65 2e 3c 6e 61 6d 65   ┆ are not  added.     title.<name┆
0x29d20…29d40 3e 1f 1f 1f 1f 1f 1f 1f 1f 1f 64 65 66 61 75 6c 74 20 6e 61 6d 65 20 69 73 20 69 6e 70 75 74 2d   ┆>         default name is input-┆
0x29d40…29d60 66 69 6c 65 20 6e 61 6d 65 20 54 68 65 20 6e 61 6d 65 20 77 69 6c 6c 20 0a 61 70 70 65 61 72 20   ┆file name The name will  appear ┆
0x29d60…29d80 69 6e 20 74 68 65 20 70 61 67 65 20 68 65 61 64 69 6e 67 73 2e 20 0d 0a 0d 0a 6b 65 79 77 6f 72   ┆in the page headings.     keywor┆
0x29d80…29da0 64 73 2e 3c 79 65 73 20 6f 72 20 6e 6f 3e 1f 64 65 66 61 75 6c 74 20 69 73 20 79 65 73 2c 20 69   ┆ds.<yes or no> default is yes, i┆
0x29da0…29dc0 2e 65 2e 20 74 68 65 20 6b 65 79 77 6f 72 64 73 20 61 72 65 20 6c 69 73 74 65 64 20 0a 73 65 70   ┆.e. the keywords are listed  sep┆
0x29dc0…29de0 61 72 61 74 65 6c 79 20 77 69 74 68 20 6f 63 63 75 72 72 65 6e 63 65 20 63 6f 75 6e 74 73 2e 20   ┆arately with occurrence counts. ┆
0x29de0…29e00 0d 0a 0d 0a 73 75 72 76 65 79 2e 3c 79 65 73 20 6f 72 20 6e 6f 3e 1f 1f 1f 64 65 66 61 75 6c 74   ┆    survey.<yes or no>   default┆
0x29e00…29e20 20 69 73 20 6e 6f 2c 20 69 66 20 79 65 73 20 69 73 20 63 68 6f 73 65 6e 20 69 6e 66 6f 72 6d 61   ┆ is no, if yes is chosen informa┆
0x29e20…29e40 74 69 6f 6e 20 61 62 6f 75 74 20 0a 74 68 65 20 63 72 6f 73 73 20 72 65 66 65 72 65 6e 63 69 6e   ┆tion about  the cross referencin┆
0x29e40…29e60 67 20 77 69 6c 6c 20 62 65 20 70 72 6f 64 75 63 65 64 20 61 66 74 65 72 20 74 68 65 20 63 72 6f   ┆g will be produced after the cro┆
0x29e60…29e80 73 73 20 72 65 66 65 72 65 6e 63 65 20 0a 74 61 62 6c 65 73 2e 27 20 0d 0a 0d 0a 54 68 65 20 70   ┆ss reference  tables.'     The p┆
0x29e80…29ea0 61 67 65 20 66 6f 72 6d 61 74 20 6f 66 20 43 52 4f 53 53 20 63 61 6e 20 62 65 20 73 65 65 6e 20   ┆age format of CROSS can be seen ┆
0x29ea0…29ec0 69 6e 20 74 68 65 20 74 61 69 6c 20 6f 66 20 74 68 65 20 63 61 74 61 6c 6f 67 20 0a 65 6e 74 72   ┆in the tail of the catalog  entr┆
0x29ec0…29ee0 79 20 72 69 67 68 74 20 61 66 74 65 72 20 74 68 65 20 64 61 74 65 2c 20 69 2e 65 2e 3a 20 0d 0a   ┆y right after the date, i.e.:   ┆
0x29ee0…29f00 0d 0a 63 72 6f 73 73 20 3d 20 73 65 74 20 33 30 20 64 69 73 63 31 20 64 2e 38 33 30 33 31 35 2e   ┆  cross = set 30 disc1 d.830315.┆
0x29f00…29f20 30 39 31 37 20 34 36 2e 31 35 20 30 20 32 2e 30 20 36 38 20 3b 20 73 79 73 74 65 6d 20 20 20 20   ┆0917 46.15 0 2.0 68 ; system    ┆
0x29f20…29f40 20 20 20 20 20 3b 20 20 0a 32 34 39 20 37 36 20 33 20 2d 38 33 38 38 36 30 37 20 38 33 38 38 36   ┆     ;   249 76 3 -8388607 83886┆
0x29f40…29f60 30 35 20 0d 0a 0d 0a 41 66 74 65 72 20 74 68 65 20 64 61 74 65 20 34 36 2e 31 35 20 61 70 70 65   ┆05     After the date 46.15 appe┆
0x29f60…29f80 61 72 73 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 70 61 67 65 20 66 6f   ┆ars. This means that the page fo┆
0x29f80…29fa0 72 6d 61 74 20 69 73 3a 20 0d 0a 0d 0a 20 20 20 20 20 34 36 20 6c 69 6e 65 73 2f 70 61 67 65 20   ┆rmat is:          46 lines/page ┆
0x29fa0…29fc0 61 6e 64 20 31 35 20 63 6f 6c 75 6d 6e 73 20 69 6e 20 63 72 6f 73 73 20 74 61 62 6c 65 2e 20 0d   ┆and 15 columns in cross table.  ┆
0x29fc0…29fe0 0a 0d 0a a1 53 74 6f 72 61 67 65 1f 72 65 71 75 69 72 65 6d 65 6e 74 73 3a 20 0d 0a 0d 0a e1 54   ┆   АStorage requirements:     рT┆
0x29fe0…2a000 68 65 20 63 6f 72 65 20 73 74 6f 72 65 20 72 65 71 75 69 72 65 64 20 66 6f 72 20 63 72 6f 73 73   ┆he core store required for cross┆
0x2a000…2a020 20 69 73 20 61 74 20 6c 65 61 73 74 20 34 30 30 30 30 20 68 57 20 28 73 69 7a 65 20 34 30 30 30   ┆ is at least 40000 hW (size 4000┆
0x2a020…2a040 30 29 2c 20 0a 62 75 74 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 64 65 70 65 6e 64   ┆0),  but the requirements depend┆
0x2a040…2a060 20 6f 6e 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 74 65 78 74 2e 20   ┆ on the size of the input text. ┆
0x2a060…2a080 0d 0a 0d 0a 8c 8a 90 0a a1 45 72 72 6f 72 6d 65 73 73 3a 20 0d 0a 0d 0a e1 49 66 20 65 72 72 6f   ┆    їіљ АErrormess:     рIf erro┆
0x2a080…2a0a0 72 73 20 61 72 65 20 64 65 74 65 63 74 65 64 2c 20 74 68 65 20 6f 6b 2d 62 69 74 20 69 73 20 69   ┆rs are detected, the ok-bit is i┆
0x2a0a0…2a0c0 6e 69 74 69 61 6c 69 7a 65 64 20 74 6f 20 6f 6b 2e 6e 6f 2e 20 0d 0a 0d 0a 3f 3f 3f 1f 1f 1f 69   ┆nitialized to ok.no.     ???   i┆
0x2a0c0…2a0e0 6c 6c 65 67 61 6c 20 6f 75 74 70 75 74 2d 66 69 6c 65 6e 61 6d 65 20 4c 65 66 74 20 68 61 6e 64   ┆llegal output-filename Left hand┆
0x2a0e0…2a100 20 73 69 64 65 20 6f 66 20 74 68 65 20 63 61 6c 6c 20 6d 75 73 74 20 62 65 20 61 20 0a 6e 61 6d   ┆ side of the call must be a  nam┆
0x2a100…2a120 65 2e 20 0d 0a 0d 0a 3f 3f 3f 1f 1f 1f 6f 75 74 70 75 74 20 66 69 6c 65 20 6d 75 73 74 20 62 65   ┆e.     ???   output file must be┆
0x2a120…2a140 20 73 70 65 63 69 66 69 65 64 20 0d 0a 0d 0a 3f 3f 3f 1f 1f 1f 69 6c 6c 65 67 61 6c 20 69 6e 70   ┆ specified     ???   illegal inp┆
0x2a140…2a160 75 74 2d 66 69 6c 65 6e 61 6d 65 20 49 6e 70 75 74 20 66 69 6c 65 20 6d 75 73 74 20 62 65 20 73   ┆ut-filename Input file must be s┆
0x2a160…2a180 70 65 63 69 66 69 65 64 2e 20 0d 0a 0d 0a 3f 3f 3f 1f 1f 1f 79 65 73 20 6f 72 20 6e 6f 20 65 78   ┆pecified.     ???   yes or no ex┆
0x2a180…2a1a0 70 65 63 74 65 64 20 4f 70 74 69 6f 6e 20 27 62 6f 73 73 6c 69 6e 65 27 20 6d 75 73 74 20 62 65   ┆pected Option 'bossline' must be┆
0x2a1a0…2a1c0 20 27 62 6f 73 73 6c 69 6e 65 2e 79 65 73 27 20 6f 72 20 0a 27 62 6f 73 73 6c 69 6e 65 2e 6e 6f   ┆ 'bossline.yes' or  'bossline.no┆
0x2a1c0…2a1e0 27 2e 20 0d 0a 0d 0a 3f 3f 3f 1f 1f 1f 65 72 72 6f 72 20 69 6e 20 62 72 61 63 6b 65 74 20 73 74   ┆'.     ???   error in bracket st┆
0x2a1e0…2a200 72 75 63 74 75 72 65 2c 20 64 65 74 65 63 74 65 64 20 61 74 20 6c 69 6e 65 3a 20 78 78 20 4d 69   ┆ructure, detected at line: xx Mi┆
0x2a200…2a220 73 73 69 6e 67 20 22 29 22 20 28 27 73 29 20 0d 0a 0d 0a 3f 3f 3f 1f 1f 1f 65 72 72 6f 72 20 69   ┆ssing ")" ('s)     ???   error i┆
0x2a220…2a240 6e 20 62 6c 6f 63 6b 73 74 72 75 63 74 75 72 65 2c 20 64 65 74 65 63 74 65 64 20 61 74 20 6c 69   ┆n blockstructure, detected at li┆
0x2a240…2a260 6e 65 3a 20 78 78 20 55 6e 6d 61 74 63 68 65 64 20 65 6e 64 2e 20 0d 0a 0d 0a 2a 2a 2a 2a 2a 1f   ┆ne: xx Unmatched end.     ***** ┆
0x2a260…2a280 77 61 72 6e 69 6e 67 3a 20 65 6c 65 6d 65 6e 74 20 71 75 65 75 65 20 72 61 6e 20 66 75 6c 6c 2e   ┆warning: element queue ran full.┆
0x2a280…2a2a0 20 53 6f 6d 65 20 6f 66 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 61 20 6c 69 73 74 20 0a 61 72   ┆ Some of the names of a list  ar┆
0x2a2a0…2a2c0 65 20 6e 6f 74 20 6d 61 72 6b 65 64 20 77 69 74 68 69 6e 20 74 68 65 20 63 6f 72 72 65 63 74 20   ┆e not marked within the correct ┆
0x2a2c0…2a2e0 61 74 74 72 69 62 75 74 65 20 28 20 3a 2c 20 3d 2c 20 2a 20 29 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16   ┆attribute ( :, =, * ).          ┆
0x2a2e0…2a300 53 42 0d 0a 52 54 50 2d 43 6f 6d 70 72 65 73 73 20 20 20 20 0d 0a 53 6f 6d 65 20 63 6f 6d 70 69   ┆SB  RTP-Compress      Some compi┆
0x2a300…2a320 6c 61 74 69 6f 6e 20 74 69 6d 65 20 6d 61 79 20 62 65 20 73 61 76 65 64 20 69 66 20 63 6f 6d 6d   ┆lation time may be saved if comm┆
0x2a320…2a340 6f 6e 20 63 6f 6e 74 65 78 74 73 20 61 72 65 20 0a 63 6f 6d 70 72 65 73 73 65 64 2e 20 54 79 70   ┆on contexts are  compressed. Typ┆
0x2a340…2a360 69 63 61 6c 6c 79 2c 20 63 6f 6e 74 65 78 74 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 6f 76   ┆ically, contexts are compiled ov┆
0x2a360…2a380 65 72 20 61 6e 64 20 6f 76 65 72 2c 20 62 75 74 20 6f 6e 6c 79 20 0a 63 68 61 6e 67 65 64 20 6e   ┆er and over, but only  changed n┆
0x2a380…2a3a0 6f 77 20 61 6e 64 20 74 68 65 6e 2e 20 48 65 6e 63 65 2c 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20   ┆ow and then. Hence, compilation ┆
0x2a3a0…2a3c0 74 69 6d 65 20 69 73 20 73 70 65 6e 74 20 6f 6e 20 63 6f 6d 6d 65 6e 74 73 20 0a 61 6e 64 20 73   ┆time is spent on comments  and s┆
0x2a3c0…2a3e0 75 70 65 72 66 6c 75 6f 73 20 62 6c 61 6e 6b 73 20 66 72 6f 6d 20 63 6f 6e 74 65 78 74 73 20 77   ┆uperfluos blanks from contexts w┆
0x2a3e0…2a400 68 69 63 68 20 61 72 65 20 6f 66 20 6d 69 6e 69 6d 61 6c 20 69 6e 74 65 72 65 73 74 20 66 6f 72   ┆hich are of minimal interest for┆
0x2a400…2a420 20 0a 74 68 65 20 6d 61 69 6e 20 70 72 6f 67 72 61 6d 2e 20 53 75 70 70 6c 69 65 64 20 77 69 74   ┆  the main program. Supplied wit┆
0x2a420…2a440 68 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 69 73 20 61 20 75 74 69 6c 69 74 79 20 70 72 6f 67   ┆h the compiler is a utility prog┆
0x2a440…2a460 72 61 6d 20 0a 63 61 6c 6c 65 64 20 72 74 70 63 6f 6d 70 72 65 73 73 2e 20 54 68 69 73 20 70 72   ┆ram  called rtpcompress. This pr┆
0x2a460…2a480 6f 67 72 61 6d 20 6d 61 79 20 63 6f 6d 70 61 63 74 20 74 68 65 20 74 65 78 74 20 62 79 20 72 65   ┆ogram may compact the text by re┆
0x2a480…2a4a0 6d 6f 76 69 6e 67 20 0a 63 6f 6d 6d 65 6e 74 73 20 61 6e 64 20 62 6c 61 6e 6b 73 2e 20 54 68 65   ┆moving  comments and blanks. The┆
0x2a4a0…2a4c0 20 73 79 6e 74 61 78 20 6f 66 20 63 61 6c 6c 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69   ┆ syntax of call of the program i┆
0x2a4c0…2a4e0 73 3a 20 0d 0a 0d 0a 20 31 20 20 28 6f 75 74 66 69 6c 65 3d 29 20 20 72 74 70 63 6f 6d 70 72 65   ┆s:      1  (outfile=)  rtpcompre┆
0x2a4e0…2a500 73 73 20 69 6e 70 75 74 66 69 6c 65 20 20 30 20 0d 0a 0d 0a 49 66 20 3c 6f 75 74 66 69 6c 65 3e   ┆ss inputfile  0     If <outfile>┆
0x2a500…2a520 20 69 73 20 6f 6d 69 74 74 65 64 20 63 75 72 72 65 6e 74 20 6f 75 74 70 75 74 20 69 73 20 63 68   ┆ is omitted current output is ch┆
0x2a520…2a540 6f 73 65 6e 2e 20 0d 0a 0d 0a 0d 0a 16 53 61 0d 0a 52 45 41 4c 2d 54 49 4d 45 20 50 41 53 43 41   ┆osen.        Sa  REAL-TIME PASCA┆
0x2a540…2a560 4c 20 4f 42 4a 45 43 54 20 50 52 4f 47 52 41 4d 20 55 54 49 4c 49 54 49 45 53 20 20 20 20 20 0d   ┆L OBJECT PROGRAM UTILITIES      ┆
0x2a560…2a580 0a 0d 0a 0d 0a 0d 0a 0d 0a 16 53 42 0d 0a 50 4c 49 42 49 4e 53 45 52 54 20 20 20 20 20 20 0d 0a   ┆          SB  PLIBINSERT        ┆
0x2a580…2a5a0 50 72 6f 63 65 73 73 20 6f 72 20 72 6f 75 74 69 6e 65 20 6c 69 62 72 61 72 69 65 73 20 66 6f 72   ┆Process or routine libraries for┆
0x2a5a0…2a5c0 20 52 43 33 35 30 32 20 6d 61 79 20 62 65 20 63 6f 6e 73 74 72 75 63 74 65 64 20 62 79 20 6d 65   ┆ RC3502 may be constructed by me┆
0x2a5c0…2a5e0 61 6e 73 20 0a 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 70 6c 69 62 69 6e 73 65 72 74 2e 20   ┆ans  of the program plibinsert. ┆
0x2a5e0…2a600 0d 0a 0d 0a 50 6c 69 62 69 6e 73 65 72 74 20 6d 61 79 20 63 6f 6c 6c 65 63 74 20 61 20 67 72 6f   ┆    Plibinsert may collect a gro┆
0x2a600…2a620 75 70 20 6f 66 20 6f 62 6a 65 63 74 20 70 72 6f 67 72 61 6d 73 20 69 6e 74 6f 20 6f 6e 65 20 6f   ┆up of object programs into one o┆
0x2a620…2a640 62 6a 65 63 74 20 66 69 6c 65 2e 20 0a 54 68 65 20 63 72 6f 73 73 20 6c 69 6e 6b 65 72 20 6d 61   ┆bject file.  The cross linker ma┆
0x2a640…2a660 79 20 74 68 65 6e 20 69 6e 63 6c 75 64 65 20 61 6c 6c 20 74 68 65 20 70 72 6f 67 72 61 6d 73 20   ┆y then include all the programs ┆
0x2a660…2a680 69 66 20 73 70 65 63 69 66 69 65 64 20 61 73 20 0a 3c 6f 62 6a 20 66 69 6c 65 3e 20 69 6e 20 74   ┆if specified as  <obj file> in t┆
0x2a680…2a6a0 68 65 20 63 61 6c 6c 2c 20 6f 72 20 6a 75 73 74 20 69 6e 63 6c 75 64 65 20 74 68 65 20 70 72 6f   ┆he call, or just include the pro┆
0x2a6a0…2a6c0 67 72 61 6d 73 20 72 65 66 65 72 65 6e 63 65 64 20 66 72 6f 6d 20 61 6e 20 0a 69 6e 63 6c 75 64   ┆grams referenced from an  includ┆
0x2a6c0…2a6e0 65 64 20 6f 62 6a 65 63 74 20 70 72 6f 67 72 61 6d 20 69 66 20 73 70 65 63 69 66 69 65 64 20 61   ┆ed object program if specified a┆
0x2a6e0…2a700 73 20 3c 6c 69 62 20 66 69 6c 65 3e 2e 20 0d 0a 0d 0a 50 6c 69 62 69 6e 73 65 72 74 20 6d 61 79   ┆s <lib file>.     Plibinsert may┆
0x2a700…2a720 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 66 6f 72 20 75 70 64 61 74 69 6e 67 20 61 6e 20 65 78   ┆ also be used for updating an ex┆
0x2a720…2a740 69 73 74 69 6e 67 20 6c 69 62 72 61 72 79 2e 20 49 66 20 74 68 65 20 0a 70 72 6f 67 72 61 6d 20   ┆isting library. If the  program ┆
0x2a740…2a760 74 6f 20 69 6e 73 65 72 74 20 61 6c 72 65 61 64 79 20 69 73 20 69 6e 20 74 68 65 20 6c 69 62 72   ┆to insert already is in the libr┆
0x2a760…2a780 61 72 79 20 74 68 65 20 6f 6c 64 20 6f 6e 65 20 77 69 6c 6c 20 62 65 20 0a 72 65 70 6c 61 63 65   ┆ary the old one will be  replace┆
0x2a780…2a7a0 64 20 62 79 20 74 68 65 20 6e 65 77 20 6f 6e 65 2e 20 0d 0a 0d 0a 8c 8a a8 0a 54 68 65 20 63 61   ┆d by the new one.     їіе The ca┆
0x2a7a0…2a7c0 6c 6c 20 69 73 3a 20 0d 0a 0d 0a 0d 0a 0d 0a 20 3c 6e 65 77 20 6c 69 62 3e 3d 20 20 20 70 6c 69   ┆ll is:          <new lib>=   pli┆
0x2a7c0…2a7e0 62 69 6e 73 65 72 74 20 20 3c 6e 65 77 20 6f 62 6a 65 63 74 3e 20 20 20 20 6c 69 62 2e 3c 6f 6c   ┆binsert  <new object>    lib.<ol┆
0x2a7e0…2a800 64 20 6c 69 62 3e 20 0d 0a 0d 0a 0d 0a 0d 0a 3c 6e 65 77 20 6c 69 62 3e 1f 1f 1f 1f 69 73 20 74   ┆d lib>         <new lib>    is t┆
0x2a800…2a820 68 65 20 75 70 64 61 74 65 64 20 6c 69 62 72 61 72 79 3b 20 64 65 66 61 75 6c 74 20 6e 61 6d 65   ┆he updated library; default name┆
0x2a820…2a840 20 69 73 20 22 6c 69 62 22 2e 20 0d 0a 0d 0a 3c 6f 6c 64 20 6c 69 62 3e 1f 1f 1f 1f 69 73 20 74   ┆ is "lib".     <old lib>    is t┆
0x2a840…2a860 68 65 20 6f 6c 64 20 6c 69 62 72 61 72 79 2c 20 70 6f 73 73 69 62 6c 79 20 65 6d 70 74 79 3b 20   ┆he old library, possibly empty; ┆
0x2a860…2a880 64 65 66 61 75 6c 74 20 6e 61 6d 65 20 69 73 20 0a 22 6f 6c 64 6c 69 62 22 2e 20 0d 0a 0d 0a 3c   ┆default name is  "oldlib".     <┆
0x2a880…2a8a0 6e 65 77 20 6f 62 6a 65 63 74 3e 1f 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 66 69 6c   ┆new object> is the name of a fil┆
0x2a8a0…2a8c0 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 6f 62 6a 65 63 74 20 70 72 6f 67 72 61 6d 73 20 74 6f 20   ┆e containing object programs to ┆
0x2a8c0…2a8e0 62 65 20 0a 69 6e 73 65 72 74 65 64 20 69 6e 74 6f 20 3c 6f 6c 64 20 6c 69 62 3e 2c 20 70 6f 73   ┆be  inserted into <old lib>, pos┆
0x2a8e0…2a900 73 69 62 6c 79 20 72 65 70 6c 61 63 69 6e 67 20 65 78 69 73 74 69 6e 67 20 65 6e 74 72 69 65 73   ┆sibly replacing existing entries┆
0x2a900…2a920 3b 20 64 65 66 61 75 6c 74 20 0a 6e 61 6d 65 20 69 73 20 22 70 61 73 73 36 63 6f 64 65 22 2e 20   ┆; default  name is "pass6code". ┆
0x2a920…2a940 0d 0a 0d 0a 0d 0a 16 53 42 0d 0a 50 4c 49 42 4c 4f 4f 4b 55 50 20 20 20 20 20 20 0d 0a 50 6c 69   ┆       SB  PLIBLOOKUP        Pli┆
0x2a940…2a960 62 6c 6f 6f 6b 75 70 20 70 72 6f 64 75 63 65 73 20 61 20 63 61 74 61 6c 6f 67 20 6c 69 73 74 69   ┆blookup produces a catalog listi┆
0x2a960…2a980 6e 67 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61   ┆ng of the programs included in a┆
0x2a980…2a9a0 20 0a 6c 69 62 72 61 72 79 2e 20 50 72 6f 67 72 61 6d 73 20 6f 66 20 69 6d 61 67 65 66 69 6c 65   ┆  library. Programs of imagefile┆
0x2a9a0…2a9c0 73 20 6d 61 79 20 61 6c 73 6f 20 62 65 20 6c 69 73 74 65 64 2e 20 54 68 65 20 63 61 6c 6c 20 69   ┆s may also be listed. The call i┆
0x2a9c0…2a9e0 73 3a 20 0d 0a 0d 0a 0d 0a 0d 0a 20 70 6c 69 62 6c 6f 6f 6b 75 70 20 20 3c 6c 69 62 72 61 72 79   ┆s:          pliblookup  <library┆
0x2a9e0…2aa00 3e 20 0d 0a 0d 0a 0d 0a 0d 0a 3c 6c 69 62 72 61 72 79 3e 1f 1f 1f 1f 69 73 20 74 68 65 20 6c 69   ┆>         <library>    is the li┆
0x2aa00…2aa20 62 72 61 72 79 20 74 6f 20 62 65 20 73 63 61 6e 6e 65 64 3b 20 64 65 66 61 75 6c 74 20 6e 61 6d   ┆brary to be scanned; default nam┆
0x2aa20…2aa40 65 20 69 73 20 22 6c 69 62 22 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 42 0d 0a 50 4c 49 42 41 4c 4c   ┆e is "lib".          SB  PLIBALL┆
0x2aa40…2aa60 20 20 20 20 20 20 20 20 20 0d 0a 50 6c 69 62 61 6c 6c 20 70 72 6f 64 75 63 65 73 20 61 20 63 61   ┆           Pliball produces a ca┆
0x2aa60…2aa80 74 61 6c 6f 67 20 6c 69 73 74 69 6e 67 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 73 20 69 6e   ┆talog listing of the programs in┆
0x2aa80…2aaa0 20 61 20 6c 69 62 72 61 72 79 2e 20 41 20 6c 69 73 74 20 0a 6f 66 20 61 6c 6c 20 74 68 65 20 65   ┆ a library. A list  of all the e┆
0x2aaa0…2aac0 78 74 65 72 6e 61 6c 20 72 6f 75 74 69 6e 65 73 20 63 61 6c 6c 65 64 20 62 79 20 74 68 65 20 70   ┆xternal routines called by the p┆
0x2aac0…2aae0 72 6f 67 72 61 6d 73 20 69 73 20 70 72 6f 64 75 63 65 64 20 66 6f 72 20 0a 65 61 63 68 20 70 72   ┆rograms is produced for  each pr┆
0x2aae0…2ab00 6f 67 72 61 6d 20 69 6e 20 74 68 65 20 6c 69 62 72 61 72 79 2e 20 54 68 65 20 63 61 6c 6c 20 69   ┆ogram in the library. The call i┆
0x2ab00…2ab20 73 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 74 68 65 20 63 61 6c 6c 20 6f 66 20 0a 50 4c 49 42   ┆s identical to the call of  PLIB┆
0x2ab20…2ab40 4c 4f 4f 4b 55 50 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 42 0d 0a 50 4c 49 42 44 45 4c 45 54 45 20   ┆LOOKUP.          SB  PLIBDELETE ┆
0x2ab40…2ab60 20 20 20 20 20 0d 0a 50 6c 69 62 64 65 6c 65 74 65 20 6d 61 79 20 62 65 20 75 73 65 64 20 74 6f   ┆       Plibdelete may be used to┆
0x2ab60…2ab80 20 72 65 6d 6f 76 65 20 70 72 6f 67 72 61 6d 73 20 66 72 6f 6d 20 61 6e 20 65 78 69 73 74 69 6e   ┆ remove programs from an existin┆
0x2ab80…2aba0 67 20 6c 69 62 72 61 72 79 2e 20 0d 0a 0d 0a 54 68 65 20 63 61 6c 6c 20 69 73 3a 20 0d 0a 0d 0a   ┆g library.     The call is:     ┆
0x2aba0…2abc0 0d 0a 0d 0a 20 3c 6e 65 77 20 6c 69 62 3e 3d 20 20 20 70 6c 69 62 64 65 6c 65 74 65 20 20 3c 65   ┆     <new lib>=   plibdelete  <e┆
0x2abc0…2abe0 6e 74 72 79 3e 20 20 20 20 6c 69 62 2e 3c 6f 6c 64 20 6c 69 62 3e 20 0d 0a 0d 0a 0d 0a 0d 0a 3c   ┆ntry>    lib.<old lib>         <┆
0x2abe0…2ac00 6e 65 77 20 6c 69 62 3e 1f 1f 1f 1f 69 73 20 74 68 65 20 75 70 64 61 74 65 64 20 6c 69 62 72 61   ┆new lib>    is the updated libra┆
0x2ac00…2ac20 72 79 3b 20 64 65 66 61 75 6c 74 20 6e 61 6d 65 20 69 73 20 22 6c 69 62 22 2e 20 3c 6f 6c 64 20   ┆ry; default name is "lib". <old ┆
0x2ac20…2ac40 0a 6c 69 62 3e 1f 1f 1f 1f 69 73 20 74 68 65 20 6f 6c 64 20 6c 69 62 72 61 72 79 3b 20 64 65 66   ┆ lib>    is the old library; def┆
0x2ac40…2ac60 61 75 6c 74 20 6e 61 6d 65 20 69 73 20 22 6f 6c 64 6c 69 62 22 2e 20 0d 0a 0d 0a 8c 8a 90 0a 3c   ┆ault name is "oldlib".     їіљ <┆
0x2ac60…2ac80 65 6e 74 72 79 3e 3a 3a 3d 20 65 6e 74 72 79 2e 3c 6e 75 6d 62 65 72 3e 20 20 3c 70 72 6f 67 72   ┆entry>::= entry.<number>  <progr┆
0x2ac80…2aca0 61 6d 20 6e 61 6d 65 3e 20 0d 0a 0d 0a 50 72 6f 67 72 61 6d 20 6e 61 6d 65 73 20 63 6f 6e 73 69   ┆am name>     Program names consi┆
0x2aca0…2acc0 73 74 69 6e 67 20 6f 66 20 6d 6f 72 65 20 74 68 61 6e 20 31 31 20 63 68 61 72 61 63 74 65 72 73   ┆sting of more than 11 characters┆
0x2acc0…2ace0 20 61 6e 64 20 6e 61 6d 65 73 20 0a 69 6e 63 6c 75 64 69 6e 67 20 75 6e 64 65 72 73 63 6f 72 65   ┆ and names  including underscore┆
0x2ace0…2ad00 20 6d 61 79 20 6f 6e 6c 79 20 62 65 20 73 70 65 63 69 66 69 65 64 20 61 73 20 22 65 6e 74 72 79   ┆ may only be specified as "entry┆
0x2ad00…2ad20 2e 3c 6e 75 6d 62 65 72 3e 22 3b 20 74 68 65 20 0a 65 6e 74 72 79 20 6e 75 6d 62 65 72 20 6d 61   ┆.<number>"; the  entry number ma┆
0x2ad20…2ad40 79 20 62 65 20 66 6f 75 6e 64 20 62 79 20 6d 65 61 6e 73 20 6f 66 20 61 20 63 61 6c 6c 20 6f 66   ┆y be found by means of a call of┆
0x2ad40…2ad60 20 70 6c 69 62 6c 6f 6f 6b 75 70 2e 20 0d 0a 0d 0a 0d 0a 16 53 42 0d 0a 50 4c 49 42 45 58 54 52   ┆ pliblookup.        SB  PLIBEXTR┆
0x2ad60…2ad80 41 43 54 20 20 20 20 20 0d 0a 50 6c 69 62 65 78 74 72 61 63 74 20 6d 61 79 20 62 65 20 75 73 65   ┆ACT       Plibextract may be use┆
0x2ad80…2ada0 64 20 74 6f 20 65 78 74 72 61 63 74 20 70 72 6f 67 72 61 6d 73 20 66 72 6f 6d 20 61 6e 20 65 78   ┆d to extract programs from an ex┆
0x2ada0…2adc0 69 73 74 69 6e 67 20 6c 69 62 72 61 72 79 2e 20 0d 0a 0d 0a 54 68 65 20 63 61 6c 6c 20 69 73 3a   ┆isting library.     The call is:┆
0x2adc0…2ade0 20 0d 0a 0d 0a 0d 0a 0d 0a 20 3c 6e 65 77 20 6c 69 62 3e 3d 20 20 20 70 6c 69 62 65 78 74 72 61   ┆          <new lib>=   plibextra┆
0x2ade0…2ae00 63 74 20 20 3c 65 6e 74 72 79 3e 20 20 20 20 6c 69 62 2e 3c 6f 6c 64 20 6c 69 62 3e 20 0d 0a 0d   ┆ct  <entry>    lib.<old lib>    ┆
0x2ae00…2ae20 0a 0d 0a 0d 0a 3c 6e 65 77 20 6c 69 62 3e 1f 1f 1f 1f 69 73 20 74 68 65 20 72 65 73 75 6c 74 20   ┆     <new lib>    is the result ┆
0x2ae20…2ae40 6c 69 62 72 61 72 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 65 78 74 72 61 63 74 65 64   ┆library containing the extracted┆
0x2ae40…2ae60 20 65 6e 74 72 69 65 73 3b 20 0a 64 65 66 61 75 6c 74 20 6e 61 6d 65 20 69 73 20 22 6c 69 62 22   ┆ entries;  default name is "lib"┆
0x2ae60…2ae80 2e 20 0d 0a 0d 0a 3c 6f 6c 64 20 6c 69 62 3e 1f 1f 1f 1f 69 73 20 74 68 65 20 6f 6c 64 20 6c 69   ┆.     <old lib>    is the old li┆
0x2ae80…2aea0 62 72 61 72 79 3b 20 64 65 66 61 75 6c 74 20 6e 61 6d 65 20 69 73 20 22 6f 6c 64 6c 69 62 22 2e   ┆brary; default name is "oldlib".┆
0x2aea0…2aec0 20 0d 0a 0d 0a 3c 65 6e 74 72 79 3e 3a 3a 3d 20 65 6e 74 72 79 2e 3c 6e 75 6d 62 65 72 3e 20 20   ┆     <entry>::= entry.<number>  ┆
0x2aec0…2aee0 20 20 3c 70 72 6f 67 72 61 6d 20 6e 61 6d 65 3e 20 0d 0a 0d 0a 50 72 6f 67 72 61 6d 20 6e 61 6d   ┆  <program name>     Program nam┆
0x2aee0…2af00 65 73 20 63 6f 6e 73 69 73 74 69 6e 67 20 6f 66 20 6d 6f 72 65 20 74 68 61 6e 20 31 31 20 63 68   ┆es consisting of more than 11 ch┆
0x2af00…2af20 61 72 61 63 74 65 72 73 20 61 6e 64 20 6e 61 6d 65 73 20 0a 69 6e 63 6c 75 64 69 6e 67 20 75 6e   ┆aracters and names  including un┆
0x2af20…2af40 64 65 72 73 63 6f 72 65 20 6d 61 79 20 6f 6e 6c 79 20 62 65 20 73 70 65 63 69 66 69 65 64 20 61   ┆derscore may only be specified a┆
0x2af40…2af60 73 20 22 65 6e 74 72 79 2e 3c 6e 75 6d 62 65 72 3e 22 3b 20 74 68 65 20 0a 65 6e 74 72 79 20 6e   ┆s "entry.<number>"; the  entry n┆
0x2af60…2af80 75 6d 62 65 72 20 6d 61 79 20 62 65 20 66 6f 75 6e 64 20 62 79 20 6d 65 61 6e 73 20 6f 66 20 61   ┆umber may be found by means of a┆
0x2af80…2afa0 20 63 61 6c 6c 20 6f 66 20 70 6c 69 62 6c 6f 6f 6b 75 70 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 42   ┆ call of pliblookup.          SB┆
0x2afa0…2afc0 0d 0a 50 4c 49 42 43 4f 4e 56 45 52 54 20 20 20 20 20 0d 0a 50 6c 69 62 63 6f 6e 76 65 72 74 20   ┆  PLIBCONVERT       Plibconvert ┆
0x2afc0…2afe0 70 72 6f 64 75 63 65 73 20 61 6e 20 52 54 50 33 35 30 32 20 6c 69 62 72 61 72 79 20 6f 62 6a 65   ┆produces an RTP3502 library obje┆
0x2afe0…2b000 63 74 20 66 69 6c 65 20 66 72 6f 6d 20 61 20 6c 69 73 74 20 6f 66 20 0a 69 6e 70 75 74 20 66 69   ┆ct file from a list of  input fi┆
0x2b000…2b020 6c 65 73 20 6f 66 20 61 72 62 69 74 72 61 72 79 20 63 6f 6e 74 65 6e 74 73 2e 20 54 68 65 20 69   ┆les of arbitrary contents. The i┆
0x2b020…2b040 6e 64 69 76 69 64 75 61 6c 20 70 72 6f 67 72 61 6d 73 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74   ┆ndividual programs in the result┆
0x2b040…2b060 20 0a 66 69 6c 65 20 68 61 76 65 20 74 68 65 20 6e 65 77 20 6b 69 6e 64 20 44 41 54 41 20 61 6e   ┆  file have the new kind DATA an┆
0x2b060…2b080 64 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 20 61 73 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e   ┆d the same name as the correspon┆
0x2b080…2b0a0 64 69 6e 67 20 0a 69 6e 70 75 74 20 66 69 6c 65 2e 20 54 68 65 20 72 65 73 75 6c 74 20 66 69 6c   ┆ding  input file. The result fil┆
0x2b0a0…2b0c0 65 20 6d 61 79 20 62 65 20 69 6e 73 70 65 63 74 65 64 20 62 79 20 50 4c 49 42 4c 4f 4f 4b 55 50   ┆e may be inspected by PLIBLOOKUP┆
0x2b0c0…2b0e0 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 20 20 20 20 20 20 79 65 73 20 3c 6f 75 74 66 69 6c 65 3e 20 3d 20   ┆.               yes <outfile> = ┆
0x2b0e0…2b100 70 6c 69 62 63 6f 6e 76 65 72 74 20 64 65 73 63 72 69 70 74 6f 72 2e 20 20 20 20 20 20 20 3c 69   ┆plibconvert descriptor.       <i┆
0x2b100…2b120 6e 66 69 6c 65 3e 20 20 20 20 20 20 20 6e 6f 20 0d 0a 0d 0a 3c 6f 75 74 66 69 6c 65 3e 1f 1f 69   ┆nfile>       no     <outfile>  i┆
0x2b120…2b140 73 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 6c 69 62 72 61 72 79 20 6f 62 6a 65 63 74 20 66   ┆s the resulting library object f┆
0x2b140…2b160 69 6c 65 2e 20 0d 0a 0d 0a 3c 69 6e 66 69 6c 65 3e 1f 1f 1f 69 73 20 74 68 65 20 6e 61 6d 65 20   ┆ile.     <infile>   is the name ┆
0x2b160…2b180 6f 66 20 61 20 66 69 6c 65 20 6f 66 20 61 72 62 69 74 72 61 72 79 20 63 6f 6e 74 65 6e 74 73 2e   ┆of a file of arbitrary contents.┆
0x2b180…2b1a0 20 0d 0a 0d 0a 64 65 73 63 72 69 70 74 6f 72 1f 64 65 66 69 6e 65 73 20 77 68 65 74 68 65 72 20   ┆     descriptor defines whether ┆
0x2b1a0…2b1c0 74 68 65 20 64 65 73 63 72 69 70 74 6f 72 20 73 65 67 6d 65 6e 74 73 20 61 72 65 20 67 65 6e 65   ┆the descriptor segments are gene┆
0x2b1c0…2b1e0 72 61 74 65 64 20 66 6f 72 20 0a 74 68 65 20 69 6e 70 75 74 20 66 69 6c 65 73 20 64 75 72 69 6e   ┆rated for  the input files durin┆
0x2b1e0…2b200 67 20 63 6f 6e 76 65 72 74 69 6e 67 2e 20 27 64 65 73 63 72 69 70 74 6f 72 2e 79 65 73 27 20 69   ┆g converting. 'descriptor.yes' i┆
0x2b200…2b220 73 20 6d 61 6e 64 61 74 6f 72 79 2c 20 77 68 65 6e 20 0a 74 68 65 20 66 69 6e 61 6c 20 72 65 63   ┆s mandatory, when  the final rec┆
0x2b220…2b240 65 69 76 65 72 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 66 69 6c 65 20 69 73 20 74 68 65 20   ┆eiver of the result file is the ┆
0x2b240…2b260 52 43 33 35 30 32 20 4c 4f 41 44 45 52 2e 20 0a 27 64 65 73 63 72 69 70 74 6f 72 2e 6e 6f 27 20   ┆RC3502 LOADER.  'descriptor.no' ┆
0x2b260…2b280 6d 61 79 20 62 65 20 73 70 65 63 69 66 69 65 64 2c 20 69 66 20 79 6f 75 20 77 61 6e 74 20 61 20   ┆may be specified, if you want a ┆
0x2b280…2b2a0 74 72 61 6e 73 70 61 72 65 6e 74 20 66 69 6c 65 20 0a 74 72 61 6e 73 66 65 72 20 74 6f 20 74 68   ┆transparent file  transfer to th┆
0x2b2a0…2b2c0 65 20 72 65 63 65 69 76 65 72 20 28 4e 4f 54 20 74 68 65 20 52 43 33 35 30 32 20 4c 4f 41 44 45   ┆e receiver (NOT the RC3502 LOADE┆
0x2b2c0…2b2e0 52 29 2e 20 0d 0a 0d 0a 44 65 66 61 75 6c 74 3a 20 64 65 73 63 72 69 70 74 6f 72 2e 79 65 73 2e   ┆R).     Default: descriptor.yes.┆
0x2b2e0…2b300 20 0d 0a 0d 0a 0d 0a 0d 0a 8c 8a a8 0a 0d 0a 16 53 61 0d 0a 4c 4f 41 44 20 4f 52 20 41 55 54 4f   ┆         їіе    Sa  LOAD OR AUTO┆
0x2b300…2b320 4c 4f 41 44 20 46 49 4c 45 20 47 45 4e 45 52 41 54 49 4f 4e 20 4f 4e 20 52 43 38 30 30 30 0d 0a   ┆LOAD FILE GENERATION ON RC8000  ┆
0x2b320…2b340 54 68 65 20 52 65 61 6c 2d 54 69 6d 65 20 50 61 73 63 61 6c 20 63 6f 6d 70 69 6c 65 72 20 67 65   ┆The Real-Time Pascal compiler ge┆
0x2b340…2b360 6e 65 72 61 74 65 73 20 62 69 6e 61 72 79 20 72 65 6c 6f 63 61 74 61 62 6c 65 20 6f 62 6a 65 63   ┆nerates binary relocatable objec┆
0x2b360…2b380 74 20 0a 70 72 6f 67 72 61 6d 73 2e 20 54 68 65 20 6f 62 6a 65 63 74 20 70 72 6f 67 72 61 6d 73   ┆t  programs. The object programs┆
0x2b380…2b3a0 20 6d 61 79 20 62 65 20 6c 6f 61 64 65 64 20 62 79 20 74 68 65 20 52 43 33 35 30 32 20 4c 4f 41   ┆ may be loaded by the RC3502 LOA┆
0x2b3a0…2b3c0 44 45 52 20 0a 28 72 65 66 2e 20 34 20 61 6e 64 20 37 29 20 66 72 6f 6d 20 61 20 70 61 70 65 72   ┆DER  (ref. 4 and 7) from a paper┆
0x2b3c0…2b3e0 20 74 61 70 65 20 72 65 61 64 65 72 2c 20 76 69 61 20 61 6e 20 46 50 41 2c 20 6f 72 20 66 72 6f   ┆ tape reader, via an FPA, or fro┆
0x2b3e0…2b400 6d 20 61 6e 20 0a 61 70 70 6c 69 63 61 74 69 6f 6e 20 70 72 6f 63 65 73 73 2c 20 73 69 6d 75 6c   ┆m an  application process, simul┆
0x2b400…2b420 61 74 69 6e 67 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 64 65 76 69 63 65 2e 20 53 75 62 73 65 63   ┆ating an external device. Subsec┆
0x2b420…2b440 74 69 6f 6e 20 47 2e 31 20 0a 64 65 73 63 72 69 62 65 73 20 74 68 69 73 20 77 61 79 20 6f 66 20   ┆tion G.1  describes this way of ┆
0x2b440…2b460 70 72 6f 67 72 61 6d 20 6c 6f 61 64 2e 20 54 68 65 20 52 43 33 35 30 32 20 4c 4f 41 44 45 52 20   ┆program load. The RC3502 LOADER ┆
0x2b460…2b480 70 65 72 66 6f 72 6d 73 20 74 68 65 20 0a 6e 65 63 65 73 73 61 72 79 20 6c 69 6e 6b 61 67 65 20   ┆performs the  necessary linkage ┆
0x2b480…2b4a0 65 64 69 74 69 6e 67 20 61 6e 64 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79   ┆editing and allocation of memory┆
0x2b4a0…2b4c0 20 66 6f 72 20 74 68 65 20 70 72 6f 67 72 61 6d 73 2e 20 0d 0a 0d 0a 41 6e 6f 74 68 65 72 20 77   ┆ for the programs.     Another w┆
0x2b4c0…2b4e0 61 79 20 74 6f 20 6c 6f 61 64 20 70 72 6f 67 72 61 6d 73 20 69 6e 20 74 68 65 20 52 43 33 35 30   ┆ay to load programs in the RC350┆
0x2b4e0…2b500 32 20 69 73 20 61 75 74 6f 6c 6f 61 64 69 6e 67 20 62 79 20 6d 65 61 6e 73 20 0a 6f 66 20 74 68   ┆2 is autoloading by means  of th┆
0x2b500…2b520 65 20 52 43 33 35 30 32 20 42 4f 4f 54 20 70 72 6f 67 72 61 6d 2e 20 49 6e 20 74 68 61 74 20 63   ┆e RC3502 BOOT program. In that c┆
0x2b520…2b540 61 73 65 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 65 64 69 74 69 6e 67 20 6f 66 20 0a 74 68   ┆ase the necessary editing of  th┆
0x2b540…2b560 65 20 6f 62 6a 65 63 74 20 70 72 6f 67 72 61 6d 73 20 6d 75 73 74 20 62 65 20 70 65 72 66 6f 72   ┆e object programs must be perfor┆
0x2b560…2b580 6d 65 64 20 62 79 20 74 68 65 20 43 52 4f 53 53 4c 49 4e 4b 20 70 72 6f 67 72 61 6d 20 0a 6f 6e   ┆med by the CROSSLINK program  on┆
0x2b580…2b5a0 20 52 43 38 30 30 30 2c 20 62 65 66 6f 72 65 20 61 6e 20 61 75 74 6f 6c 6f 61 64 20 66 69 6c 65   ┆ RC8000, before an autoload file┆
0x2b5a0…2b5c0 20 69 73 20 70 72 6f 64 75 63 65 64 2e 20 54 68 69 73 20 69 73 20 64 65 73 63 72 69 62 65 64 20   ┆ is produced. This is described ┆
0x2b5c0…2b5e0 69 6e 20 0a 73 75 62 73 65 63 74 69 6f 6e 20 47 2e 32 2e 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 42 0d   ┆in  subsection G.2.          SB ┆
0x2b5e0…2b600 0a 48 6f 77 20 74 6f 20 47 65 6e 65 72 61 74 65 20 61 20 4c 6f 61 64 66 69 6c 65 0d 0a 0d 0a 0d   ┆ How to Generate a Loadfile     ┆
0x2b600…2b620 0a 0d 0a 0d 0a 16 53 43 0d 0a 47 65 6e 65 72 61 74 69 6e 67 20 61 6e 20 46 50 41 20 4c 6f 61 64   ┆      SC  Generating an FPA Load┆
0x2b620…2b640 66 69 6c 65 0d 0a 49 66 20 27 62 78 78 78 78 27 20 69 73 20 61 20 62 69 6e 61 72 79 20 6f 62 6a   ┆file  If 'bxxxx' is a binary obj┆
0x2b640…2b660 65 63 74 20 70 72 6f 67 72 61 6d 2c 20 70 72 6f 64 75 63 65 64 20 62 79 20 74 68 65 20 52 65 61   ┆ect program, produced by the Rea┆
0x2b660…2b680 6c 2d 54 69 6d 65 20 0a 50 61 73 63 61 6c 20 63 6f 6d 70 69 6c 65 72 2c 20 61 20 6c 6f 61 64 66   ┆l-Time  Pascal compiler, a loadf┆
0x2b680…2b6a0 69 6c 65 20 66 6f 72 20 6c 61 74 65 72 20 6c 6f 61 64 20 66 72 6f 6d 20 46 50 41 20 69 73 20 67   ┆ile for later load from FPA is g┆
0x2b6a0…2b6c0 65 6e 65 72 61 74 65 64 20 6f 6e 20 0a 52 43 38 30 30 30 20 62 79 20 74 68 65 20 63 61 6c 6c 3a   ┆enerated on  RC8000 by the call:┆
0x2b6c0…2b6e0 20 0d 0a 0d 0a 0d 0a 0d 0a 20 20 20 20 20 3c 6f 75 74 66 69 6c 65 3e 20 3d 20 63 72 63 31 36 20   ┆              <outfile> = crc16 ┆
0x2b6e0…2b700 20 20 62 78 78 78 78 20 0d 0a 0d 0a 49 66 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6f   ┆  bxxxx     If the name of the o┆
0x2b700…2b720 75 74 66 69 6c 65 20 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 6d 61 69 6e 70 72 6f 63   ┆utfile is the name of a mainproc┆
0x2b720…2b740 65 73 73 2c 20 74 68 65 20 43 52 43 31 36 20 0a 70 72 6f 67 72 61 6d 20 6f 75 74 70 75 74 73 20   ┆ess, the CRC16  program outputs ┆
0x2b740…2b760 64 69 72 65 63 74 6c 79 20 74 6f 20 74 68 65 20 6d 61 69 6e 70 72 6f 63 65 73 73 20 61 63 63 6f   ┆directly to the mainprocess acco┆
0x2b760…2b780 72 64 69 6e 67 20 74 6f 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 20 0a 70 72 6f 74 6f 63 6f 6c 2e   ┆rding to the autoload  protocol.┆
0x2b780…2b7a0 20 0d 0a 16 53 42 0d 0a 48 6f 77 20 74 6f 20 47 65 6e 65 72 61 74 65 20 61 6e 20 41 75 74 6f 6c   ┆    SB  How to Generate an Autol┆
0x2b7a0…2b7c0 6f 61 64 66 69 6c 65 20 20 20 20 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 43 52 4f 53 53   ┆oadfile                SC  CROSS┆
0x2b7c0…2b7e0 4c 49 4e 4b 20 20 20 20 20 20 20 0d 0a 54 68 65 20 43 52 4f 53 53 4c 49 4e 4b 20 70 72 6f 67 72   ┆LINK         The CROSSLINK progr┆
0x2b7e0…2b800 61 6d 20 77 69 6c 6c 20 67 65 6e 65 72 61 74 65 20 61 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 69   ┆am will generate a file containi┆
0x2b800…2b820 6e 67 20 61 6c 6c 20 74 68 65 20 0a 73 70 65 63 69 66 69 65 64 20 6f 62 6a 65 63 74 20 70 72 6f   ┆ng all the  specified object pro┆
0x2b820…2b840 67 72 61 6d 73 20 61 6e 64 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 6c 69 62 72 61 72 79 20   ┆grams and the necessary library ┆
0x2b840…2b860 72 6f 75 74 69 6e 65 73 2e 20 54 68 65 20 66 69 6c 65 20 0a 77 69 6c 6c 20 62 65 20 61 20 63 6f   ┆routines. The file  will be a co┆
0x2b860…2b880 72 65 69 6d 61 67 65 2c 20 69 2e 65 2e 20 72 65 66 65 72 65 6e 63 65 73 20 62 65 74 77 65 65 6e   ┆reimage, i.e. references between┆
0x2b880…2b8a0 20 74 68 65 20 70 72 6f 67 72 61 6d 73 20 61 72 65 20 73 6f 6c 76 65 64 2e 20 0d 0a 0d 0a 43 61   ┆ the programs are solved.     Ca┆
0x2b8a0…2b8c0 6c 6c 3a 20 0d 0a 0d 0a 20 20 20 20 20 3c 6f 62 6a 20 66 69 6c 65 3e 20 20 3c 6f 75 74 66 69 6c   ┆ll:          <obj file>  <outfil┆
0x2b8c0…2b8e0 65 3e 20 3d 20 63 72 6f 73 73 6c 69 6e 6b 20 20 20 3c 6c 69 62 20 66 69 6c 65 3e 20 20 20 20 20   ┆e> = crosslink   <lib file>     ┆
0x2b8e0…2b900 20 3c 70 61 72 61 6d 73 3e 20 0d 0a 0d 0a 20 20 20 20 20 20 20 30 20 0d 0a 0d 0a a1 3c 6f 75 74   ┆ <params>            0     А<out┆
0x2b900…2b920 66 69 6c 65 3e e1 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 63 6f   ┆file>р contains the generated co┆
0x2b920…2b940 72 65 69 6d 61 67 65 2e 20 0d 0a 0d 0a 8c 89 e0 0a a1 3c 6f 62 6a 1f 66 69 6c 65 3e e1 3a 3a 3d   ┆reimage.     їЅЯ А<obj file>р::=┆
0x2b940…2b960 20 3c 66 69 6c 65 20 6e 61 6d 65 3e 20 3c 66 69 6c 65 20 6e 61 6d 65 3e 20 63 6f 6e 74 61 69 6e   ┆ <file name> <file name> contain┆
0x2b960…2b980 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 62 6a 65 63 74 20 0a 70 72 6f 67 72 61 6d 73 20 77   ┆s one or more object  programs w┆
0x2b980…2b9a0 68 69 63 68 20 28 61 6c 6c 29 20 6d 75 73 74 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74   ┆hich (all) must be included in t┆
0x2b9a0…2b9c0 68 65 20 63 6f 72 65 69 6d 61 67 65 2e 20 0d 0a 0d 0a a1 3c 6c 69 62 1f 66 69 6c 65 3e e1 3a 3a   ┆he coreimage.     А<lib file>р::┆
0x2b9c0…2b9e0 3d 20 6c 69 62 2e 20 3c 66 69 6c 65 20 6e 61 6d 65 3e 20 3c 66 69 6c 65 20 6e 61 6d 65 3e 20 63   ┆= lib. <file name> <file name> c┆
0x2b9e0…2ba00 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 62 6a 65 63 74 20 0a 70 72 6f 67   ┆ontains one or more object  prog┆
0x2ba00…2ba20 72 61 6d 73 20 28 72 6f 75 74 69 6e 65 73 29 20 77 68 69 63 68 20 6d 61 79 20 62 65 20 69 6e 63   ┆rams (routines) which may be inc┆
0x2ba20…2ba40 6c 75 64 65 64 20 62 79 20 43 52 4f 53 53 4c 49 4e 4b 2c 20 69 66 20 74 68 65 79 20 0a 61 72 65   ┆luded by CROSSLINK, if they  are┆
0x2ba40…2ba60 20 72 65 66 65 72 65 6e 63 65 64 20 66 72 6f 6d 20 61 6e 20 69 6e 63 6c 75 64 65 64 20 6f 62 6a   ┆ referenced from an included obj┆
0x2ba60…2ba80 65 63 74 20 70 72 6f 67 72 61 6d 2e 20 0d 0a 0d 0a 3c 6f 62 6a 20 66 69 6c 65 3e 20 61 6e 64 20   ┆ect program.     <obj file> and ┆
0x2ba80…2baa0 3c 6c 69 62 20 66 69 6c 65 3e 20 63 61 6e 20 62 65 20 6f 75 74 70 75 74 20 66 69 6c 65 28 73 29   ┆<lib file> can be output file(s)┆
0x2baa0…2bac0 20 66 72 6f 6d 20 74 68 65 20 52 65 61 6c 2d 54 69 6d 65 20 0a 50 61 73 63 61 6c 20 63 6f 6d 70   ┆ from the Real-Time  Pascal comp┆
0x2bac0…2bae0 69 6c 65 72 20 6f 72 20 6d 61 79 20 62 65 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 74 68 65 20   ┆iler or may be generated by the ┆
0x2bae0…2bb00 55 74 69 6c 69 74 79 20 50 72 6f 67 72 61 6d 20 0a 50 4c 49 42 49 4e 53 45 52 54 20 28 73 65 20   ┆Utility Program  PLIBINSERT (se ┆
0x2bb00…2bb20 61 70 70 65 6e 64 69 78 20 44 29 2e 20 0d 0a 0d 0a 20 20 20 20 73 74 61 72 74 2e 3c 62 61 73 65   ┆appendix D).         start.<base┆
0x2bb20…2bb40 3e 2e 3c 64 69 73 70 6c 61 63 65 6d 65 6e 74 3e 20 20 20 79 65 73 20 20 20 20 20 64 65 73 63 72   ┆>.<displacement>   yes     descr┆
0x2bb40…2bb60 2e 20 20 20 6e 6f 20 20 20 79 65 73 20 20 20 20 20 6d 61 70 2e 20 20 0a 3c 70 61 72 61 6d 73 3e   ┆.   no   yes     map.   <params>┆
0x2bb60…2bb80 3a 3a 3d 6e 6f 20 20 20 79 65 73 20 20 20 20 20 20 31 20 20 20 20 20 70 72 69 6e 74 2e 20 20 20   ┆::=no   yes      1     print.   ┆
0x2bb80…2bba0 20 20 20 20 20 20 2e 3c 77 6f 72 64 73 20 70 65 72 20 6c 69 6e 65 3e 20 20 20 20 20 20 20 20 0a   ┆      .<words per line>         ┆
0x2bba0…2bbc0 6e 6f 20 20 20 20 30 20 20 20 20 20 79 65 73 20 20 20 20 20 62 69 6e 64 2e 20 20 20 20 20 6e 6f   ┆no    0     yes     bind.     no┆
0x2bbc0…2bbe0 20 0d 0a 0d 0a a1 73 74 61 72 74 20 0d 0a 0d 0a 3c 62 61 73 65 3e 20 61 6e 64 20 3c 64 69 73 70   ┆     Аstart     <base> and <disp┆
0x2bbe0…2bc00 6c 61 63 65 6d 65 6e 74 3e 20 73 70 65 63 69 66 79 20 77 68 65 72 65 20 74 68 65 20 66 69 72 73   ┆lacement> specify where the firs┆
0x2bc00…2bc20 74 20 77 6f 72 64 20 6f 66 20 74 68 65 20 0a 63 6f 72 65 69 6d 61 67 65 20 69 73 20 73 75 70 70   ┆t word of the  coreimage is supp┆
0x2bc20…2bc40 6f 73 65 64 20 74 6f 20 62 65 20 61 75 74 6f 6c 6f 61 64 65 64 2e 20 54 68 65 20 73 74 61 72 74   ┆osed to be autoloaded. The start┆
0x2bc40…2bc60 2d 70 61 72 61 6d 20 6d 61 79 20 6f 6e 6c 79 20 0a 6f 63 63 75 72 20 62 65 66 6f 72 65 20 74 68   ┆-param may only  occur before th┆
0x2bc60…2bc80 65 20 66 69 72 73 74 20 66 69 6c 65 6e 61 6d 65 2e 20 0d 0a 0d 0a 20 3c 62 61 73 65 3e 3c 69 6e   ┆e first filename.      <base><in┆
0x2bc80…2bca0 74 65 67 65 72 3e 20 20 3a 3a 3d 20 20 20 20 20 3c 64 69 73 70 6c 3e 20 20 20 20 20 20 20 20 20   ┆teger>  ::=     <displ>         ┆
0x2bca0…2bcc0 68 20 3c 68 65 78 61 64 65 63 69 6d 61 6c 20 64 69 67 69 74 73 3e 20 0d 0a 0d 0a 44 65 66 61 75   ┆h <hexadecimal digits>     Defau┆
0x2bcc0…2bce0 6c 74 20 69 73 3a 20 68 63 30 2e 68 30 31 30 30 2e 20 0d 0a 0d 0a 4e 4f 54 45 3a 1f 49 66 20 74   ┆lt is: hc0.h0100.     NOTE: If t┆
0x2bce0…2bd00 68 65 20 63 6f 72 65 69 6d 61 67 65 20 69 73 20 74 6f 20 62 65 20 61 75 74 6f 6c 6f 61 64 65 64   ┆he coreimage is to be autoloaded┆
0x2bd00…2bd20 20 62 79 20 74 68 65 20 42 4f 4f 54 20 70 72 6f 67 72 61 6d 2c 20 0a 73 74 61 72 74 20 6d 75 73   ┆ by the BOOT program,  start mus┆
0x2bd20…2bd40 74 20 62 65 3a 20 73 74 61 72 74 2e 68 63 30 2e 68 30 31 30 30 2e 20 0d 0a 0d 0a a1 64 65 73 63   ┆t be: start.hc0.h0100.     Аdesc┆
0x2bd40…2bd60 72 20 0d 0a 0d 0a e1 64 65 66 69 6e 65 73 20 77 68 65 74 68 65 72 20 74 68 65 20 64 65 73 63 72   ┆r     рdefines whether the descr┆
0x2bd60…2bd80 69 70 74 6f 72 20 73 65 67 6d 65 6e 74 73 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20   ┆iptor segments of the following ┆
0x2bd80…2bda0 70 72 6f 67 72 61 6d 73 20 61 72 65 20 0a 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 63 6f   ┆programs are  included in the co┆
0x2bda0…2bdc0 72 65 69 6d 61 67 65 20 6f 72 20 6e 6f 74 2e 20 0d 0a 0d 0a 4e 4f 54 45 3a 1f 54 68 69 73 20 6f   ┆reimage or not.     NOTE: This o┆
0x2bdc0…2bde0 70 74 69 6f 6e 20 73 68 6f 75 6c 64 20 a1 6e 6f 74 e1 20 62 65 20 75 73 65 64 2e 20 44 65 73 63   ┆ption should Аnotр be used. Desc┆
0x2bde0…2be00 72 2e 6e 6f 20 77 69 6c 6c 20 67 65 6e 65 72 61 74 65 20 61 20 66 61 74 61 6c 20 0a 65 72 72 6f   ┆r.no will generate a fatal  erro┆
0x2be00…2be20 72 20 66 72 6f 6d 20 43 52 4f 53 53 4c 49 4e 4b 2e 20 0d 0a 0d 0a 44 65 66 61 75 6c 74 3a 20 64   ┆r from CROSSLINK.     Default: d┆
0x2be20…2be40 65 73 63 72 2e 79 65 73 2e 20 0d 0a 0d 0a a1 6d 61 70 20 0d 0a 0d 0a e1 63 6f 6e 74 72 6f 6c 73   ┆escr.yes.     Аmap     рcontrols┆
0x2be40…2be60 20 6c 69 73 74 69 6e 67 20 6f 66 20 74 68 65 20 69 6e 63 6c 75 64 65 64 20 70 72 6f 67 72 61 6d   ┆ listing of the included program┆
0x2be60…2be80 73 2e 20 45 61 63 68 20 69 6e 63 6c 75 64 65 64 20 70 72 6f 67 72 61 6d 20 69 73 20 0a 6c 69 73   ┆s. Each included program is  lis┆
0x2be80…2bea0 74 65 64 20 77 69 74 68 3a 20 0d 0a 0d 0a 3c 70 72 6f 67 72 61 6d 6b 69 6e 64 3e 20 3c 70 72 6f   ┆ted with:     <programkind> <pro┆
0x2bea0…2bec0 67 72 61 6d 6e 61 6d 65 3e 20 3c 64 61 74 65 20 74 69 6d 65 3e 20 3c 73 74 61 72 74 20 6f 66 20   ┆gramname> <date time> <start of ┆
0x2bec0…2bee0 64 65 73 63 72 69 70 74 6f 72 20 0a 73 65 67 6d 65 6e 74 3e 20 3c 73 74 61 72 74 20 6f 66 20 63   ┆descriptor  segment> <start of c┆
0x2bee0…2bf00 6f 64 65 20 73 65 67 6d 65 6e 74 3e 20 3c 6c 65 6e 67 74 68 3e 20 0d 0a 0d 0a 44 65 66 61 75 6c   ┆ode segment> <length>     Defaul┆
0x2bf00…2bf20 74 3a 20 6d 61 70 2e 79 65 73 2e 20 0d 0a 0d 0a 3c 64 61 74 65 20 74 69 6d 65 3e 20 69 73 20 64   ┆t: map.yes.     <date time> is d┆
0x2bf20…2bf40 61 74 65 20 61 6e 64 20 74 69 6d 65 20 6f 66 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 66 20 74   ┆ate and time of compilation of t┆
0x2bf40…2bf60 68 65 20 70 72 6f 67 72 61 6d 2e 20 0d 0a 0d 0a 8c 89 b0 0a a1 70 72 69 6e 74 20 0d 0a 0d 0a e1   ┆he program.     їЅ░ Аprint     р┆
0x2bf60…2bf80 63 6f 6e 74 72 6f 6c 73 20 70 72 69 6e 74 69 6e 67 20 6f 66 20 74 68 65 20 63 6f 72 65 69 6d 61   ┆controls printing of the coreima┆
0x2bf80…2bfa0 67 65 2e 20 45 61 63 68 20 6c 69 6e 65 20 63 6f 6e 73 69 73 74 73 20 6f 66 3a 20 0d 0a 0d 0a 3c   ┆ge. Each line consists of:     <┆
0x2bfa0…2bfc0 41 3e 2e 3c 42 3e 20 3c 43 3e 2e 3c 44 3e 20 3c 68 65 78 61 64 65 63 69 6d 61 6c 20 63 6f 6e 74   ┆A>.<B> <C>.<D> <hexadecimal cont┆
0x2bfc0…2bfe0 65 6e 74 73 20 6f 66 20 63 6f 72 65 69 6d 61 67 65 20 77 6f 72 64 73 3e 20 0d 0a 0d 0a 3c 41 3e   ┆ents of coreimage words>     <A>┆
0x2bfe0…2c000 20 61 6e 64 20 3c 42 3e 20 69 73 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 61 64 64 72 65 73 73   ┆ and <B> is the absolute address┆
0x2c000…2c020 20 28 69 2e 65 2e 20 62 61 73 65 20 61 6e 64 20 64 69 73 70 6c 61 63 65 6d 65 6e 74 29 20 6f 66   ┆ (i.e. base and displacement) of┆
0x2c020…2c040 20 0a 74 68 65 20 66 69 72 73 74 20 77 6f 72 64 20 69 6e 20 74 68 65 20 6c 69 6e 65 2e 20 0d 0a   ┆  the first word in the line.   ┆
0x2c040…2c060 0d 0a 3c 43 3e 20 61 6e 64 20 3c 44 3e 20 69 73 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69   ┆  <C> and <D> is the correspondi┆
0x2c060…2c080 6e 67 20 72 65 6c 61 74 69 76 65 20 61 64 64 72 65 73 73 20 28 77 69 74 68 69 6e 20 74 68 65 20   ┆ng relative address (within the ┆
0x2c080…2c0a0 0a 70 72 6f 67 72 61 6d 29 2e 20 0d 0a 0d 0a a1 62 69 6e 64 20 0d 0a 0d 0a e1 62 69 6e 64 2e 79   ┆ program).     Аbind     рbind.y┆
0x2c0a0…2c0c0 65 73 20 73 65 63 75 72 65 73 20 74 68 61 74 20 61 20 6e 65 77 20 6d 65 6d 6f 72 79 20 6d 6f 64   ┆es secures that a new memory mod┆
0x2c0c0…2c0e0 75 6c 65 20 61 6c 77 61 79 73 20 73 74 61 72 74 73 20 77 69 74 68 20 61 20 0a 64 65 73 63 72 69   ┆ule always starts with a  descri┆
0x2c0e0…2c100 70 74 6f 72 20 73 65 67 6d 65 6e 74 2e 20 0d 0a 0d 0a 44 65 66 61 75 6c 74 3a 20 62 69 6e 64 2e   ┆ptor segment.     Default: bind.┆
0x2c100…2c120 79 65 73 2e 20 0d 0a 0d 0a 42 69 6e 64 2e 6e 6f 20 77 69 6c 6c 20 67 65 6e 65 72 61 74 65 20 61   ┆yes.     Bind.no will generate a┆
0x2c120…2c140 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 66 72 6f 6d 20 43 52 4f 53 53 4c 49 4e 4b 20 69   ┆n error message from CROSSLINK i┆
0x2c140…2c160 66 20 74 68 65 20 0a 70 72 6f 67 72 61 6d 73 20 61 72 65 20 6e 6f 74 20 66 6f 72 20 52 43 33 35   ┆f the  programs are not for RC35┆
0x2c160…2c180 30 32 2f 32 2e 20 0d 0a 0d 0a a1 45 78 61 6d 70 6c 65 20 0d 0a 0d 0a e1 63 6f 72 65 69 6d 61 67   ┆02/2.     АExample     рcoreimag┆
0x2c180…2c1a0 65 20 3d 20 63 72 6f 73 73 6c 69 6e 6b 20 73 74 61 72 74 2e 68 63 30 2e 68 30 31 30 30 2c 20 20   ┆e = crosslink start.hc0.h0100,  ┆
0x2c1a0…2c1c0 20 62 6c 69 6e 6b 65 72 2c 20 20 20 62 6d 6f 6e 69 74 6f 72 2c 20 20 20 0a 62 61 6c 6c 6f 63 61   ┆ blinker,   bmonitor,    balloca┆
0x2c1c0…2c1e0 74 6f 72 2c 20 20 20 62 65 78 63 65 70 74 69 6f 6e 20 28 6f 72 20 62 6d 69 6e 69 65 78 63 65 70   ┆tor,   bexception (or bminiexcep┆
0x2c1e0…2c200 74 29 2c 20 73 79 73 74 65 6d 33 35 30 32 20 20 62 74 69 6d 65 72 2c 20 20 20 0a 62 6f 70 65 72   ┆t), system3502  btimer,    boper┆
0x2c200…2c220 61 74 6f 72 2c 20 20 20 62 6f 70 73 79 73 2c 20 20 20 20 20 20 20 20 6d 61 79 20 62 65 20 73 75   ┆ator,   bopsys,        may be su┆
0x2c220…2c240 62 73 74 69 74 75 74 65 64 20 20 20 2c 20 20 20 20 62 79 20 79 6f 75 72 20 6f 77 6e 20 20 20 0a   ┆bstituted   ,    by your own    ┆
0x2c240…2c260 62 6c 6f 61 64 65 72 2c 20 20 20 20 20 20 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20   ┆bloader,       operating system ┆
0x2c260…2c280 20 20 75 73 65 72 70 72 6f 63 65 73 73 20 31 2c 20 2e 2e 2e 2c 20 75 73 65 72 70 72 6f 63 65 73   ┆  userprocess 1, ..., userproces┆
0x2c280…2c2a0 73 20 6e 2c 20 20 20 0a 6c 69 62 2e 20 73 74 64 6c 69 62 20 0d 0a 0d 0a 77 69 6c 6c 20 67 65 6e   ┆s n,    lib. stdlib     will gen┆
0x2c2a0…2c2c0 65 72 61 74 65 20 61 20 63 6f 72 65 69 6d 61 67 65 20 69 6e 20 61 20 66 69 6c 65 20 77 69 74 68   ┆erate a coreimage in a file with┆
0x2c2c0…2c2e0 20 74 68 65 20 6e 61 6d 65 20 63 6f 72 65 69 6d 61 67 65 20 0a 63 6f 6e 74 61 69 6e 69 6e 67 20   ┆ the name coreimage  containing ┆
0x2c2e0…2c300 28 61 6c 6c 29 20 74 68 65 20 6f 62 6a 65 63 74 20 70 72 6f 67 72 61 6d 28 73 29 20 69 6e 20 74   ┆(all) the object program(s) in t┆
0x2c300…2c320 68 65 20 66 69 6c 65 73 20 65 78 70 6c 69 63 69 74 6c 79 20 0a 6d 65 6e 74 69 6f 6e 65 64 2c 20   ┆he files explicitly  mentioned, ┆
0x2c320…2c340 65 78 74 65 6e 64 65 64 20 62 79 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 6f 62 6a 65 63 74   ┆extended by the necessary object┆
0x2c340…2c360 20 70 72 6f 67 72 61 6d 73 20 66 72 6f 6d 20 74 68 65 20 0a 6c 69 62 72 61 72 79 20 66 69 6c 65   ┆ programs from the  library file┆
0x2c360…2c380 20 73 74 64 6c 69 62 2c 20 77 68 69 63 68 20 63 6f 6e 74 61 69 6e 73 20 61 6c 6c 20 73 74 61 6e   ┆ stdlib, which contains all stan┆
0x2c380…2c3a0 64 61 72 64 20 72 75 6e 74 69 6d 65 20 72 6f 75 74 69 6e 65 73 20 28 6c 69 6e 6b 2c 20 0a 63 72   ┆dard runtime routines (link,  cr┆
0x2c3a0…2c3c0 65 61 74 65 2c 20 2e 2e 2e 2e 29 2e 20 0d 0a 0d 0a 54 68 65 20 63 6f 72 65 69 6d 61 67 65 20 77   ┆eate, ....).     The coreimage w┆
0x2c3c0…2c3e0 69 6c 6c 20 73 74 61 72 74 20 69 6e 20 6d 65 6d 6f 72 79 20 6d 6f 64 75 6c 65 20 63 30 2c 20 64   ┆ill start in memory module c0, d┆
0x2c3e0…2c400 69 73 70 6c 61 63 65 6d 65 6e 74 20 32 35 36 2c 20 61 73 20 0a 64 65 6d 61 6e 64 65 64 20 62 79   ┆isplacement 256, as  demanded by┆
0x2c400…2c420 20 74 68 65 20 42 4f 4f 54 20 70 72 6f 67 72 61 6d 2e 20 0d 0a 0d 0a 41 20 73 75 70 70 6c 65 6d   ┆ the BOOT program.     A supplem┆
0x2c420…2c440 65 6e 74 61 72 79 20 6c 6f 61 64 65 72 6d 61 70 20 69 73 20 70 72 69 6e 74 65 64 20 28 73 65 65   ┆entary loadermap is printed (see┆
0x2c440…2c460 20 74 68 65 20 65 78 61 6d 70 6c 65 20 61 62 6f 76 65 29 2e 20 0a a1 45 78 61 6d 70 6c 65 20 31   ┆ the example above).  АExample 1┆
0x2c460…2c480 30 2e 20 20 4c 6f 61 64 6d 61 70 20 66 72 6f 6d 20 43 52 4f 53 53 4c 49 4e 4b 20 0d 0a 0d 0a 0d   ┆0.  Loadmap from CROSSLINK      ┆
0x2c480…2c4a0 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a a1 45 72 72 6f 72 1f 6d 65 73 73 61 67 65 73 1f 66   ┆               АError messages f┆
0x2c4a0…2c4c0 72 6f 6d 1f 43 52 4f 53 53 4c 49 4e 4b 20 0d 0a 0d 0a e1 54 68 65 20 70 6f 73 73 69 62 6c 65 20   ┆rom CROSSLINK     рThe possible ┆
0x2c4c0…2c4e0 65 72 72 6f 72 2f 77 61 72 6e 69 6e 67 20 6d 65 73 73 61 67 65 73 20 61 72 65 3a 20 0d 0a 0d 0a   ┆error/warning messages are:     ┆
0x2c4e0…2c500 8c 8a 90 0a 4e 6f 20 6f 75 74 66 69 6c 65 20 73 70 65 63 69 66 69 65 64 20 45 72 72 6f 72 20 69   ┆їіљ No outfile specified Error i┆
0x2c500…2c520 6e 20 63 72 6f 73 73 6c 69 6e 6b 20 45 72 72 6f 72 20 69 6e 20 63 61 6c 6c 20 6f 66 20 63 72 6f   ┆n crosslink Error in call of cro┆
0x2c520…2c540 73 73 6c 69 6e 6b 3b 20 0a 70 61 72 61 6d 65 74 65 72 20 6e 75 6d 62 65 72 20 4e 4e 20 49 6c 6c   ┆sslink;  parameter number NN Ill┆
0x2c540…2c560 65 67 61 6c 20 68 65 78 61 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 20 69 6e 20 63 61 6c 6c 3b   ┆egal hexadecimal number in call;┆
0x2c560…2c580 20 70 61 72 61 6d 65 74 65 72 20 0a 6e 75 6d 62 65 72 20 4e 4e 20 42 61 64 20 76 65 72 73 69 6f   ┆ parameter  number NN Bad versio┆
0x2c580…2c5a0 6e 2c 20 72 65 63 6f 6d 70 69 6c 65 20 4e 4e 4e 4e 4e 20 79 65 73 20 6f 72 20 6e 6f 20 65 78 70   ┆n, recompile NNNNN yes or no exp┆
0x2c5a0…2c5c0 65 63 74 65 64 20 61 66 74 65 72 20 0a 22 64 65 73 63 72 2e 22 20 49 6c 6c 65 67 61 6c 20 63 6f   ┆ected after  "descr." Illegal co┆
0x2c5c0…2c5e0 6e 74 65 6e 74 73 20 6f 66 20 6f 62 6a 65 63 74 20 6f 72 20 6c 69 62 72 61 72 79 20 66 69 6c 65   ┆ntents of object or library file┆
0x2c5e0…2c600 20 54 6f 6f 20 6d 61 6e 79 20 6d 6f 64 75 6c 65 73 2c 20 0a 28 6d 6f 72 65 20 74 68 61 6e 20 32   ┆ Too many modules,  (more than 2┆
0x2c600…2c620 30 30 29 20 49 6c 6c 65 67 61 6c 20 76 61 6c 75 65 20 6f 66 20 22 73 74 61 72 74 22 2d 70 61 72   ┆00) Illegal value of "start"-par┆
0x2c620…2c640 61 6d 65 74 65 72 3b 20 70 61 72 61 6d 65 74 65 72 20 6e 75 6d 62 65 72 20 0a 4e 4e 20 54 6f 6f   ┆ameter; parameter number  NN Too┆
0x2c640…2c660 20 6d 61 6e 79 20 66 6f 72 6d 61 6c 20 70 61 72 61 6d 65 74 65 72 73 2c 20 6d 6f 64 75 6c 65 3a   ┆ many formal parameters, module:┆
0x2c660…2c680 20 4e 4e 4e 4e 4e 20 79 65 73 2c 20 6e 6f 20 6f 72 20 0a 79 65 73 2e 3c 6e 75 6d 62 65 72 3e 20   ┆ NNNNN yes, no or  yes.<number> ┆
0x2c680…2c6a0 65 78 70 65 63 74 65 64 20 61 66 74 65 72 20 22 70 72 69 6e 74 2e 22 20 55 6e 6b 6e 6f 77 6e 20   ┆expected after "print." Unknown ┆
0x2c6a0…2c6c0 6f 70 74 69 6f 6e 3b 20 70 61 72 61 6d 65 74 65 72 20 0a 6e 75 6d 62 65 72 20 4e 4e 20 4e 61 6d   ┆option; parameter  number NN Nam┆
0x2c6c0…2c6e0 65 20 65 78 70 65 63 74 65 64 20 61 66 74 65 72 20 22 6c 69 62 2e 22 3b 20 70 61 72 61 6d 65 74   ┆e expected after "lib."; paramet┆
0x2c6e0…2c700 65 72 20 6e 75 6d 62 65 72 20 4e 4e 20 0a 49 6e 63 6f 6e 73 69 73 74 65 6e 63 79 20 69 6e 20 6c   ┆er number NN  Inconsistency in l┆
0x2c700…2c720 6f 61 64 65 72 20 6d 61 70 20 79 65 73 20 6f 72 20 6e 6f 20 65 78 70 65 63 74 65 64 20 61 66 74   ┆oader map yes or no expected aft┆
0x2c720…2c740 65 72 20 22 6d 61 70 2e 22 20 79 65 73 20 6f 72 20 0a 6e 6f 20 65 78 70 65 63 74 65 64 20 61 66   ┆er "map." yes or  no expected af┆
0x2c740…2c760 65 72 20 22 62 69 6e 64 2e 22 20 22 62 69 6e 64 2e 79 65 73 22 20 72 65 71 75 69 72 65 64 20 62   ┆er "bind." "bind.yes" required b┆
0x2c760…2c780 79 20 52 43 33 35 30 32 2f 32 20 0d 0a 0d 0a 0d 0a 0d 0a 16 53 43 0d 0a 47 65 6e 65 72 61 74 69   ┆y RC3502/2          SC  Generati┆
0x2c780…2c7a0 6e 67 20 61 6e 20 46 50 41 20 41 75 74 6f 6c 6f 61 64 66 69 6c 65 20 20 20 20 20 20 0d 0a 41 73   ┆ng an FPA Autoloadfile        As┆
0x2c7a0…2c7c0 73 75 6d 65 20 63 6f 72 65 69 6d 61 67 65 20 68 61 73 20 62 65 65 6e 20 67 65 6e 65 72 61 74 65   ┆sume coreimage has been generate┆
0x2c7c0…2c7e0 64 20 62 79 20 43 52 4f 53 53 4c 49 4e 4b 2e 20 0d 0a 0d 0a 54 68 65 20 63 61 6c 6c 3a 20 0d 0a   ┆d by CROSSLINK.     The call:   ┆
0x2c7e0…2c800 0d 0a 20 20 20 20 3c 6f 75 74 66 69 6c 65 3e 20 3d 20 63 72 63 31 36 20 63 6f 72 65 69 6d 61 67   ┆      <outfile> = crc16 coreimag┆
0x2c800…2c820 65 20 0d 0a 0d 0a 77 69 6c 6c 20 67 65 6e 65 72 61 74 65 20 61 20 66 69 6c 65 20 77 69 74 68 20   ┆e     will generate a file with ┆
0x2c820…2c840 74 68 65 20 63 6f 72 72 65 63 74 20 66 6f 72 6d 61 74 20 66 6f 72 20 74 68 65 20 52 43 38 30 30   ┆the correct format for the RC800┆
0x2c840…2c860 30 20 0a 41 55 54 4f 4c 4f 41 44 2d 70 72 6f 67 72 61 6d 2e 20 0d 0a 0d 0a 49 66 20 74 68 65 20   ┆0  AUTOLOAD-program.     If the ┆
0x2c860…2c880 6e 61 6d 65 20 6f 66 20 74 68 65 20 6f 75 74 66 69 6c 65 20 69 73 20 74 68 65 20 6e 61 6d 65 20   ┆name of the outfile is the name ┆
0x2c880…2c8a0 6f 66 20 61 20 6d 61 69 6e 70 72 6f 63 65 73 73 2c 20 74 68 65 20 43 52 43 31 36 20 0a 70 72 6f   ┆of a mainprocess, the CRC16  pro┆
0x2c8a0…2c8c0 67 72 61 6d 20 6f 75 74 70 75 74 73 20 64 69 72 65 63 74 6c 79 20 74 6f 20 74 68 65 20 6d 61 69   ┆gram outputs directly to the mai┆
0x2c8c0…2c8e0 6e 70 72 6f 63 65 73 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 61 75 74 6f 6c 6f   ┆nprocess according to the autolo┆
0x2c8e0…2c900 61 64 20 0a 70 72 6f 74 6f 63 6f 6c 2e 20 0d 0a 16 53 61 0d 0a 43 4f 4d 50 4c 45 54 45 20 4c 49   ┆ad  protocol.    Sa  COMPLETE LI┆
0x2c900…2c920 53 54 20 4f 46 20 4c 41 4e 47 55 41 47 45 20 53 59 4d 42 4f 4c 53 20 20 20 0d 0a 41 4e 44 20 20   ┆ST OF LANGUAGE SYMBOLS     AND  ┆
0x2c920…2c940 20 20 20 45 4e 44 4c 4f 4f 50 20 4c 4f 4f 50 20 20 20 20 53 48 49 46 54 20 41 52 52 41 59 20 20   ┆   ENDLOOP LOOP    SHIFT ARRAY  ┆
0x2c940…2c960 20 45 58 49 54 20 20 20 20 4d 4f 44 20 20 20 20 20 0a 54 48 45 4e 20 20 20 20 41 53 20 20 20 20   ┆ EXIT    MOD      THEN    AS    ┆
0x2c960…2c980 20 20 45 58 49 54 4c 4f 4f 50 4e 4f 54 20 20 20 20 20 54 4f 20 20 20 20 20 20 20 20 42 45 47 49   ┆  EXITLOOPNOT     TO        BEGI┆
0x2c980…2c9a0 4e 20 20 20 45 58 50 4f 52 54 20 0a 2a 2a 29 20 20 20 20 20 20 20 20 4f 46 20 20 20 20 20 20 54   ┆N   EXPORT  **)        OF      T┆
0x2c9a0…2c9c0 59 50 45 20 20 20 20 20 20 42 45 47 49 4e 42 4f 44 59 20 2a 29 20 20 20 20 20 20 45 58 54 45 52   ┆YPE      BEGINBODY *)      EXTER┆
0x2c9c0…2c9e0 4e 41 4c 4f 52 20 20 20 20 20 20 0a 54 59 50 45 53 49 5a 45 20 43 41 53 45 20 20 20 20 46 4f 52   ┆NALOR       TYPESIZE CASE    FOR┆
0x2c9e0…2ca00 20 20 20 20 20 4f 54 48 45 52 57 49 53 45 20 20 20 20 20 20 20 20 20 55 4e 54 49 4c 20 43 48 41   ┆     OTHERWISE         UNTIL CHA┆
0x2ca00…2ca20 4e 4e 45 4c 20 0a 46 4f 52 57 41 52 44 20 50 41 43 4b 45 44 20 20 56 41 52 20 20 20 20 20 20 43   ┆NNEL  FORWARD PACKED  VAR      C┆
0x2ca20…2ca40 4f 4e 53 54 20 20 20 46 55 4e 43 54 49 4f 4e 50 4f 4f 4c 20 20 20 20 0a 56 41 52 53 49 5a 45 20   ┆ONST   FUNCTIONPOOL     VARSIZE ┆
0x2ca40…2ca60 43 4f 4e 54 49 4e 55 45 4c 4f 4f 50 20 20 20 20 20 20 47 4f 54 4f 20 20 20 20 50 52 45 46 49 58   ┆CONTINUELOOP      GOTO    PREFIX┆
0x2ca60…2ca80 20 20 57 48 49 4c 45 20 20 20 20 44 49 56 20 20 20 20 20 0a 49 46 20 20 20 20 20 20 50 52 4f 43   ┆  WHILE    DIV      IF      PROC┆
0x2ca80…2caa0 45 44 55 52 45 20 20 20 20 20 20 20 20 20 57 49 54 48 20 20 20 20 44 4f 20 20 20 20 20 20 49 4e   ┆EDURE         WITH    DO      IN┆
0x2caa0…2cac0 20 20 20 20 20 20 50 52 4f 43 45 53 53 20 0a 58 4f 52 20 20 20 20 20 20 44 4f 57 4e 54 4f 20 20   ┆      PROCESS  XOR      DOWNTO  ┆
0x2cac0…2cae0 4c 41 42 45 4c 20 20 20 52 45 43 4f 52 44 20 20 20 20 20 20 20 45 4c 53 45 20 20 20 20 4c 4f 43   ┆LABEL   RECORD       ELSE    LOC┆
0x2cae0…2cb00 4b 20 20 20 20 0a 52 45 50 45 41 54 20 20 20 20 20 20 20 45 4e 44 20 20 20 20 20 4c 4f 43 4b 4d   ┆K     REPEAT       END     LOCKM┆
0x2cb00…2cb20 45 53 20 53 45 54 0d 0a 0d 0a 0d 0a 0d 0a 2b 20 20 20 20 20 20 2d 20 20 20 20 20 20 2a 20 20 20   ┆ES SET        +      -      *   ┆
0x2cb20…2cb40 20 20 20 2f 20 20 20 20 20 20 22 20 20 20 20 20 20 27 20 20 20 20 20 20 3c 20 20 20 20 20 20 3e   ┆   /      "      '      <      >┆
0x2cb40…2cb60 20 3c 3e 20 20 20 20 20 3c 3d 20 20 20 20 20 0a 3e 3d 20 20 20 20 20 28 20 20 20 20 20 20 29 20   ┆ <>     <=      >=     (      ) ┆
0x2cb60…2cb80 20 20 20 20 20 28 2e 20 20 20 20 20 2e 29 20 20 20 20 20 28 3a 20 3a 29 20 20 20 20 20 3d 20 20   ┆     (.     .)     (: :)     =  ┆
0x2cb80…2cba0 20 20 20 20 3a 3d 20 20 20 20 20 3a 3d 3a 20 20 20 20 2e 20 20 20 20 20 20 0a 2c 20 20 20 20 20   ┆    :=     :=:    .       ,     ┆
0x2cba0…2cbc0 20 3a 20 20 20 20 20 20 3b 20 20 20 20 20 2a 2a 2a 20 20 20 20 28 2a 20 20 20 20 20 2a 29 20 20   ┆ :      ;     ***    (*     *)  ┆
0x2cbc0…2cbe0 20 20 20 3c 2a 20 20 20 20 20 2a 3e 20 20 20 20 20 2d 2d 20 20 20 20 20 21 20 20 20 20 20 20 0a   ┆   <*     *>     --     !       ┆
0x2cbe0…2cc00 3f 20 2e 2e 20 20 20 20 20 24 20 20 20 20 20 20 26 20 0d 0a 0d 0a 20 2a 29 20 72 65 73 65 72 76   ┆? ..     $      &      *) reserv┆
0x2cc00…2cc20 65 64 20 66 6f 72 20 69 6e 74 65 72 6e 61 6c 20 75 73 65 2e 20 2a 2a 29 20 6f 6e 6c 79 20 66 6f   ┆ed for internal use. **) only fo┆
0x2cc20…2cc40 72 20 5a 38 30 20 76 65 72 73 69 6f 6e 2e 20 0d 0a 0d 0a 0d 0a 16 53 61 0d 0a 50 52 45 44 45 46   ┆r Z80 version.        Sa  PREDEF┆
0x2cc40…2cc60 49 4e 45 44 20 43 4f 4e 53 54 41 4e 54 53 2c 20 54 59 50 45 53 2c 20 41 4e 44 20 56 41 52 49 41   ┆INED CONSTANTS, TYPES, AND VARIA┆
0x2cc60…2cc80 42 4c 45 53 20 20 20 20 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 73 74 61 6e 74   ┆BLES      The following constant┆
0x2cc80…2cca0 73 20 61 6e 64 20 74 79 70 65 73 20 61 72 65 20 70 72 65 64 65 66 69 6e 65 64 3a 20 0d 0a 0d 0a   ┆s and types are predefined:     ┆
0x2cca0…2ccc0 8c 89 b0 0a 43 4f 4e 53 54 20 0d 0a 0d 0a 61 6c 66 61 6c 65 6e 67 74 68 20 20 20 20 20 20 3d 20   ┆їЅ░ CONST     alfalength      = ┆
0x2ccc0…2cce0 31 32 3b 20 0d 0a 0d 0a 6d 61 78 70 72 69 6f 72 69 74 79 20 20 20 20 20 3d 20 30 3b 20 6d 69 6e   ┆12;     maxpriority     = 0; min┆
0x2cce0…2cd00 70 72 69 6f 72 69 74 79 20 20 20 20 20 3d 20 2d 32 3b 20 73 74 64 70 72 69 6f 72 69 74 79 20 20   ┆priority     = -2; stdpriority  ┆
0x2cd00…2cd20 20 20 20 3d 20 0a 6d 69 6e 70 72 69 6f 72 69 74 79 3b 20 0d 0a 0d 0a 62 72 65 61 6b 5f 62 79 5f   ┆   =  minpriority;     break_by_┆
0x2cd20…2cd40 66 61 74 68 65 72 20 3d 20 34 37 3b 20 0d 0a 0d 0a 6d 61 78 69 6e 74 3d 20 33 32 37 36 37 3b 20   ┆father = 47;     maxint= 32767; ┆
0x2cd40…2cd60 6d 69 6e 69 6e 74 3d 20 2d 33 32 37 36 38 3b 20 0d 0a 0d 0a 54 59 50 45 20 0d 0a 0d 0a 62 69 74   ┆minint= -32768;     TYPE     bit┆
0x2cd60…2cd80 20 20 20 20 20 3d 20 30 2e 2e 31 3b 20 62 79 74 65 20 20 20 20 3d 20 30 2e 2e 32 35 35 3b 20 0d   ┆     = 0..1; byte    = 0..255;  ┆
0x2cd80…2cda0 0a 0d 0a 64 6f 75 62 6c 65 20 3d 20 52 45 43 4f 52 44 20 20 20 3f 2c 20 3f 20 3a 20 69 6e 74 65   ┆   double = RECORD   ?, ? : inte┆
0x2cda0…2cdc0 67 65 72 3b 20 45 4e 44 3b 20 0d 0a 0d 0a 62 6f 6f 6c 65 61 6e 20 3d 20 28 66 61 6c 73 65 2c 74   ┆ger; END;     boolean = (false,t┆
0x2cdc0…2cde0 72 75 65 29 3b 20 20 0d 0a 0d 0a 63 68 61 72 20 20 20 20 3d 28 20 28 2a 20 30 20 20 20 20 31 20   ┆rue);      char    =( (* 0    1 ┆
0x2cde0…2ce00 20 20 20 32 20 20 20 20 33 20 20 20 20 34 20 20 20 20 35 20 20 20 20 36 20 20 20 20 37 20 20 20   ┆   2    3    4    5    6    7   ┆
0x2ce00…2ce20 20 38 20 20 20 20 39 20 20 2a 29 20 20 20 0a 28 2a 20 20 20 30 20 2a 29 20 20 20 6e 75 6c 2c 20   ┆ 8    9  *)    (*   0 *)   nul, ┆
0x2ce20…2ce40 73 6f 68 2c 20 73 74 78 2c 20 65 74 78 2c 20 65 6f 74 2c 20 65 6e 71 2c 20 61 63 6b 2c 20 62 65   ┆soh, stx, etx, eot, enq, ack, be┆
0x2ce40…2ce60 6c 2c 20 20 62 73 2c 20 20 68 74 2c 20 28 2a 20 20 31 30 20 2a 29 20 20 20 20 0a 6e 6c 2c 20 20   ┆l,  bs,  ht, (*  10 *)     nl,  ┆
0x2ce60…2ce80 76 74 2c 20 20 66 66 2c 20 20 63 72 2c 20 20 73 6f 2c 20 20 73 69 2c 20 64 6c 65 2c 20 64 63 31   ┆vt,  ff,  cr,  so,  si, dle, dc1┆
0x2ce80…2cea0 2c 20 64 63 32 2c 20 64 63 33 2c 20 28 2a 20 20 32 30 20 2a 29 20 20 20 64 63 34 2c 20 6e 61 6b   ┆, dc2, dc3, (*  20 *)   dc4, nak┆
0x2cea0…2cec0 2c 20 0a 73 79 6e 2c 20 65 74 62 2c 20 63 61 6e 2c 20 20 65 6d 2c 20 73 75 62 2c 20 65 73 63 2c   ┆,  syn, etb, can,  em, sub, esc,┆
0x2cec0…2cee0 20 20 66 73 2c 20 20 67 73 2c 20 28 2a 20 20 33 30 20 2a 29 20 20 20 20 72 73 2c 20 20 75 73 2c   ┆  fs,  gs, (*  30 *)    rs,  us,┆
0x2cee0…2cf00 20 20 73 70 2c 20 20 20 3f 2c 20 20 20 0a 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20   ┆  sp,   ?,    ?,   ?,   ?,   ?, ┆
0x2cf00…2cf20 20 20 3f 2c 20 20 20 3f 2c 20 28 2a 20 20 34 30 20 2a 29 20 20 20 20 20 3f 2c 20 20 20 3f 2c 20   ┆  ?,   ?, (*  40 *)     ?,   ?, ┆
0x2cf20…2cf40 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 0a 3f 2c 20 20 20 3f 2c 20 20   ┆  ?,   ?,   ?,   ?,    ?,   ?,  ┆
0x2cf40…2cf60 20 3f 2c 20 20 20 3f 2c 20 28 2a 20 20 35 30 20 2a 29 20 20 20 20 20 3f 2c 20 20 20 3f 2c 20 20   ┆ ?,   ?, (*  50 *)     ?,   ?,  ┆
0x2cf60…2cf80 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 0a   ┆ ?,   ?,   ?,   ?,   ?,   ?,    ┆
0x2cf80…2cfa0 3f 2c 20 20 20 3f 2c 20 28 2a 20 20 36 30 20 2a 29 20 20 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20   ┆?,   ?, (*  60 *)     ?,   ?,   ┆
0x2cfa0…2cfc0 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c   ┆?,   ?,   ?,   ?,   ?,   ?,   ?,┆
0x2cfc0…2cfe0 20 20 20 3f 2c 20 0a 28 2a 20 20 37 30 20 2a 29 20 20 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f   ┆   ?,  (*  70 *)     ?,   ?,   ?┆
0x2cfe0…2d000 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20   ┆,   ?,   ?,   ?,   ?,   ?,   ?, ┆
0x2d000…2d020 20 20 3f 2c 20 28 2a 20 20 38 30 20 0a 2a 29 20 20 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c   ┆  ?, (*  80  *)     ?,   ?,   ?,┆
0x2d020…2d040 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20   ┆   ?,   ?,   ?,   ?,   ?,   ?,  ┆
0x2d040…2d060 20 3f 2c 20 28 2a 20 20 39 30 20 2a 29 20 20 20 20 20 0a 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20   ┆ ?, (*  90 *)      ?,   ?,   ?, ┆
0x2d060…2d080 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20   ┆  ?,   ?,   ?,   ?,   ?,   ?,   ┆
0x2d080…2d0a0 3f 2c 20 28 2a 20 31 30 30 20 2a 29 20 20 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 0a 3f 2c 20 20   ┆?, (* 100 *)     ?,   ?,    ?,  ┆
0x2d0a0…2d0c0 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f   ┆ ?,   ?,   ?,   ?,   ?,   ?,   ?┆
0x2d0c0…2d0e0 2c 20 28 2a 20 31 31 30 20 2a 29 20 20 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f   ┆, (* 110 *)     ?,   ?,   ?,   ?┆
0x2d0e0…2d100 2c 20 20 20 0a 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c   ┆,    ?,   ?,   ?,   ?,   ?,   ?,┆
0x2d100…2d120 20 28 2a 20 31 32 30 20 2a 29 20 20 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c   ┆ (* 120 *)     ?,   ?,   ?,   ?,┆
0x2d120…2d140 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 0a 3f 2c 20 64 65 6c 20 29 3b 20 0d 0a 0d 0a 61 6c 66 61   ┆   ?,   ?,    ?, del );     alfa┆
0x2d140…2d160 20 3d 20 41 52 52 41 59 20 28 31 2e 2e 61 6c 66 61 6c 65 6e 67 74 68 29 20 4f 46 20 63 68 61 72   ┆ = ARRAY (1..alfalength) OF char┆
0x2d160…2d180 3b 20 0d 0a 0d 0a 61 64 61 6d 73 65 6d 74 79 70 65 20 3d 20 28 61 64 61 6d 73 65 6d 2c 20 6f 70   ┆;     adamsemtype = (adamsem, op┆
0x2d180…2d1a0 65 72 61 74 6f 72 73 65 6d 2c 20 6c 6f 61 64 65 72 73 65 6d 2c 20 20 20 20 20 20 67 6c 6f 62 61   ┆eratorsem, loadersem,      globa┆
0x2d1a0…2d1c0 6c 73 65 6d 2c 20 0a 6c 6f 61 64 64 72 69 76 65 72 73 65 6d 2c 20 70 61 78 73 65 6d 2c 20 20 20   ┆lsem,  loaddriversem, paxsem,   ┆
0x2d1c0…2d1e0 20 20 20 72 65 73 74 61 72 74 73 65 6d 2c 20 20 20 20 20 20 0a 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f   ┆   restartsem,       ?,?,?,?,?,?┆
0x2d1e0…2d200 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 20 20 20 20 20 20 3f 2c 3f 2c 3f   ┆,?,?,?,?,?,?,?,?,?,?,      ?,?,?┆
0x2d200…2d220 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 29 3b 20 61 64 61 6d 76 65 63 74 6f 72 20 3d 20 0a 41 52 52   ┆,?,?,?,?,?,?); adamvector =  ARR┆
0x2d220…2d240 41 59 20 28 61 64 61 6d 73 65 6d 74 79 70 65 29 20 4f 46 20 20 20 73 65 6d 61 70 68 6f 72 65 3b   ┆AY (adamsemtype) OF   semaphore;┆
0x2d240…2d260 20 73 79 73 74 65 6d 5f 76 65 63 74 6f 72 20 3d 20 21 61 64 61 6d 76 65 63 74 6f 72 3b 20 0d 0a   ┆ system_vector = !adamvector;   ┆
0x2d260…2d280 0d 0a 61 63 74 69 76 61 74 69 6f 6e 20 3d 20 28 61 5f 69 6e 74 65 72 72 75 70 74 2c 20 61 5f 73   ┆  activation = (a_interrupt, a_s┆
0x2d280…2d2a0 65 6d 61 70 68 6f 72 65 2c 20 61 5f 64 65 6c 61 79 29 3b 20 0d 0a 0d 0a 6d 65 73 73 61 67 65 5f   ┆emaphore, a_delay);     message_┆
0x2d2a0…2d2c0 68 65 61 64 65 72 20 3d 20 20 20 20 20 52 45 43 4f 52 44 20 20 20 20 20 2e 20 20 20 20 20 2e 20   ┆header =     RECORD     .     . ┆
0x2d2c0…2d2e0 20 20 20 75 31 2c 75 32 2c 75 33 2c 75 34 20 3a 20 62 79 74 65 3b 20 20 20 20 0a 6d 65 73 73 61   ┆   u1,u2,u3,u4 : byte;     messa┆
0x2d2e0…2d300 67 65 6b 69 6e 64 20 3a 20 21 69 6e 74 65 67 65 72 3b 20 20 20 20 73 69 7a 65 20 20 20 20 20 20   ┆gekind : !integer;    size      ┆
0x2d300…2d320 20 20 3a 20 21 69 6e 74 65 67 65 72 3b 20 20 20 20 20 2e 20 20 20 20 20 2e 20 45 4e 44 3b 20 0d   ┆  : !integer;     .     . END;  ┆
0x2d320…2d340 0a 0d 0a 72 65 66 65 72 65 6e 63 65 20 3d 20 1f 6d 65 73 73 61 67 65 5f 68 65 61 64 65 72 3b 20   ┆   reference =  message_header; ┆
0x2d340…2d360 0d 0a 0d 0a 63 6f 64 65 64 5f 64 61 74 65 20 3d 20 50 41 43 4b 45 44 20 52 45 43 4f 52 44 20 20   ┆    coded_date = PACKED RECORD  ┆
0x2d360…2d380 20 20 20 20 20 79 65 61 72 5f 61 66 74 65 72 5f 31 39 30 30 20 20 20 3a 20 30 2e 2e 31 32 37 3b   ┆     year_after_1900   : 0..127;┆
0x2d380…2d3a0 20 20 20 20 20 20 20 0a 6d 6f 6e 74 68 20 20 20 3a 20 30 2e 2e 31 32 3b 20 20 20 20 20 20 20 64   ┆        month   : 0..12;       d┆
0x2d3a0…2d3c0 61 79 20 20 20 20 20 3a 20 30 2e 2e 33 31 3b 20 20 20 20 45 4e 44 3b 20 0d 0a 0d 0a 8c 89 b0 0a   ┆ay     : 0..31;    END;     їЅ░ ┆
0x2d3c0…2d3e0 63 6f 64 65 64 5f 74 69 6d 65 20 3d 20 50 41 43 4b 45 44 20 52 45 43 4f 52 44 20 20 20 20 20 20   ┆coded_time = PACKED RECORD      ┆
0x2d3e0…2d400 20 63 6f 6d 70 69 6c 65 72 5f 76 65 72 73 69 6f 6e 20 20 3a 20 30 2e 2e 33 31 3b 20 20 20 20 20   ┆ compiler_version  : 0..31;     ┆
0x2d400…2d420 20 20 0a 68 6f 75 72 20 20 20 20 3a 20 30 2e 2e 32 33 3b 20 20 20 20 20 20 20 6d 69 6e 75 74 65   ┆   hour    : 0..23;       minute┆
0x2d420…2d440 20 20 3a 20 30 2e 2e 35 39 3b 20 20 20 20 45 4e 44 3b 20 0d 0a 0d 0a 63 6f 64 65 64 5f 73 65 63   ┆  : 0..59;    END;     coded_sec┆
0x2d440…2d460 73 20 3d 20 50 41 43 4b 45 44 20 52 45 43 4f 52 44 20 20 20 20 20 20 20 73 65 63 20 20 20 20 20   ┆s = PACKED RECORD       sec     ┆
0x2d460…2d480 3a 20 30 2e 2e 35 39 3b 20 20 20 20 20 20 20 6d 73 65 63 20 20 20 20 0a 3a 20 30 2e 2e 39 39 39   ┆: 0..59;       msec     : 0..999┆
0x2d480…2d4a0 3b 20 20 20 20 45 4e 44 3b 20 0d 0a 0d 0a 63 6f 64 65 5f 69 6e 63 20 20 20 3d 20 50 41 43 4b 45   ┆;    END;     code_inc   = PACKE┆
0x2d4a0…2d4c0 44 20 52 45 43 4f 52 44 20 20 20 20 20 20 20 64 61 79 73 20 20 20 20 3a 20 30 2e 2e 33 31 3b 20   ┆D RECORD       days    : 0..31; ┆
0x2d4c0…2d4e0 20 20 20 20 20 20 68 6f 75 72 73 20 20 20 3a 20 0a 30 2e 2e 32 33 3b 20 20 20 20 20 20 20 6d 69   ┆      hours   :  0..23;       mi┆
0x2d4e0…2d500 6e 73 20 20 20 20 3a 20 30 2e 2e 35 39 3b 20 20 20 20 20 20 20 73 65 63 73 20 20 20 20 3a 20 30   ┆ns    : 0..59;       secs    : 0┆
0x2d500…2d520 2e 2e 35 39 3b 20 20 20 20 20 20 20 6d 73 65 63 73 20 20 20 3a 20 0a 30 2e 2e 39 39 39 3b 20 20   ┆..59;       msecs   :  0..999;  ┆
0x2d520…2d540 20 20 20 45 4e 44 3b 20 0d 0a 0d 0a 64 65 6c 61 79 74 79 70 65 20 20 3d 20 52 45 43 4f 52 44 20   ┆   END;     delaytype  = RECORD ┆
0x2d540…2d560 20 20 20 20 20 20 70 72 65 76 5f 64 61 74 65 20 20 20 20 20 20 20 20 20 3a 20 63 6f 64 65 64 5f   ┆      prev_date         : coded_┆
0x2d560…2d580 64 61 74 65 3b 20 20 20 20 20 20 20 0a 70 72 65 76 5f 74 69 6d 65 20 20 20 20 20 20 20 20 20 3a   ┆date;        prev_time         :┆
0x2d580…2d5a0 20 63 6f 64 65 64 5f 74 69 6d 65 3b 20 20 20 20 20 20 20 70 72 65 76 5f 73 65 63 73 20 20 20 20   ┆ coded_time;       prev_secs    ┆
0x2d5a0…2d5c0 20 20 20 20 20 3a 20 0a 63 6f 64 65 64 5f 73 65 63 73 3b 20 20 20 20 20 20 20 69 6e 63 20 20 20   ┆     :  coded_secs;       inc   ┆
0x2d5c0…2d5e0 20 20 3a 20 63 6f 64 65 64 5f 69 6e 63 3b 20 20 20 20 20 45 4e 44 3b 20 20 20 0d 0a 0d 0a 63 6c   ┆  : coded_inc;     END;       cl┆
0x2d5e0…2d600 6f 63 6b 74 79 70 65 20 3d 20 52 45 43 4f 52 44 20 20 20 20 20 64 61 74 65 20 3a 20 63 6f 64 65   ┆ocktype = RECORD     date : code┆
0x2d600…2d620 64 5f 64 61 74 65 3b 20 20 20 20 20 74 69 6d 65 20 3a 20 63 6f 64 65 64 5f 74 69 6d 65 3b 20 20   ┆d_date;     time : coded_time;  ┆
0x2d620…2d640 20 20 20 0a 73 65 63 73 20 3a 20 63 6f 64 65 64 5f 73 65 63 73 3b 20 20 20 45 4e 44 3b 20 27 20   ┆    secs : coded_secs;   END; ' ┆
0x2d640…2d660 0d 0a 0d 0a 69 6e 63 61 72 6e 61 74 69 6f 6e 5f 64 65 73 63 72 69 70 74 6f 72 20 3d 20 20 20 20   ┆    incarnation_descriptor =    ┆
0x2d660…2d680 52 45 43 4f 52 44 20 20 20 20 20 20 20 2e 20 20 20 20 20 20 20 2e 20 20 20 20 20 20 74 69 6d 65   ┆RECORD       .       .      time┆
0x2d680…2d6a0 72 20 3a 20 0a 69 6e 74 65 67 65 72 3b 20 20 20 20 20 20 20 2e 20 20 20 20 20 20 20 2e 20 20 20   ┆r :  integer;       .       .   ┆
0x2d6a0…2d6c0 20 20 20 69 6e 63 6e 61 6d 65 3a 20 61 6c 66 61 3b 20 20 20 20 20 20 20 2e 20 20 20 20 20 20 20   ┆   incname: alfa;       .       ┆
0x2d6c0…2d6e0 2e 20 20 20 20 45 4e 44 3b 20 0d 0a 0d 0a 6c 6f 6f 6b 75 70 5f 64 65 73 63 72 69 70 74 6f 72 5f   ┆.    END;     lookup_descriptor_┆
0x2d6e0…2d700 73 65 67 6d 65 6e 74 20 3d 20 20 20 20 52 45 43 4f 52 44 20 20 20 20 20 20 20 6e 61 6d 65 20 20   ┆segment =    RECORD       name  ┆
0x2d700…2d720 20 20 3a 20 61 6c 66 61 3b 20 20 20 20 20 20 20 0a 64 65 73 63 72 69 70 74 6f 72 5f 6c 65 6e 67   ┆  : alfa;        descriptor_leng┆
0x2d720…2d740 74 68 20 2c 20 28 2a 20 62 79 74 65 73 20 2a 29 20 20 20 20 20 20 20 6e 6f 5f 6f 66 5f 70 61 67   ┆th , (* bytes *)       no_of_pag┆
0x2d740…2d760 65 73 20 20 20 20 20 20 20 2c 20 20 20 20 20 20 20 0a 70 61 67 65 73 69 7a 65 2c 20 28 2a 20 62   ┆es       ,        pagesize, (* b┆
0x2d760…2d780 79 74 65 73 20 2a 29 20 20 20 20 20 20 20 6c 61 73 74 5f 70 61 67 65 5f 6c 65 6e 67 74 68 20 20   ┆ytes *)       last_page_length  ┆
0x2d780…2d7a0 2c 20 28 2a 20 62 79 74 65 73 20 2a 29 20 20 20 20 20 20 20 0a 6b 69 6e 64 20 20 20 20 3a 20 69   ┆, (* bytes *)        kind    : i┆
0x2d7a0…2d7c0 6e 74 65 67 65 72 3b 20 20 20 20 20 20 20 28 2a 20 31 3a 20 70 72 6f 63 65 73 73 32 3a 20 70 72   ┆nteger;       (* 1: process2: pr┆
0x2d7c0…2d7e0 6f 63 65 64 75 72 65 33 3a 20 66 75 6e 63 74 69 6f 6e 36 3a 20 64 61 74 61 20 2a 29 20 20 20 20   ┆ocedure3: function6: data *)    ┆
0x2d7e0…2d800 20 20 20 0a 64 65 66 61 75 6c 74 5f 61 70 70 65 74 69 74 65 20 20 2c 20 20 20 20 20 20 20 6c 61   ┆    default_appetite  ,       la┆
0x2d800…2d820 73 74 5f 70 61 72 61 6d 5f 6f 66 66 73 65 74 20 2c 20 20 20 20 20 20 20 6e 6f 5f 6f 66 5f 70 61   ┆st_param_offset ,       no_of_pa┆
0x2d820…2d840 72 61 6d 73 20 20 20 20 20 20 0a 3a 20 69 6e 74 65 67 65 72 3b 20 20 20 20 20 20 20 64 61 74 65   ┆rams       : integer;       date┆
0x2d840…2d860 20 20 20 20 3a 20 63 6f 64 65 64 5f 64 61 74 65 3b 20 20 20 20 20 20 20 74 69 6d 65 20 20 20 20   ┆    : coded_date;       time    ┆
0x2d860…2d880 3a 20 63 6f 64 65 64 5f 74 69 6d 65 3b 20 20 20 20 0a 45 4e 44 3b 20 56 41 52 20 20 20 6f 77 6e   ┆: coded_time;     END; VAR   own┆
0x2d880…2d8a0 3a 20 69 6e 63 61 72 6e 61 74 69 6f 6e 5f 64 65 73 63 72 69 70 74 6f 72 3b 20 0d 0a 0d 0a 54 68   ┆: incarnation_descriptor;     Th┆
0x2d8a0…2d8c0 65 20 76 61 72 69 61 62 6c 65 20 4f 57 4e 2e 49 4e 43 4e 41 4d 45 20 69 73 20 69 6e 69 74 69 61   ┆e variable OWN.INCNAME is initia┆
0x2d8c0…2d8e0 6c 69 7a 65 64 20 62 79 20 74 68 65 20 43 52 45 41 54 45 20 72 6f 75 74 69 6e 65 2e 20 0d 0a 0d   ┆lized by the CREATE routine.    ┆
0x2d8e0…2d900 0a 54 68 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 70 72 65 64 65 66 69 6e 65 64 20 74 79   ┆ The values of the predefined ty┆
0x2d900…2d920 70 65 20 a1 69 6e 74 65 67 65 72 e1 20 63 6f 6e 73 74 69 74 75 74 65 73 20 74 68 65 20 73 75 62   ┆pe Аintegerр constitutes the sub┆
0x2d920…2d940 72 61 6e 67 65 20 0a 6d 69 6e 69 6e 74 2e 2e 6d 61 78 69 6e 74 2e 20 0d 0a 0d 0a 49 6e 20 74 68   ┆range  minint..maxint.     In th┆
0x2d940…2d960 65 20 52 43 33 35 30 32 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 74 68 65 20 66 6f 6c 6c   ┆e RC3502 implementation the foll┆
0x2d960…2d980 6f 77 69 6e 67 20 72 65 6c 61 74 69 6f 6e 73 20 62 65 74 77 65 65 6e 20 74 68 65 20 0a 66 69 65   ┆owing relations between the  fie┆
0x2d980…2d9a0 6c 64 73 20 69 6e 20 61 20 6d 65 73 73 61 67 65 20 68 65 61 64 65 72 20 72 65 66 65 72 72 65 64   ┆lds in a message header referred┆
0x2d9a0…2d9c0 20 62 79 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 76 61 72 69 61 62 6c 65 20 72 20 68 6f 6c   ┆ by the reference variable r hol┆
0x2d9c0…2d9e0 64 3a 20 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆d:     -------------------------┆
0x2d9e0…2da00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 21 20 20   ┆---------------------------- !  ┆
0x2da00…2da20 20 20 20 20 20 20 21 20 20 20 20 20 20 20 21 20 20 20 20 20 20 20 20 0a 21 20 20 20 65 6c 65 6d   ┆      !       !         !   elem┆
0x2da20…2da40 65 6e 74 73 20 21 20 20 20 65 6c 65 6d 65 6e 74 73 20 21 20 21 20 20 20 20 20 20 20 20 21 6d 65   ┆ents !   elements ! !        !me┆
0x2da40…2da60 73 73 61 67 65 21 20 20 20 20 20 20 20 20 21 20 69 6e 20 6d 65 73 73 61 67 65 20 21 20 0a 69 6e   ┆ssage!        ! in message !  in┆
0x2da60…2da80 20 6d 65 73 73 61 67 65 20 21 20 21 20 20 73 69 7a 65 20 20 21 20 6b 69 6e 64 20 20 21 65 6d 70   ┆ message ! !  size  ! kind  !emp┆
0x2da80…2daa0 74 79 28 72 29 21 68 65 61 64 65 72 20 73 74 61 63 6b 21 20 64 61 74 61 20 73 74 61 63 6b 20 21   ┆ty(r)!header stack! data stack !┆
0x2daa0…2dac0 20 2d 2d 2d 2d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆ ---- --------------------------┆
0x2dac0…2dae0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 21 20 20 3e 20 30 20 20   ┆----------------------- !  > 0  ┆
0x2dae0…2db00 20 21 20 20 3e 20 30 20 20 21 20 74 72 75 65 20 20 20 0a 21 20 20 20 20 20 20 20 31 20 20 20 20   ┆ !  > 0  ! true    !       1    ┆
0x2db00…2db20 21 20 20 20 20 20 20 20 31 20 20 20 20 21 20 21 20 20 3e 20 30 20 20 20 21 20 20 3e 20 30 20 20   ┆!       1    ! !  > 0   !  > 0  ┆
0x2db20…2db40 21 20 66 61 6c 73 65 20 20 21 20 20 20 20 20 3e 20 31 20 20 20 20 21 20 20 20 20 20 0a a1 3e e1   ┆! false  !     > 1    !      А>р┆
0x2db40…2db60 20 31 20 20 20 20 21 20 20 64 61 74 61 20 21 20 20 3e 20 30 20 20 20 21 20 20 20 20 30 20 20 21   ┆ 1    !  data !  > 0   !    0  !┆
0x2db60…2db80 20 66 61 6c 73 65 20 20 21 20 20 20 20 20 3e 20 31 20 20 20 20 21 20 20 20 20 20 a1 3e e1 20 31   ┆ false  !     > 1    !     А>р 1┆
0x2db80…2dba0 20 20 20 20 21 20 20 0a 8c 87 f0 0a 6d 65 73 73 61 67 65 20 21 20 20 20 20 20 20 20 20 21 20 20   ┆    !   їЄ  message !        !  ┆
0x2dba0…2dbc0 20 20 20 20 20 21 20 20 20 20 20 20 20 20 21 20 20 21 20 20 21 20 21 20 20 20 20 30 20 20 20 21   ┆     !        !  !  ! !    0   !┆
0x2dbc0…2dbe0 20 20 20 20 30 20 20 21 20 74 72 75 65 20 20 20 21 20 20 20 20 20 20 20 0a 31 20 20 20 20 21 20   ┆    0  ! true   !        1    ! ┆
0x2dbe0…2dc00 20 20 20 20 20 20 30 20 20 20 20 21 20 20 68 65 61 64 65 72 20 21 20 20 20 20 30 20 20 20 21 20   ┆      0    !  header !    0   ! ┆
0x2dc00…2dc20 20 20 20 30 20 20 21 20 66 61 6c 73 65 20 20 21 20 20 20 20 20 3e 20 31 20 20 20 20 21 20 20 20   ┆   0  ! false  !     > 1    !   ┆
0x2dc20…2dc40 20 20 20 20 0a 30 20 20 20 20 21 20 20 6d 65 73 73 61 67 65 20 21 20 20 20 20 20 20 20 20 21 20   ┆     0    !  message !        ! ┆
0x2dc40…2dc60 20 20 20 20 20 20 21 20 20 20 20 20 20 20 20 21 20 20 21 20 20 21 20 21 66 61 63 69 6c 69 74 79   ┆      !        !  !  ! !facility┆
0x2dc60…2dc80 21 20 20 20 20 20 20 20 21 20 20 20 20 20 20 20 20 0a 21 20 20 21 20 20 21 20 20 63 68 61 6e 6e   ┆!       !         !  !  !  chann┆
0x2dc80…2dca0 65 6c 20 21 6d 61 73 6b 20 20 20 20 21 20 20 3c 20 30 20 20 21 20 74 72 75 65 20 20 20 21 20 20   ┆el !mask    !  < 0  ! true   !  ┆
0x2dca0…2dcc0 20 20 20 20 20 31 20 20 20 20 21 20 20 20 20 20 20 20 30 20 20 20 20 0a 21 20 20 6d 65 73 73 61   ┆     1    !       0     !  messa┆
0x2dcc0…2dce0 67 65 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ┆ge -----------------------------┆
0x2dce0…2dd00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 0d 0a 0d 0a 54 68 65   ┆------------------------     The┆
0x2dd00…2dd20 20 27 73 69 7a 65 27 20 66 69 65 6c 64 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 6e 75 6d 62   ┆ 'size' field specifies the numb┆
0x2dd20…2dd40 65 72 20 6f 66 20 77 6f 72 64 73 20 28 31 36 20 62 69 74 73 29 20 6f 66 20 74 68 65 20 0a 61 73   ┆er of words (16 bits) of the  as┆
0x2dd40…2dd60 73 6f 63 69 61 74 65 64 20 6d 65 73 73 61 67 65 20 64 61 74 61 2e 20 54 68 65 20 6d 61 78 69 6d   ┆sociated message data. The maxim┆
0x2dd60…2dd80 75 6d 20 73 69 7a 65 20 61 20 6d 65 73 73 61 67 65 20 63 61 6e 20 74 61 6b 65 20 69 73 20 33 32   ┆um size a message can take is 32┆
0x2dd80…2dda0 20 0a 4b 20 77 6f 72 64 73 2c 20 77 68 65 72 65 20 53 49 5a 45 20 3d 20 2d 33 32 37 36 38 20 28   ┆  K words, where SIZE = -32768 (┆
0x2dda0…2ddc0 6d 69 6e 69 6e 74 29 2e 20 0d 0a 0d 0a 27 46 61 63 69 6c 69 74 79 20 6d 61 73 6b 27 20 6f 72 69   ┆minint).     'Facility mask' ori┆
0x2ddc0…2dde0 67 69 6e 61 74 65 73 20 66 72 6f 6d 20 74 68 65 20 63 61 6c 6c 20 6f 66 20 52 45 53 45 52 56 45   ┆ginates from the call of RESERVE┆
0x2dde0…2de00 43 48 20 28 73 65 65 20 63 68 61 70 74 65 72 20 0a 35 29 2e 20 0d 0a 16 53 61 0d 0a 50 52 45 44   ┆CH (see chapter  5).    Sa  PRED┆
0x2de00…2de20 45 46 49 4e 45 44 20 52 4f 55 54 49 4e 45 53 20 20 20 20 20 20 20 0d 0a 20 20 20 20 46 55 4e 43   ┆EFINED ROUTINES             FUNC┆
0x2de20…2de40 54 49 4f 4e 20 20 61 62 73 28 78 20 3a 20 6e 69 6c 74 79 70 65 29 20 3a 20 6e 69 6c 74 79 70 65   ┆TION  abs(x : niltype) : niltype┆
0x2de40…2de60 3b 20 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 0a 61 6c 6c 6f 63 28 56 41 52 20   ┆; EXTERNAL;PROCEDURE  alloc(VAR ┆
0x2de60…2de80 72 20 3a 20 72 65 66 65 72 65 6e 63 65 3b 20 56 41 52 20 70 20 3a 20 70 6f 6f 6c 20 31 20 3b 20   ┆r : reference; VAR p : pool 1 ; ┆
0x2de80…2dea0 20 20 20 20 20 20 56 41 52 20 73 20 3a 20 73 65 6d 61 70 68 6f 72 65 29 3b 20 0a 45 58 54 45 52   ┆      VAR s : semaphore);  EXTER┆
0x2dea0…2dec0 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 62 72 65 61 6b 28 56 41 52 20 73 68 20 3a 20 73 68 61   ┆NAL;PROCEDURE break(VAR sh : sha┆
0x2dec0…2dee0 64 6f 77 3b 20 65 78 63 6f 64 65 20 3a 20 69 6e 74 65 67 65 72 29 3b 20 0a 45 58 54 45 52 4e 41   ┆dow; excode : integer);  EXTERNA┆
0x2dee0…2df00 4c 3b 46 55 4e 43 54 49 4f 4e 20 62 75 66 73 69 7a 65 28 56 41 52 20 72 20 3a 20 72 65 66 65 72   ┆L;FUNCTION bufsize(VAR r : refer┆
0x2df00…2df20 65 6e 63 65 29 20 3a 20 69 6e 74 65 67 65 72 3b 20 0a 45 58 54 45 52 4e 41 4c 3b 20 0d 0a 0d 0a   ┆ence) : integer;  EXTERNAL;     ┆
0x2df20…2df40 20 20 20 20 46 55 4e 43 54 49 4f 4e 20 20 63 68 72 28 69 6e 74 20 3a 20 30 2e 2e 31 32 37 29 20   ┆    FUNCTION  chr(int : 0..127) ┆
0x2df40…2df60 3a 20 63 68 61 72 3b 20 45 58 54 45 52 4e 41 4c 3b 46 55 4e 43 54 49 4f 4e 20 0a 63 6c 6f 63 6b   ┆: char; EXTERNAL;FUNCTION  clock┆
0x2df60…2df80 5f 69 6e 63 72 65 6d 65 6e 74 28 74 20 3a 20 63 6c 6f 63 6b 74 79 70 65 3b 20 20 20 20 20 20 20   ┆_increment(t : clocktype;       ┆
0x2df80…2dfa0 69 6e 63 20 3a 20 63 6f 64 65 64 5f 69 6e 63 29 20 3a 20 63 6c 6f 63 6b 74 79 70 65 3b 20 0a 45   ┆inc : coded_inc) : clocktype;  E┆
0x2dfa0…2dfc0 58 54 45 52 4e 41 4c 3b 20 0d 0a 0d 0a 20 20 20 20 46 55 4e 43 54 49 4f 4e 20 63 6c 6f 63 6b 5f   ┆XTERNAL;         FUNCTION clock_┆
0x2dfc0…2dfe0 6c 65 73 73 5f 74 68 61 6e 28 74 31 2c 20 74 32 20 3a 20 63 6c 6f 63 6b 74 79 70 65 29 20 3a 20   ┆less_than(t1, t2 : clocktype) : ┆
0x2dfe0…2e000 62 6f 6f 6c 65 61 6e 3b 20 20 20 20 20 0a 45 58 54 45 52 4e 41 4c 3b 20 0d 0a 0d 0a 20 20 20 20   ┆boolean;      EXTERNAL;         ┆
0x2e000…2e020 46 55 4e 43 54 49 4f 4e 20 63 6c 6f 63 6b 5f 64 69 66 66 65 72 65 6e 63 65 28 74 31 2c 20 74 32   ┆FUNCTION clock_difference(t1, t2┆
0x2e020…2e040 20 3a 20 63 6c 6f 63 6b 74 79 70 65 29 20 3a 20 63 6c 6f 63 6b 74 79 70 65 3b 20 20 20 20 20 0a   ┆ : clocktype) : clocktype;      ┆
0x2e040…2e060 45 58 54 45 52 4e 41 4c 3b 20 0d 0a 0d 0a 20 20 20 20 46 55 4e 43 54 49 4f 4e 20 20 63 72 63 31   ┆EXTERNAL;         FUNCTION  crc1┆
0x2e060…2e080 36 20 28 20 6f 70 31 2c 6f 70 32 20 3a 20 69 6e 74 65 67 65 72 20 29 20 3a 20 69 6e 74 65 67 65   ┆6 ( op1,op2 : integer ) : intege┆
0x2e080…2e0a0 72 3b 20 0a 45 58 54 45 52 4e 41 4c 3b 46 55 4e 43 54 49 4f 4e 20 20 63 72 65 61 74 65 20 28 69   ┆r;  EXTERNAL;FUNCTION  create (i┆
0x2e0a0…2e0c0 6e 63 61 72 6e 61 74 69 6f 6e 6e 61 6d 65 20 3a 20 61 6c 66 61 3b 20 20 20 20 20 20 20 70 72 6f   ┆ncarnationname : alfa;       pro┆
0x2e0c0…2e0e0 63 65 73 20 20 0a 3a 20 70 72 6f 63 65 73 73 72 65 63 3b 20 20 20 20 20 20 20 56 41 52 20 73 68   ┆ces   : processrec;       VAR sh┆
0x2e0e0…2e100 20 20 3a 20 73 68 61 64 6f 77 3b 20 20 20 20 20 20 20 73 74 6f 72 61 67 65 20 3a 20 69 6e 74 65   ┆  : shadow;       storage : inte┆
0x2e100…2e120 67 65 72 29 20 3a 20 0a 69 6e 74 65 67 65 72 3b 20 20 20 20 20 45 58 54 45 52 4e 41 4c 3b 50 52   ┆ger) :  integer;     EXTERNAL;PR┆
0x2e120…2e140 4f 43 45 44 55 52 45 20 64 65 66 69 6e 65 74 69 6d 65 72 28 6f 6e 6f 66 66 3a 62 6f 6f 6c 65 61   ┆OCEDURE definetimer(onoff:boolea┆
0x2e140…2e160 6e 29 3b 20 0a 45 58 54 45 52 4e 41 4c 3b 46 55 4e 43 54 49 4f 4e 20 64 65 6c 65 74 65 5f 73 65   ┆n);  EXTERNAL;FUNCTION delete_se┆
0x2e160…2e180 6d 61 70 68 6f 72 65 28 76 61 72 20 73 5f 6e 61 6d 65 20 3a 20 21 61 6c 66 61 29 20 3a 20 69 6e   ┆maphore(var s_name : !alfa) : in┆
0x2e180…2e1a0 74 65 67 65 72 3b 20 20 20 20 20 0a 45 58 54 45 52 4e 41 4c 3b 20 0d 0a 0d 0a 20 20 20 20 46 55   ┆teger;      EXTERNAL;         FU┆
0x2e1a0…2e1c0 4e 43 54 49 4f 4e 20 20 65 6d 70 74 79 28 56 41 52 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 29   ┆NCTION  empty(VAR r : reference)┆
0x2e1c0…2e1e0 20 3a 20 62 6f 6f 6c 65 61 6e 3b 20 0a 45 58 54 45 52 4e 41 4c 3b 46 55 4e 43 54 49 4f 4e 20 20   ┆ : boolean;  EXTERNAL;FUNCTION  ┆
0x2e1e0…2e200 65 6f 69 20 3a 20 62 6f 6f 6c 65 61 6e 3b 20 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52   ┆eoi : boolean; EXTERNAL;PROCEDUR┆
0x2e200…2e220 45 20 0a 65 78 63 65 70 74 69 6f 6e 28 65 78 63 6f 64 65 20 3a 20 69 6e 74 65 67 65 72 29 3b 20   ┆E  exception(excode : integer); ┆
0x2e220…2e240 45 58 54 45 52 4e 41 4c 3b 46 55 4e 43 54 49 4f 4e 20 66 69 72 73 74 28 76 61 72 20 72 20 3a 20   ┆EXTERNAL;FUNCTION first(var r : ┆
0x2e240…2e260 0a 72 65 66 65 72 65 6e 63 65 29 20 3a 20 69 6e 74 65 67 65 72 3b 20 45 58 54 45 52 4e 41 4c 3b   ┆ reference) : integer; EXTERNAL;┆
0x2e260…2e280 20 0d 0a 0d 0a 20 20 20 20 46 55 4e 43 54 49 4f 4e 20 67 65 74 63 6c 6f 63 6b 20 3a 20 63 6c 6f   ┆         FUNCTION getclock : clo┆
0x2e280…2e2a0 63 6b 74 79 70 65 3b 20 45 58 54 45 52 4e 41 4c 3b 20 0d 0a 0d 0a 20 20 20 20 50 52 4f 43 45 44   ┆cktype; EXTERNAL;         PROCED┆
0x2e2a0…2e2c0 55 52 45 20 69 6e 62 79 74 65 62 6c 6f 63 6b 20 20 20 20 20 20 20 28 56 41 52 20 6e 65 78 74 20   ┆URE inbyteblock       (VAR next ┆
0x2e2c0…2e2e0 3a 20 69 6e 74 65 67 65 72 3b 20 20 20 20 20 20 20 0a 66 69 72 73 74 2c 6c 61 73 74 20 3a 20 69   ┆: integer;        first,last : i┆
0x2e2e0…2e300 6e 74 65 67 65 72 3b 20 20 20 20 20 20 20 56 41 52 20 6d 73 67 20 3a 20 72 65 66 65 72 65 6e 63   ┆nteger;       VAR msg : referenc┆
0x2e300…2e320 65 29 3b 20 20 20 20 20 45 58 54 45 52 4e 41 4c 3b 20 20 20 20 20 0a 50 52 4f 43 45 44 55 52 45   ┆e);     EXTERNAL;      PROCEDURE┆
0x2e320…2e340 20 69 6e 77 6f 72 64 62 6c 6f 63 6b 20 20 20 20 20 20 20 28 56 41 52 20 6e 65 78 74 20 3a 20 69   ┆ inwordblock       (VAR next : i┆
0x2e340…2e360 6e 74 65 67 65 72 3b 20 20 20 20 20 20 20 66 69 72 73 74 2c 6c 61 73 74 20 3a 20 0a 69 6e 74 65   ┆nteger;       first,last :  inte┆
0x2e360…2e380 67 65 72 3b 20 20 20 20 20 20 20 56 41 52 20 6d 73 67 20 3a 20 72 65 66 65 72 65 6e 63 65 29 3b   ┆ger;       VAR msg : reference);┆
0x2e380…2e3a0 20 20 20 20 20 45 58 54 45 52 4e 41 4c 3b 46 55 4e 43 54 49 4f 4e 20 0a 6c 61 73 74 28 76 61 72   ┆     EXTERNAL;FUNCTION  last(var┆
0x2e3a0…2e3c0 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 29 20 3a 20 69 6e 74 65 67 65 72 3b 20 45 58 54 45 52   ┆ r : reference) : integer; EXTER┆
0x2e3c0…2e3e0 4e 41 4c 3b 20 0d 0a 0d 0a 20 20 20 20 46 55 4e 43 54 49 4f 4e 20 20 6c 69 6e 6b 28 65 78 74 65   ┆NAL;         FUNCTION  link(exte┆
0x2e3e0…2e400 72 6e 61 6c 5f 6e 61 6d 65 20 3a 20 61 6c 66 61 3b 20 20 20 20 20 20 20 56 41 52 20 70 72 6f 63   ┆rnal_name : alfa;       VAR proc┆
0x2e400…2e420 65 73 20 3a 20 0a 70 72 6f 63 65 73 73 5f 64 65 73 63 72 69 70 74 6f 72 29 20 3a 20 69 6e 74 65   ┆es :  process_descriptor) : inte┆
0x2e420…2e440 67 65 72 3b 20 45 58 54 45 52 4e 41 4c 3b 46 55 4e 43 54 49 4f 4e 20 20 6c 6f 63 6b 65 64 28 56   ┆ger; EXTERNAL;FUNCTION  locked(V┆
0x2e440…2e460 41 52 20 73 20 3a 20 0a 73 65 6d 61 70 68 6f 72 65 29 20 3a 20 62 6f 6f 6c 65 61 6e 3b 20 45 58   ┆AR s :  semaphore) : boolean; EX┆
0x2e460…2e480 54 45 52 4e 41 4c 3b 46 55 4e 43 54 49 4f 4e 20 6e 61 6d 65 5f 73 65 6d 61 70 68 6f 72 65 28 56   ┆TERNAL;FUNCTION name_semaphore(V┆
0x2e480…2e4a0 41 52 20 73 20 3a 20 0a 73 65 6d 61 70 68 6f 72 65 3b 20 20 20 20 20 20 20 20 56 41 52 20 73 5f   ┆AR s :  semaphore;        VAR s_┆
0x2e4a0…2e4c0 6e 61 6d 65 20 3a 20 21 61 6c 66 61 29 20 3a 20 69 6e 74 65 67 65 72 3b 20 45 58 54 45 52 4e 41   ┆name : !alfa) : integer; EXTERNA┆
0x2e4c0…2e4e0 4c 3b 20 0d 0a 0d 0a 8c 8a 90 0a 20 20 20 20 46 55 4e 43 54 49 4f 4e 20 6e 65 78 74 28 56 41 52   ┆L;     їіљ     FUNCTION next(VAR┆
0x2e4e0…2e500 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 29 20 3a 20 69 6e 74 65 67 65 72 3b 20 45 58 54 45 52   ┆ r : reference) : integer; EXTER┆
0x2e500…2e520 4e 41 4c 3b 20 0d 0a 0d 0a 20 20 20 20 46 55 4e 43 54 49 4f 4e 20 20 6e 69 6c 28 56 41 52 20 72   ┆NAL;         FUNCTION  nil(VAR r┆
0x2e520…2e540 20 3a 20 1f 1f 6e 69 6c 74 79 70 65 29 20 3a 20 62 6f 6f 6c 65 61 6e 3b 20 0a 45 58 54 45 52 4e   ┆ :   niltype) : boolean;  EXTERN┆
0x2e540…2e560 41 4c 3b 46 55 4e 43 54 49 4f 4e 20 20 6f 70 65 6e 28 56 41 52 20 73 20 3a 20 73 65 6d 61 70 68   ┆AL;FUNCTION  open(VAR s : semaph┆
0x2e560…2e580 6f 72 65 29 20 3a 20 62 6f 6f 6c 65 61 6e 3b 20 0a 45 58 54 45 52 4e 41 4c 3b 46 55 4e 43 54 49   ┆ore) : boolean;  EXTERNAL;FUNCTI┆
0x2e580…2e5a0 4f 4e 20 20 6f 70 65 6e 70 6f 6f 6c 28 56 41 52 20 70 20 3a 20 70 6f 6f 6c 20 31 29 20 3a 20 62   ┆ON  openpool(VAR p : pool 1) : b┆
0x2e5a0…2e5c0 6f 6f 6c 65 61 6e 3b 20 0a 45 58 54 45 52 4e 41 4c 3b 46 55 4e 43 54 49 4f 4e 20 20 6f 72 64 28   ┆oolean;  EXTERNAL;FUNCTION  ord(┆
0x2e5c0…2e5e0 78 20 3a 20 6e 69 6c 74 79 70 65 29 20 3a 20 69 6e 74 65 67 65 72 3b 20 0a 45 58 54 45 52 4e 41   ┆x : niltype) : integer;  EXTERNA┆
0x2e5e0…2e600 4c 3b 50 52 4f 43 45 44 55 52 45 20 6f 75 74 62 79 74 65 62 6c 6f 63 6b 20 20 20 20 20 20 20 28   ┆L;PROCEDURE outbyteblock       (┆
0x2e600…2e620 56 41 52 20 6e 65 78 74 20 3a 20 69 6e 74 65 67 65 72 3b 20 20 20 20 20 20 20 0a 66 69 72 73 74   ┆VAR next : integer;        first┆
0x2e620…2e640 2c 6c 61 73 74 20 3a 20 69 6e 74 65 67 65 72 3b 20 20 20 20 20 20 20 56 41 52 20 6d 73 67 20 3a   ┆,last : integer;       VAR msg :┆
0x2e640…2e660 20 72 65 66 65 72 65 6e 63 65 29 3b 20 20 20 20 20 0a 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45   ┆ reference);      EXTERNAL;PROCE┆
0x2e660…2e680 44 55 52 45 20 6f 75 74 77 6f 72 64 62 6c 6f 63 6b 20 20 20 20 20 20 20 28 56 41 52 20 6e 65 78   ┆DURE outwordblock       (VAR nex┆
0x2e680…2e6a0 74 20 3a 20 69 6e 74 65 67 65 72 3b 20 20 20 20 20 20 20 0a 66 69 72 73 74 2c 6c 61 73 74 20 3a   ┆t : integer;        first,last :┆
0x2e6a0…2e6c0 20 69 6e 74 65 67 65 72 3b 20 20 20 20 20 20 20 56 41 52 20 6d 73 67 20 3a 20 72 65 66 65 72 65   ┆ integer;       VAR msg : refere┆
0x2e6c0…2e6e0 6e 63 65 29 3b 20 20 20 20 20 0a 45 58 54 45 52 4e 41 4c 3b 46 55 4e 43 54 49 4f 4e 20 20 6f 77   ┆nce);      EXTERNAL;FUNCTION  ow┆
0x2e6e0…2e700 6e 65 72 74 65 73 74 20 28 56 41 52 20 70 20 3a 20 70 6f 6f 6c 20 31 3b 20 20 20 20 20 20 20 56   ┆nertest (VAR p : pool 1;       V┆
0x2e700…2e720 41 52 20 72 20 3a 20 0a 72 65 66 65 72 65 6e 63 65 29 20 3a 20 62 6f 6f 6c 65 61 6e 3b 20 20 20   ┆AR r :  reference) : boolean;   ┆
0x2e720…2e740 20 20 45 58 54 45 52 4e 41 4c 3b 46 55 4e 43 54 49 4f 4e 20 20 70 61 73 73 69 76 65 28 56 41 52   ┆  EXTERNAL;FUNCTION  passive(VAR┆
0x2e740…2e760 20 73 20 3a 20 0a 73 65 6d 61 70 68 6f 72 65 29 20 3a 20 62 6f 6f 6c 65 61 6e 3b 20 45 58 54 45   ┆ s :  semaphore) : boolean; EXTE┆
0x2e760…2e780 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 70 6f 70 28 56 41 52 20 72 31 2c 20 72 32 20 3a 20   ┆RNAL;PROCEDURE pop(VAR r1, r2 : ┆
0x2e780…2e7a0 0a 72 65 66 65 72 65 6e 63 65 29 3b 20 45 58 54 45 52 4e 41 4c 3b 46 55 4e 43 54 49 4f 4e 20 20   ┆ reference); EXTERNAL;FUNCTION  ┆
0x2e7a0…2e7c0 70 72 65 64 28 78 20 3a 20 6e 69 6c 74 79 70 65 29 20 3a 20 6e 69 6c 74 79 70 65 3b 20 0a 45 58   ┆pred(x : niltype) : niltype;  EX┆
0x2e7c0…2e7e0 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 70 75 73 68 28 56 41 52 20 72 31 2c 20 72 32   ┆TERNAL;PROCEDURE push(VAR r1, r2┆
0x2e7e0…2e800 20 3a 20 72 65 66 65 72 65 6e 63 65 29 3b 20 0a 45 58 54 45 52 4e 41 4c 3b 46 55 4e 43 54 49 4f   ┆ : reference);  EXTERNAL;FUNCTIO┆
0x2e800…2e820 4e 20 20 72 65 66 28 56 41 52 20 73 20 3a 20 73 65 6d 61 70 68 6f 72 65 29 20 3a 20 1f 1f 73 65   ┆N  ref(VAR s : semaphore) :   se┆
0x2e820…2e840 6d 61 70 68 6f 72 65 3b 20 0a 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 72 65 6c   ┆maphore;  EXTERNAL;PROCEDURE rel┆
0x2e840…2e860 65 61 73 65 28 56 41 52 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 29 3b 20 0a 45 58 54 45 52 4e   ┆ease(VAR r : reference);  EXTERN┆
0x2e860…2e880 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 72 65 6d 6f 76 65 28 56 41 52 20 73 68 20 3a 20 73 68 61   ┆AL;PROCEDURE remove(VAR sh : sha┆
0x2e880…2e8a0 64 6f 77 29 3b 20 0a 45 58 54 45 52 4e 41 4c 3b 46 55 4e 43 54 49 4f 4e 20 20 72 65 73 65 72 76   ┆dow);  EXTERNAL;FUNCTION  reserv┆
0x2e8a0…2e8c0 65 63 68 20 28 56 41 52 20 63 68 5f 6d 73 67 20 3a 20 72 65 66 65 72 65 6e 63 65 3b 20 20 20 20   ┆ech (VAR ch_msg : reference;    ┆
0x2e8c0…2e8e0 20 20 20 0a 6c 65 76 65 6c 2c 20 6d 61 73 6b 20 3a 20 69 6e 74 65 67 65 72 29 20 3a 20 69 6e 74   ┆    level, mask : integer) : int┆
0x2e8e0…2e900 65 67 65 72 3b 20 20 20 20 20 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 0a 72 65   ┆eger;     EXTERNAL;PROCEDURE  re┆
0x2e900…2e920 74 75 72 6e 28 56 41 52 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 29 3b 20 45 58 54 45 52 4e 41   ┆turn(VAR r : reference); EXTERNA┆
0x2e920…2e940 4c 3b 46 55 4e 43 54 49 4f 4e 20 0a 73 65 61 72 63 68 5f 73 65 6d 61 70 68 6f 72 65 28 56 41 52   ┆L;FUNCTION  search_semaphore(VAR┆
0x2e940…2e960 20 73 5f 6e 61 6d 65 20 3a 20 21 61 6c 66 61 29 20 3a 20 1f 1f 73 65 6d 61 70 68 6f 72 65 3b 20   ┆ s_name : !alfa) :   semaphore; ┆
0x2e960…2e980 20 20 20 20 45 58 54 45 52 4e 41 4c 3b 20 0d 0a 0d 0a 20 20 20 20 50 52 4f 43 45 44 55 52 45 20   ┆    EXTERNAL;         PROCEDURE ┆
0x2e980…2e9a0 73 65 6e 64 6c 69 6e 6b 65 72 28 56 41 52 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 29 3b 20 0a   ┆sendlinker(VAR r : reference);  ┆
0x2e9a0…2e9c0 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 73 65 6e 64 74 69 6d 65 72 28 56 41 52   ┆EXTERNAL;PROCEDURE sendtimer(VAR┆
0x2e9c0…2e9e0 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 29 3b 20 0a 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45   ┆ r : reference);  EXTERNAL;PROCE┆
0x2e9e0…2ea00 44 55 52 45 20 73 65 6e 73 65 73 65 6d 28 56 41 52 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 3b   ┆DURE sensesem(VAR r : reference;┆
0x2ea00…2ea20 20 56 41 52 20 73 20 3a 20 0a 73 65 6d 61 70 68 6f 72 65 29 3b 20 20 20 20 20 45 58 54 45 52 4e   ┆ VAR s :  semaphore);     EXTERN┆
0x2ea20…2ea40 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 73 65 74 6e 65 78 74 28 56 41 52 20 72 20 3a 20 72 65 66   ┆AL;PROCEDURE setnext(VAR r : ref┆
0x2ea40…2ea60 65 72 65 6e 63 65 3b 20 0a 76 61 6c 20 3a 20 69 6e 74 65 67 65 72 29 3b 20 20 20 20 20 45 58 54   ┆erence;  val : integer);     EXT┆
0x2ea60…2ea80 45 52 4e 41 4c 3b 20 0d 0a 0d 0a 20 20 20 20 50 52 4f 43 45 44 55 52 45 20 73 65 74 70 72 69 6f   ┆ERNAL;         PROCEDURE setprio┆
0x2ea80…2eaa0 72 69 74 79 28 70 72 69 6f 72 69 74 79 20 3a 20 69 6e 74 65 67 65 72 29 3b 20 0a 45 58 54 45 52   ┆rity(priority : integer);  EXTER┆
0x2eaa0…2eac0 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 73 65 74 75 31 28 56 41 52 20 72 20 3a 20 72 65 66 65   ┆NAL;PROCEDURE setu1(VAR r : refe┆
0x2eac0…2eae0 72 65 6e 63 65 3b 20 76 61 6c 20 3a 20 62 79 74 65 29 3b 20 0a 45 58 54 45 52 4e 41 4c 3b 20 0d   ┆rence; val : byte);  EXTERNAL;  ┆
0x2eae0…2eb00 0a 0d 0a 20 20 20 20 50 52 4f 43 45 44 55 52 45 20 73 65 74 75 32 28 56 41 52 20 72 20 3a 20 72   ┆       PROCEDURE setu2(VAR r : r┆
0x2eb00…2eb20 65 66 65 72 65 6e 63 65 3b 20 76 61 6c 20 3a 20 62 79 74 65 29 3b 20 45 58 54 45 52 4e 41 4c 3b   ┆eference; val : byte); EXTERNAL;┆
0x2eb20…2eb40 20 0d 0a 0d 0a 20 20 20 20 50 52 4f 43 45 44 55 52 45 20 73 65 74 75 33 28 56 41 52 20 72 20 3a   ┆         PROCEDURE setu3(VAR r :┆
0x2eb40…2eb60 20 72 65 66 65 72 65 6e 63 65 3b 20 76 61 6c 20 3a 20 62 79 74 65 29 3b 20 45 58 54 45 52 4e 41   ┆ reference; val : byte); EXTERNA┆
0x2eb60…2eb80 4c 3b 20 0d 0a 0d 0a 20 20 20 20 50 52 4f 43 45 44 55 52 45 20 73 65 74 75 34 28 56 41 52 20 72   ┆L;         PROCEDURE setu4(VAR r┆
0x2eb80…2eba0 20 3a 20 72 65 66 65 72 65 6e 63 65 3b 20 76 61 6c 20 3a 20 62 79 74 65 29 3b 20 45 58 54 45 52   ┆ : reference; val : byte); EXTER┆
0x2eba0…2ebc0 4e 41 4c 3b 20 0d 0a 0d 0a 20 20 20 20 50 52 4f 43 45 44 55 52 45 20 73 69 67 6e 61 6c 28 56 41   ┆NAL;         PROCEDURE signal(VA┆
0x2ebc0…2ebe0 52 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 3b 20 56 41 52 20 73 20 3a 20 73 65 6d 61 70 68 6f   ┆R r : reference; VAR s : semapho┆
0x2ebe0…2ec00 72 65 29 3b 20 20 20 20 20 20 0a 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 73 74   ┆re);       EXTERNAL;PROCEDURE st┆
0x2ec00…2ec20 61 72 74 28 56 41 52 20 73 68 20 3a 20 73 68 61 64 6f 77 3b 20 70 72 69 6f 72 69 74 79 20 3a 20   ┆art(VAR sh : shadow; priority : ┆
0x2ec20…2ec40 69 6e 74 65 67 65 72 29 3b 20 20 20 20 20 20 0a 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55   ┆integer);       EXTERNAL;PROCEDU┆
0x2ec40…2ec60 52 45 20 73 74 6f 70 28 56 41 52 20 73 68 20 3a 20 73 68 61 64 6f 77 29 3b 20 45 58 54 45 52 4e   ┆RE stop(VAR sh : shadow); EXTERN┆
0x2ec60…2ec80 41 4c 3b 46 55 4e 43 54 49 4f 4e 20 20 0a 73 75 63 63 28 78 20 3a 20 6e 69 6c 74 79 70 65 29 20   ┆AL;FUNCTION   succ(x : niltype) ┆
0x2ec80…2eca0 3a 20 6e 69 6c 74 79 70 65 3b 20 45 58 54 45 52 4e 41 4c 3b 46 55 4e 43 54 49 4f 4e 20 20 73 77   ┆: niltype; EXTERNAL;FUNCTION  sw┆
0x2eca0…2ecc0 61 70 20 28 69 20 3a 20 69 6e 74 65 67 65 72 29 20 0a 3a 20 69 6e 74 65 67 65 72 3b 20 45 58 54   ┆ap (i : integer)  : integer; EXT┆
0x2ecc0…2ece0 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 74 72 61 63 65 20 28 63 6f 64 65 20 3a 20 69 6e   ┆ERNAL;PROCEDURE trace (code : in┆
0x2ece0…2ed00 74 65 67 65 72 29 20 3b 20 0a 45 58 54 45 52 4e 41 4c 3b 46 55 4e 43 54 49 4f 4e 20 20 75 6e 6c   ┆teger) ;  EXTERNAL;FUNCTION  unl┆
0x2ed00…2ed20 69 6e 6b 28 56 41 52 20 70 72 6f 63 65 73 20 3a 20 70 72 6f 63 65 73 73 5f 64 65 73 63 72 69 70   ┆ink(VAR proces : process_descrip┆
0x2ed20…2ed40 74 6f 72 29 20 3a 20 0a 69 6e 74 65 67 65 72 3b 20 20 20 20 20 20 45 58 54 45 52 4e 41 4c 3b 46   ┆tor) :  integer;      EXTERNAL;F┆
0x2ed40…2ed60 55 4e 43 54 49 4f 4e 20 75 31 28 56 41 52 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 29 20 3a 20   ┆UNCTION u1(VAR r : reference) : ┆
0x2ed60…2ed80 62 79 74 65 3b 20 0a 45 58 54 45 52 4e 41 4c 3b 20 0d 0a 0d 0a 20 20 20 20 46 55 4e 43 54 49 4f   ┆byte;  EXTERNAL;         FUNCTIO┆
0x2ed80…2eda0 4e 20 75 32 28 56 41 52 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 29 20 3a 20 62 79 74 65 3b 20   ┆N u2(VAR r : reference) : byte; ┆
0x2eda0…2edc0 45 58 54 45 52 4e 41 4c 3b 20 0d 0a 0d 0a 20 20 20 20 46 55 4e 43 54 49 4f 4e 20 75 33 28 56 41   ┆EXTERNAL;         FUNCTION u3(VA┆
0x2edc0…2ede0 52 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 29 20 3a 20 62 79 74 65 3b 20 45 58 54 45 52 4e 41   ┆R r : reference) : byte; EXTERNA┆
0x2ede0…2ee00 4c 3b 20 0d 0a 0d 0a 20 20 20 20 46 55 4e 43 54 49 4f 4e 20 75 34 28 56 41 52 20 72 20 3a 20 72   ┆L;         FUNCTION u4(VAR r : r┆
0x2ee00…2ee20 65 66 65 72 65 6e 63 65 29 20 3a 20 62 79 74 65 3b 20 45 58 54 45 52 4e 41 4c 3b 20 0d 0a 0d 0a   ┆eference) : byte; EXTERNAL;     ┆
0x2ee20…2ee40 8c 8a 90 0a 20 20 20 20 50 52 4f 43 45 44 55 52 45 20 77 61 69 74 28 56 41 52 20 72 20 3a 20 72   ┆їіљ     PROCEDURE wait(VAR r : r┆
0x2ee40…2ee60 65 66 65 72 65 6e 63 65 3b 20 56 41 52 20 73 20 3a 20 73 65 6d 61 70 68 6f 72 65 29 3b 20 20 20   ┆eference; VAR s : semaphore);   ┆
0x2ee60…2ee80 20 20 20 0a 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 77 61 69 74 69 3b 20 45 58   ┆    EXTERNAL;PROCEDURE waiti; EX┆
0x2ee80…2eea0 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 77 61 69 74 73 20 28 56 41 52 20 72 20 3a 20   ┆TERNAL;PROCEDURE waits (VAR r : ┆
0x2eea0…2eec0 0a 72 65 66 65 72 65 6e 63 65 3b 20 56 41 52 20 73 20 3a 20 73 65 6d 61 70 68 6f 72 65 29 3b 20   ┆ reference; VAR s : semaphore); ┆
0x2eec0…2eee0 20 20 20 20 20 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 0a 77 61 69 74 64 28 64   ┆     EXTERNAL;PROCEDURE  waitd(d┆
0x2eee0…2ef00 65 6c 61 79 20 3a 20 69 6e 74 65 67 65 72 29 3b 20 45 58 54 45 52 4e 41 4c 3b 46 55 4e 43 54 49   ┆elay : integer); EXTERNAL;FUNCTI┆
0x2ef00…2ef20 4f 4e 20 20 77 61 69 74 69 64 28 64 65 6c 61 79 20 3a 20 69 6e 74 65 67 65 72 29 20 0a 3a 20 61   ┆ON  waitid(delay : integer)  : a┆
0x2ef20…2ef40 63 74 69 76 61 74 69 6f 6e 3b 20 45 58 54 45 52 4e 41 4c 3b 46 55 4e 43 54 49 4f 4e 20 20 77 61   ┆ctivation; EXTERNAL;FUNCTION  wa┆
0x2ef40…2ef60 69 74 69 73 28 20 56 41 52 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 3b 20 20 20 20 20 20 20 0a   ┆itis( VAR r : reference;        ┆
0x2ef60…2ef80 56 41 52 20 73 20 3a 20 73 65 6d 61 70 68 6f 72 65 29 20 3a 20 61 63 74 69 76 61 74 69 6f 6e 3b   ┆VAR s : semaphore) : activation;┆
0x2ef80…2efa0 20 20 20 20 20 45 58 54 45 52 4e 41 4c 3b 46 55 4e 43 54 49 4f 4e 20 20 77 61 69 74 73 64 20 0a   ┆     EXTERNAL;FUNCTION  waitsd  ┆
0x2efa0…2efc0 28 56 41 52 20 72 20 3a 20 72 65 66 65 72 65 6e 63 65 3b 20 20 20 20 20 20 20 56 41 52 20 73 20   ┆(VAR r : reference;       VAR s ┆
0x2efc0…2efe0 3a 20 73 65 6d 61 70 68 6f 72 65 3b 20 20 20 20 20 20 20 64 65 6c 61 79 20 3a 20 69 6e 74 65 67   ┆: semaphore;       delay : integ┆
0x2efe0…2f000 65 72 29 20 0a 3a 20 61 63 74 69 76 61 74 69 6f 6e 3b 20 20 20 20 20 45 58 54 45 52 4e 41 4c 3b   ┆er)  : activation;     EXTERNAL;┆
0x2f000…2f020 46 55 4e 43 54 49 4f 4e 20 20 77 61 69 74 69 73 64 20 28 56 41 52 20 72 20 3a 20 72 65 66 65 72   ┆FUNCTION  waitisd (VAR r : refer┆
0x2f020…2f040 65 6e 63 65 3b 20 20 20 20 20 20 20 0a 56 41 52 20 73 20 3a 20 73 65 6d 61 70 68 6f 72 65 3b 20   ┆ence;        VAR s : semaphore; ┆
0x2f040…2f060 20 20 20 20 20 20 64 65 6c 61 79 20 3a 20 69 6e 74 65 67 65 72 29 20 3a 20 61 63 74 69 76 61 74   ┆      delay : integer) : activat┆
0x2f060…2f080 69 6f 6e 3b 20 20 20 20 20 0a 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 5f 5f 5f   ┆ion;      EXTERNAL;PROCEDURE ___┆
0x2f080…2f0a0 65 78 69 74 5f 5f 5f 72 63 3b 20 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 0a 5f   ┆exit___rc; EXTERNAL;PROCEDURE  _┆
0x2f0a0…2f0c0 69 6e 69 74 70 6f 6f 6c 5f 72 63 20 28 56 41 52 20 73 20 3a 20 73 65 6d 61 70 68 6f 72 65 3b 20   ┆initpool_rc (VAR s : semaphore; ┆
0x2f0c0…2f0e0 20 20 20 20 20 20 6e 75 6d 62 65 72 2c 20 73 69 7a 65 20 3a 20 69 6e 74 65 67 65 72 29 3b 20 20   ┆      number, size : integer);  ┆
0x2f0e0…2f100 20 20 20 0a 45 58 54 45 52 4e 41 4c 3b 20 0d 0a 0d 0a 0d 0a 16 53 61 0d 0a 49 4f 45 4e 56 49 52   ┆    EXTERNAL;        Sa  IOENVIR┆
0x2f100…2f120 20 20 20 20 20 20 0d 0a 20 20 43 4f 4e 53 54 6c 69 6e 65 6c 65 6e 67 74 68 20 20 20 20 20 20 20   ┆          CONSTlinelength       ┆
0x2f120…2f140 3d 20 38 30 3b 20 20 20 20 20 66 69 72 73 74 69 6e 64 65 78 20 20 20 20 20 20 20 3d 20 36 20 2b   ┆= 80;     firstindex       = 6 +┆
0x2f140…2f160 20 61 6c 66 61 6c 65 6e 67 74 68 3b 20 20 20 20 20 0a 6c 61 73 74 69 6e 64 65 78 20 20 20 20 20   ┆ alfalength;      lastindex     ┆
0x2f160…2f180 20 20 20 3d 20 66 69 72 73 74 69 6e 64 65 78 20 2b 20 6c 69 6e 65 6c 65 6e 67 74 68 20 2d 20 31   ┆   = firstindex + linelength - 1┆
0x2f180…2f1a0 3b 20 20 20 20 20 20 20 20 54 59 50 45 6f 70 62 75 66 66 65 72 20 3d 20 20 20 20 20 0a 52 45 43   ┆;        TYPEopbuffer =      REC┆
0x2f1a0…2f1c0 4f 52 44 20 20 20 20 20 21 20 20 66 69 72 73 74 20 2c 20 20 20 20 20 21 20 20 6c 61 73 74 20 20   ┆ORD     !  first ,     !  last  ┆
0x2f1c0…2f1e0 2c 20 20 20 20 20 21 20 20 6e 65 78 74 20 20 3a 20 69 6e 74 65 67 65 72 3b 20 20 20 20 20 21 20   ┆,     !  next  : integer;     ! ┆
0x2f1e0…2f200 20 0a 6e 61 6d 65 20 20 3a 20 61 6c 66 61 3b 20 20 20 20 20 21 20 20 63 68 61 72 73 20 3a 20 41   ┆  name  : alfa;     !  chars : A┆
0x2f200…2f220 52 52 41 59 20 28 66 69 72 73 74 69 6e 64 65 78 2e 2e 6c 61 73 74 69 6e 64 65 78 29 20 4f 46 20   ┆RRAY (firstindex..lastindex) OF ┆
0x2f220…2f240 63 68 61 72 20 20 20 20 20 0a 45 4e 44 3b 7a 6f 6e 65 20 3d 20 20 20 20 20 52 45 43 4f 52 44 20   ┆char      END;zone =     RECORD ┆
0x2f240…2f260 20 20 20 20 21 20 20 64 72 69 76 65 72 20 20 20 20 3a 20 1f 73 65 6d 61 70 68 6f 72 65 3b 20 20   ┆    !  driver    :  semaphore;  ┆
0x2f260…2f280 20 20 28 2a 20 20 0a 6f 70 65 72 61 74 6f 72 20 70 72 6f 63 65 73 73 20 20 20 20 20 20 20 2a 29   ┆  (*   operator process       *)┆
0x2f280…2f2a0 20 20 20 20 20 21 20 20 61 6e 73 77 65 72 20 20 20 20 3a 20 1f 73 65 6d 61 70 68 6f 72 65 3b 20   ┆     !  answer    :  semaphore; ┆
0x2f2a0…2f2c0 20 20 20 28 2a 20 20 0a 61 6e 73 77 65 72 73 20 72 65 74 75 72 6e 73 20 68 65 72 65 20 20 20 2a   ┆   (*   answers returns here   *┆
0x2f2c0…2f2e0 29 20 20 20 20 20 21 20 20 64 61 74 61 72 65 61 64 79 20 3a 20 73 65 6d 61 70 68 6f 72 65 3b 20   ┆)     !  dataready : semaphore; ┆
0x2f2e0…2f300 20 20 20 20 28 2a 20 20 0a 62 75 66 66 65 72 73 20 77 69 74 68 20 64 61 74 61 20 20 20 20 20 20   ┆    (*   buffers with data      ┆
0x2f300…2f320 2a 29 20 20 20 20 20 21 20 20 66 72 65 65 20 20 20 20 20 20 3a 20 73 65 6d 61 70 68 6f 72 65 3b   ┆*)     !  free      : semaphore;┆
0x2f320…2f340 20 20 20 20 20 28 2a 20 20 66 72 65 65 20 0a 62 75 66 66 65 72 73 20 2a 29 20 20 20 20 20 21 20   ┆     (*  free  buffers *)     ! ┆
0x2f340…2f360 20 63 75 72 20 20 20 20 20 20 20 3a 20 72 65 66 65 72 65 6e 63 65 3b 20 20 20 20 20 28 2a 20 20   ┆ cur       : reference;     (*  ┆
0x2f360…2f380 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 20 20 20 20 20 20 20 20 0a 2a 29 20 20 20 20 20 21   ┆current buffer          *)     !┆
0x2f380…2f3a0 20 20 75 32 76 61 6c 20 20 20 20 20 3a 20 62 79 74 65 3b 28 2a 20 20 75 32 20 74 6f 20 64 72 69   ┆  u2val     : byte;(*  u2 to dri┆
0x2f3a0…2f3c0 76 65 72 20 2a 29 20 20 20 20 20 21 20 20 73 74 61 74 65 20 20 20 20 20 3a 20 0a 62 79 74 65 3b   ┆ver *)     !  state     :  byte;┆
0x2f3c0…2f3e0 28 2a 20 20 72 65 73 75 6c 74 63 6f 64 65 20 66 72 6f 6d 20 61 6e 73 77 65 72 20 2a 29 20 20 20   ┆(*  resultcode from answer *)   ┆
0x2f3e0…2f400 20 20 21 20 20 72 65 61 64 73 74 61 74 65 20 3a 20 69 6e 74 65 67 65 72 3b 20 20 20 20 20 20 20   ┆  !  readstate : integer;       ┆
0x2f400…2f420 0a 28 2a 20 20 30 3a 6f 6b 2c 3e 30 3a 65 72 72 6f 72 2c 2d 31 3a 63 75 72 3d 6e 69 6c 20 2a 29   ┆ (*  0:ok,>0:error,-1:cur=nil *)┆
0x2f420…2f440 20 20 20 20 20 21 20 20 6e 65 78 74 70 20 20 20 20 20 3a 20 69 6e 74 65 67 65 72 3b 20 20 20 20   ┆     !  nextp     : integer;    ┆
0x2f440…2f460 20 20 20 28 2a 20 20 0a 70 6f 69 6e 74 65 72 20 69 6e 74 6f 20 64 61 74 61 62 75 66 20 20 20 2a   ┆   (*   pointer into databuf   *┆
0x2f460…2f480 29 20 20 20 20 20 21 20 20 6c 61 73 74 70 6f 73 20 20 20 3a 20 69 6e 74 65 67 65 72 3b 20 20 20   ┆)     !  lastpos   : integer;   ┆
0x2f480…2f4a0 20 20 20 20 28 2a 20 20 6c 61 73 74 20 0a 70 6f 73 69 74 69 6f 6e 20 69 6e 20 62 75 66 66 65 72   ┆    (*  last  position in buffer┆
0x2f4a0…2f4c0 2a 29 20 20 20 20 20 45 4e 44 3b 50 52 4f 43 45 44 55 52 45 20 6f 70 65 6e 7a 6f 6e 65 20 28 20   ┆*)     END;PROCEDURE openzone ( ┆
0x2f4c0…2f4e0 56 41 52 20 7a 3a 20 7a 6f 6e 65 3b 20 0a 64 72 69 76 2c 20 61 6e 73 77 3a 20 1f 73 65 6d 61 70   ┆VAR z: zone;  driv, answ:  semap┆
0x2f4e0…2f500 68 6f 72 65 3b 20 20 20 20 20 20 20 62 75 66 73 3a 20 69 6e 74 65 67 65 72 3b 20 56 41 52 20 68   ┆hore;       bufs: integer; VAR h┆
0x2f500…2f520 6f 6d 65 3a 20 70 6f 6f 6c 20 31 3b 20 76 31 2c 20 0a 76 32 2c 20 76 33 2c 20 76 34 3a 20 62 79   ┆ome: pool 1; v1,  v2, v3, v4: by┆
0x2f520…2f540 74 65 20 29 3b 20 20 20 20 20 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 6f 70 65   ┆te );     EXTERNAL;PROCEDURE ope┆
0x2f540…2f560 6e 6f 70 7a 6f 6e 65 20 28 20 56 41 52 20 7a 3a 20 0a 7a 6f 6e 65 3b 20 64 72 69 76 2c 20 61 6e   ┆nopzone ( VAR z:  zone; driv, an┆
0x2f560…2f580 73 77 3a 20 1f 73 65 6d 61 70 68 6f 72 65 3b 20 20 20 20 20 20 20 62 75 66 73 3a 20 69 6e 74 65   ┆sw:  semaphore;       bufs: inte┆
0x2f580…2f5a0 67 65 72 3b 20 56 41 52 20 68 6f 6d 65 3a 20 70 6f 6f 6c 20 31 3b 20 0a 76 31 2c 20 76 32 2c 20   ┆ger; VAR home: pool 1;  v1, v2, ┆
0x2f5a0…2f5c0 76 33 2c 20 76 34 3a 20 62 79 74 65 20 20 29 3b 20 20 20 20 20 45 58 54 45 52 4e 41 4c 3b 50 52   ┆v3, v4: byte  );     EXTERNAL;PR┆
0x2f5c0…2f5e0 4f 43 45 44 55 52 45 20 6f 75 74 65 6e 64 20 28 20 56 41 52 20 7a 3a 20 0a 7a 6f 6e 65 29 3b 20   ┆OCEDURE outend ( VAR z:  zone); ┆
0x2f5e0…2f600 20 20 20 20 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 6f 75 74 63 68 61 72 20 28   ┆    EXTERNAL;PROCEDURE outchar (┆
0x2f600…2f620 20 56 41 52 20 7a 3a 20 7a 6f 6e 65 3b 20 74 3a 20 63 68 61 72 29 3b 20 20 20 20 20 0a 45 58 54   ┆ VAR z: zone; t: char);      EXT┆
0x2f620…2f640 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 6f 75 74 61 6c 66 61 20 28 20 56 41 52 20 7a 3a   ┆ERNAL;PROCEDURE outalfa ( VAR z:┆
0x2f640…2f660 20 7a 6f 6e 65 3b 20 56 41 52 20 74 65 78 74 3a 20 21 61 6c 66 61 29 3b 20 20 20 20 20 0a 45 58   ┆ zone; VAR text: !alfa);      EX┆
0x2f660…2f680 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 6f 75 74 66 69 6c 6c 20 28 20 56 41 52 20 7a   ┆TERNAL;PROCEDURE outfill ( VAR z┆
0x2f680…2f6a0 3a 20 7a 6f 6e 65 3b 20 66 69 6c 6c 65 72 3a 20 63 68 61 72 3b 20 72 65 70 3a 20 0a 69 6e 74 65   ┆: zone; filler: char; rep:  inte┆
0x2f6a0…2f6c0 67 65 72 29 3b 20 20 20 20 20 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 6f 75 74   ┆ger);     EXTERNAL;PROCEDURE out┆
0x2f6c0…2f6e0 69 6e 74 65 67 65 72 20 28 20 56 41 52 20 7a 3a 20 7a 6f 6e 65 3b 20 6e 75 6d 2c 20 0a 70 6f 73   ┆integer ( VAR z: zone; num,  pos┆
0x2f6e0…2f700 3a 20 69 6e 74 65 67 65 72 29 3b 20 20 20 20 20 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55   ┆: integer);     EXTERNAL;PROCEDU┆
0x2f700…2f720 52 45 20 6f 75 74 68 65 78 20 28 20 56 41 52 20 7a 3a 20 7a 6f 6e 65 3b 20 6e 75 6d 2c 20 0a 70   ┆RE outhex ( VAR z: zone; num,  p┆
0x2f720…2f740 6f 73 3a 20 69 6e 74 65 67 65 72 29 3b 20 20 20 20 20 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45   ┆os: integer);     EXTERNAL;PROCE┆
0x2f740…2f760 44 55 52 45 20 6f 75 74 64 6f 75 62 6c 65 20 28 20 56 41 52 20 7a 3a 20 7a 6f 6e 65 3b 20 0a 64   ┆DURE outdouble ( VAR z: zone;  d┆
0x2f760…2f780 3a 20 64 6f 75 62 6c 65 3b 20 70 6f 73 3a 20 69 6e 74 65 67 65 72 29 3b 20 20 20 20 20 45 58 54   ┆: double; pos: integer);     EXT┆
0x2f780…2f7a0 45 52 4e 41 4c 3b 20 0d 0a 0d 0a 20 20 20 20 50 52 4f 43 45 44 55 52 45 20 6f 75 74 6e 6c 28 56   ┆ERNAL;         PROCEDURE outnl(V┆
0x2f7a0…2f7c0 41 52 20 7a 20 3a 20 7a 6f 6e 65 29 3b 20 20 20 20 20 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45   ┆AR z : zone);     EXTERNAL;PROCE┆
0x2f7c0…2f7e0 44 55 52 45 20 0a 8c 87 f0 0a 6f 75 74 61 64 64 72 28 56 41 52 20 7a 20 3a 20 7a 6f 6e 65 3b 20   ┆DURE  їЄ  outaddr(VAR z : zone; ┆
0x2f7e0…2f800 61 20 3a 20 61 64 64 72 29 3b 20 20 20 20 20 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52   ┆a : addr);     EXTERNAL;PROCEDUR┆
0x2f800…2f820 45 20 0a 6f 75 74 64 61 74 65 28 56 41 52 20 7a 20 3a 20 7a 6f 6e 65 3b 20 64 61 74 65 20 3a 20   ┆E  outdate(VAR z : zone; date : ┆
0x2f820…2f840 63 6f 64 65 64 5f 64 61 74 65 29 3b 20 20 20 20 20 0a 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45   ┆coded_date);      EXTERNAL;PROCE┆
0x2f840…2f860 44 55 52 45 20 6f 75 74 74 69 6d 65 28 56 41 52 20 7a 20 3a 20 7a 6f 6e 65 3b 20 74 69 6d 65 20   ┆DURE outtime(VAR z : zone; time ┆
0x2f860…2f880 3a 20 63 6f 64 65 64 5f 74 69 6d 65 29 3b 20 20 20 20 20 0a 45 58 54 45 52 4e 41 4c 3b 50 52 4f   ┆: coded_time);      EXTERNAL;PRO┆
0x2f880…2f8a0 43 45 44 55 52 45 20 6f 70 69 6e 20 28 20 56 41 52 20 7a 3a 20 7a 6f 6e 65 29 3b 20 20 20 20 20   ┆CEDURE opin ( VAR z: zone);     ┆
0x2f8a0…2f8c0 0a 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 6f 70 61 6e 73 77 65 72 20 28 20 56   ┆ EXTERNAL;PROCEDURE opanswer ( V┆
0x2f8c0…2f8e0 41 52 20 6d 73 67 3a 20 72 65 66 65 72 65 6e 63 65 3b 20 56 41 52 20 7a 3a 20 0a 7a 6f 6e 65 29   ┆AR msg: reference; VAR z:  zone)┆
0x2f8e0…2f900 3b 20 20 20 20 20 45 58 54 45 52 4e 41 4c 3b 46 55 4e 43 54 49 4f 4e 20 6f 70 74 65 73 74 20 28   ┆;     EXTERNAL;FUNCTION optest (┆
0x2f900…2f920 20 56 41 52 20 7a 3a 20 7a 6f 6e 65 29 3a 20 62 6f 6f 6c 65 61 6e 3b 20 20 20 20 20 0a 45 58 54   ┆ VAR z: zone): boolean;      EXT┆
0x2f920…2f940 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 6f 70 77 61 69 74 20 28 20 56 41 52 20 7a 3a 20   ┆ERNAL;PROCEDURE opwait ( VAR z: ┆
0x2f940…2f960 7a 6f 6e 65 3b 20 56 41 52 20 69 6e 70 75 74 70 6f 6f 6c 3a 20 70 6f 6f 6c 20 0a 31 29 3b 20 20   ┆zone; VAR inputpool: pool  1);  ┆
0x2f960…2f980 20 20 20 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 69 6e 63 68 61 72 20 28 20 56   ┆   EXTERNAL;PROCEDURE inchar ( V┆
0x2f980…2f9a0 41 52 20 7a 3a 20 7a 6f 6e 65 3b 20 56 41 52 20 74 3a 20 63 68 61 72 29 3b 20 20 20 20 20 0a 45   ┆AR z: zone; VAR t: char);      E┆
0x2f9a0…2f9c0 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 69 6e 69 6e 74 65 67 65 72 20 28 20 56 41   ┆XTERNAL;PROCEDURE ininteger ( VA┆
0x2f9c0…2f9e0 52 20 7a 3a 20 7a 6f 6e 65 3b 20 56 41 52 20 6e 75 6d 3a 20 69 6e 74 65 67 65 72 29 3b 20 20 20   ┆R z: zone; VAR num: integer);   ┆
0x2f9e0…2fa00 20 20 0a 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 69 6e 68 65 78 20 28 20 56 41   ┆   EXTERNAL;PROCEDURE inhex ( VA┆
0x2fa00…2fa20 52 20 7a 3a 20 7a 6f 6e 65 3b 20 56 41 52 20 6e 75 6d 3a 20 69 6e 74 65 67 65 72 29 3b 20 20 20   ┆R z: zone; VAR num: integer);   ┆
0x2fa20…2fa40 20 20 0a 45 58 54 45 52 4e 41 4c 3b 50 52 4f 43 45 44 55 52 45 20 69 6e 64 6f 75 62 6c 65 20 28   ┆   EXTERNAL;PROCEDURE indouble (┆
0x2fa40…2fa60 20 56 41 52 20 7a 3a 20 7a 6f 6e 65 3b 20 56 41 52 20 64 20 3a 20 64 6f 75 62 6c 65 29 3b 20 20   ┆ VAR z: zone; VAR d : double);  ┆
0x2fa60…2fa80 20 20 20 0a 45 58 54 45 52 4e 41 4c 3b 20 0d 0a 0d 0a 20 20 20 20 50 52 4f 43 45 44 55 52 45 20   ┆    EXTERNAL;         PROCEDURE ┆
0x2fa80…2faa0 69 6e 6e 61 6d 65 20 28 20 56 41 52 20 7a 3a 20 7a 6f 6e 65 3b 20 56 41 52 20 6e 61 6d 65 3a 20   ┆inname ( VAR z: zone; VAR name: ┆
0x2faa0…2fac0 61 6c 66 61 29 3b 20 20 20 20 20 0a 45 58 54 45 52 4e 41 4c 3b 20 20 20 20 20 50 52 4f 43 45 44   ┆alfa);      EXTERNAL;     PROCED┆
0x2fac0…2fae0 55 52 45 20 70 72 69 6e 74 6d 65 73 73 61 67 65 20 28 56 41 52 20 7a 3a 20 7a 6f 6e 65 3b 20 20   ┆URE printmessage (VAR z: zone;  ┆
0x2fae0…2fb00 20 20 20 20 20 56 41 52 20 0a 72 3a 20 72 65 66 65 72 65 6e 63 65 3b 20 20 20 20 20 20 20 66 69   ┆     VAR  r: reference;       fi┆
0x2fb00…2fb20 72 73 74 69 6e 64 65 78 2c 20 20 20 20 20 20 20 6c 61 73 74 69 6e 64 65 78 2c 20 20 20 20 20 20   ┆rstindex,       lastindex,      ┆
0x2fb20…2fb40 20 77 6f 72 64 73 5f 70 65 72 5f 6c 69 6e 65 3a 20 0a 69 6e 74 65 67 65 72 29 3b 20 20 20 20 20   ┆ words_per_line:  integer);     ┆
0x2fb40…2fb60 45 58 54 45 52 4e 41 4c 3b 20 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 16 53 61 0d 0a 4f 50 45 52 41 54 4f   ┆EXTERNAL;            Sa  OPERATO┆
0x2fb60…2fb80 52 20 49 4e 50 55 54 2f 4f 55 54 50 55 54 20 45 58 41 4d 50 4c 45 20 20 20 20 20 20 0d 0a 20 20   ┆R INPUT/OUTPUT EXAMPLE          ┆
0x2fb80…2fba0 50 52 4f 43 45 53 53 20 74 65 73 74 69 6f 31 20 28 56 41 52 20 73 76 20 3a 20 73 79 73 74 65 6d   ┆PROCESS testio1 (VAR sv : system┆
0x2fba0…2fbc0 5f 76 65 63 74 6f 72 29 3b 20 20 20 20 20 20 20 28 2a 20 73 69 6e 67 6c 65 20 73 74 72 65 61 6d   ┆_vector);       (* single stream┆
0x2fbc0…2fbe0 20 0a 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 77 69 74 68 20 6f 70 65 72 61 74 6f 72 20 2a 29   ┆  communication with operator *)┆
0x2fbe0…2fc00 20 20 20 20 20 20 20 28 2a 20 77 68 65 72 65 20 61 6c 6c 20 69 6e 70 75 74 20 6c 69 6e 65 73 20   ┆       (* where all input lines ┆
0x2fc00…2fc20 0a 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 3c 6e 6c 3e 20 2a 29 20 20 20 20 20 20 20 28 2a 20   ┆ terminated by <nl> *)       (* ┆
0x2fc20…2fc40 61 72 65 20 65 63 68 6f 65 64 20 6f 6e 20 74 68 65 20 63 6f 6e 73 6f 6c 65 20 20 20 20 20 20 2a   ┆are echoed on the console      *┆
0x2fc40…2fc60 29 20 20 20 0a 43 4f 4e 53 54 20 20 20 20 20 72 65 61 64 63 6f 64 65 3d 20 31 3b 20 20 20 20 20   ┆)    CONST     readcode= 1;     ┆
0x2fc60…2fc80 77 72 69 74 65 63 6f 64 65 20 20 20 20 20 20 20 20 20 3d 20 32 3b 20 20 20 20 20 6d 65 73 73 61   ┆writecode         = 2;     messa┆
0x2fc80…2fca0 67 65 20 3d 20 37 3b 20 20 20 20 20 0a 6e 6f 5f 6f 66 5f 6f 70 62 75 66 66 65 72 73 20 20 20 3d   ┆ge = 7;      no_of_opbuffers   =┆
0x2fca0…2fcc0 20 32 3b 20 20 20 20 20 6e 6f 5f 6f 66 5f 69 6e 62 75 66 66 65 72 73 20 20 20 3d 20 31 3b 20 20   ┆ 2;     no_of_inbuffers   = 1;  ┆
0x2fcc0…2fce0 20 20 20 0a 6e 6f 5f 6f 66 5f 6f 75 74 62 75 66 66 65 72 73 20 20 3d 20 6e 6f 5f 6f 66 5f 6f 70   ┆    no_of_outbuffers  = no_of_op┆
0x2fce0…2fd00 62 75 66 66 65 72 73 20 2d 20 6e 6f 5f 6f 66 5f 69 6e 62 75 66 66 65 72 73 3b 20 20 20 56 41 52   ┆buffers - no_of_inbuffers;   VAR┆
0x2fd00…2fd20 20 20 20 20 20 74 20 20 20 20 20 20 20 20 0a 3a 20 63 68 61 72 3b 20 20 20 20 20 6f 70 70 6f 6f   ┆     t         : char;     oppoo┆
0x2fd20…2fd40 6c 20 20 20 3a 20 70 6f 6f 6c 20 6e 6f 5f 6f 66 5f 6f 70 62 75 66 66 65 72 73 20 4f 46 20 6f 70   ┆l   : pool no_of_opbuffers OF op┆
0x2fd40…2fd60 62 75 66 66 65 72 3b 20 20 20 20 20 0a 6b 65 79 62 6f 61 72 64 20 2c 20 20 20 20 20 64 69 73 70   ┆buffer;      keyboard ,     disp┆
0x2fd60…2fd80 6c 61 79 20 20 3a 20 7a 6f 6e 65 3b 20 20 20 42 45 47 49 4e 20 20 20 20 20 6f 70 65 6e 6f 70 7a   ┆lay  : zone;   BEGIN     openopz┆
0x2fd80…2fda0 6f 6e 65 20 28 64 69 73 70 6c 61 79 2c 20 0a 73 76 28 6f 70 65 72 61 74 6f 72 73 65 6d 29 2c 20   ┆one (display,  sv(operatorsem), ┆
0x2fda0…2fdc0 20 20 20 20 72 65 66 28 64 69 73 70 6c 61 79 2e 66 72 65 65 29 2c 20 6e 6f 5f 6f 66 5f 6f 75 74   ┆    ref(display.free), no_of_out┆
0x2fdc0…2fde0 62 75 66 66 65 72 73 2c 20 6f 70 70 6f 6f 6c 2c 20 20 20 20 20 0a 77 72 69 74 65 63 6f 64 65 2c   ┆buffers, oppool,      writecode,┆
0x2fde0…2fe00 20 6d 65 73 73 61 67 65 2c 20 30 2c 20 30 29 3b 20 20 20 20 20 20 20 6f 75 74 66 69 6c 6c 20 28   ┆ message, 0, 0);       outfill (┆
0x2fe00…2fe20 64 69 73 70 6c 61 79 2c 20 27 2e 27 2c 20 31 30 29 3b 20 20 20 20 20 6f 75 74 61 6c 66 61 20 0a   ┆display, '.', 10);     outalfa  ┆
0x2fe20…2fe40 28 64 69 73 70 6c 61 79 2c 20 27 20 57 65 6c 63 6f 6d 65 20 74 6f 20 27 29 3b 20 20 20 20 20 6f   ┆(display, ' Welcome to ');     o┆
0x2fe40…2fe60 75 74 61 6c 66 61 20 28 64 69 73 70 6c 61 79 2c 20 6f 77 6e 2e 69 6e 63 6e 61 6d 65 29 3b 20 20   ┆utalfa (display, own.incname);  ┆
0x2fe60…2fe80 20 20 20 0a 6f 75 74 66 69 6c 6c 20 28 64 69 73 70 6c 61 79 2c 20 27 2e 27 2c 20 31 30 29 3b 20   ┆    outfill (display, '.', 10); ┆
0x2fe80…2fea0 20 20 20 20 6f 75 74 63 68 61 72 20 28 64 69 73 70 6c 61 79 2c 20 6e 6c 29 3b 20 20 20 20 20 20   ┆    outchar (display, nl);      ┆
0x2fea0…2fec0 20 20 20 28 2a 20 6e 6f 77 20 0a 6f 70 65 6e 20 74 68 65 20 7a 6f 6e 65 20 6b 65 79 62 6f 61 72   ┆   (* now  open the zone keyboar┆
0x2fec0…2fee0 64 20 66 6f 72 20 6f 70 65 72 61 74 6f 72 20 69 6e 70 75 74 20 2a 29 20 20 20 20 20 6f 70 65 6e   ┆d for operator input *)     open┆
0x2fee0…2ff00 6f 70 7a 6f 6e 65 20 0a 28 6b 65 79 62 6f 61 72 64 2c 20 73 76 28 6f 70 65 72 61 74 6f 72 73 65   ┆opzone  (keyboard, sv(operatorse┆
0x2ff00…2ff20 6d 29 2c 20 20 20 20 20 72 65 66 28 6b 65 79 62 6f 61 72 64 2e 64 61 74 61 72 65 61 64 79 29 2c   ┆m),     ref(keyboard.dataready),┆
0x2ff20…2ff40 20 0a 6e 6f 5f 6f 66 5f 69 6e 62 75 66 66 65 72 73 2c 20 6f 70 70 6f 6f 6c 2c 20 20 20 20 20 72   ┆  no_of_inbuffers, oppool,     r┆
0x2ff40…2ff60 65 61 64 63 6f 64 65 2c 20 6d 65 73 73 61 67 65 2c 20 30 2c 20 30 29 3b 20 20 20 20 20 20 20 52   ┆eadcode, message, 0, 0);       R┆
0x2ff60…2ff80 45 50 45 41 54 20 20 20 20 20 20 20 0a 6f 75 74 61 6c 66 61 20 28 64 69 73 70 6c 61 79 2c 20 27   ┆EPEAT        outalfa (display, '┆
0x2ff80…2ffa0 69 6e 70 75 74 20 3c 6e 6c 3e 3a 27 29 3b 20 20 20 20 20 20 20 6f 75 74 65 6e 64 20 20 28 64 69   ┆input <nl>:');       outend  (di┆
0x2ffa0…2ffc0 73 70 6c 61 79 29 3b 20 20 20 20 20 20 20 6f 70 69 6e 20 20 20 20 0a 28 6b 65 79 62 6f 61 72 64   ┆splay);       opin     (keyboard┆
0x2ffc0…2ffe0 29 3b 20 20 20 20 20 20 20 6f 70 77 61 69 74 20 20 28 6b 65 79 62 6f 61 72 64 2c 20 6f 70 70 6f   ┆);       opwait  (keyboard, oppo┆
0x2ffe0…30000 6f 6c 29 3b 20 20 20 20 20 20 20 52 45 50 45 41 54 20 20 20 20 20 20 20 20 20 0a 69 6e 63 68 61   ┆ol);       REPEAT          incha┆
0x30000…30020 72 20 20 28 6b 65 79 62 6f 61 72 64 2c 20 74 29 3b 20 20 20 20 20 20 20 20 20 6f 75 74 63 68 61   ┆r  (keyboard, t);         outcha┆
0x30020…30040 72 20 28 64 69 73 70 6c 61 79 20 2c 20 74 29 3b 20 20 20 20 20 20 20 20 20 49 46 20 74 20 3d 20   ┆r (display , t);         IF t = ┆
0x30040…30060 0a 6e 6c 20 54 48 45 4e 20 42 45 47 49 4e 20 20 20 6f 75 74 63 68 61 72 20 28 64 69 73 70 6c 61   ┆ nl THEN BEGIN   outchar (displa┆
0x30060…30080 79 2c 20 62 65 6c 29 3b 20 20 20 6f 75 74 65 6e 64 20 20 28 64 69 73 70 6c 61 79 29 3b 20 45 4e   ┆y, bel);   outend  (display); EN┆
0x30080…300a0 44 3b 20 20 20 20 20 20 20 0a 55 4e 54 49 4c 20 6b 65 79 62 6f 61 72 64 2e 72 65 61 64 73 74 61   ┆D;        UNTIL keyboard.readsta┆
0x300a0…300c0 74 65 20 3c 20 30 3b 20 20 20 20 20 55 4e 54 49 4c 20 66 61 6c 73 65 20 20 20 45 4e 44 2e 20 20   ┆te < 0;     UNTIL false   END.  ┆
0x300c0…300e0 20 50 52 4f 43 45 53 53 20 0a 74 65 73 74 69 6f 32 20 28 56 41 52 20 73 76 20 3a 20 73 79 73 74   ┆ PROCESS  testio2 (VAR sv : syst┆
0x300e0…30100 65 6d 5f 76 65 63 74 6f 72 29 3b 20 20 20 20 20 20 20 28 2a 20 74 68 65 20 70 72 6f 67 72 61 6d   ┆em_vector);       (* the program┆
0x30100…30120 20 70 72 69 6e 74 73 20 74 68 65 20 0a 8c 88 88 0a 67 6c 6f 62 61 6c 20 74 69 6d 65 20 2a 29 20   ┆ prints the  їѕѕ global time *) ┆
0x30120…30140 20 20 20 20 20 20 28 2a 20 65 76 65 72 79 20 33 30 20 73 65 63 6f 6e 64 73 20 61 6e 64 20 65 63   ┆      (* every 30 seconds and ec┆
0x30140…30160 68 6f 65 73 20 61 6c 6c 20 20 20 20 2a 29 20 20 20 20 20 20 20 0a 28 2a 20 69 6e 70 75 74 20 6c   ┆hoes all    *)        (* input l┆
0x30160…30180 69 6e 65 73 20 66 72 6f 6d 20 74 68 65 20 6b 65 79 62 6f 72 64 20 6f 6e 20 20 20 20 2a 29 20 20   ┆ines from the keybord on    *)  ┆
0x30180…301a0 20 20 20 20 20 28 2a 20 74 68 65 20 63 6f 6e 73 6f 6c 65 20 2e 20 54 68 65 20 0a 63 6f 6d 6d 75   ┆     (* the console . The  commu┆
0x301a0…301c0 6e 69 63 61 74 69 6f 6e 20 20 20 20 2a 29 20 20 20 20 20 20 20 28 2a 20 69 73 20 69 6d 70 6c 65   ┆nication    *)       (* is imple┆
0x301c0…301e0 6d 65 6e 74 65 64 20 61 73 20 74 77 6f 20 6c 6f 67 69 63 61 6c 20 20 20 20 20 20 2a 29 20 20 20   ┆mented as two logical      *)   ┆
0x301e0…30200 20 20 20 20 0a 28 2a 20 73 74 72 65 61 6d 73 20 20 20 20 20 20 20 20 2a 29 20 20 20 43 4f 4e 53   ┆     (* streams        *)   CONS┆
0x30200…30220 54 20 20 20 20 20 72 65 61 64 63 6f 64 65 3d 20 31 3b 20 20 20 20 20 77 72 69 74 65 63 6f 64 65   ┆T     readcode= 1;     writecode┆
0x30220…30240 20 20 20 20 20 20 20 20 20 0a 3d 20 32 3b 20 20 20 20 20 6d 65 73 73 61 67 65 20 3d 20 37 3b 20   ┆          = 2;     message = 7; ┆
0x30240…30260 20 20 20 20 6e 6f 5f 6f 66 5f 6f 70 62 75 66 66 65 72 73 20 20 20 3d 20 32 3b 20 20 20 20 20 6e   ┆    no_of_opbuffers   = 2;     n┆
0x30260…30280 6f 5f 6f 66 5f 69 6e 62 75 66 66 65 72 73 20 20 20 0a 3d 20 31 3b 20 20 20 20 20 6e 6f 5f 6f 66   ┆o_of_inbuffers    = 1;     no_of┆
0x30280…302a0 5f 6f 75 74 62 75 66 66 65 72 73 20 20 3d 20 6e 6f 5f 6f 66 5f 6f 70 62 75 66 66 65 72 73 20 2d   ┆_outbuffers  = no_of_opbuffers -┆
0x302a0…302c0 20 6e 6f 5f 6f 66 5f 69 6e 62 75 66 66 65 72 73 3b 20 20 20 20 20 0a 73 74 72 65 61 6d 30 20 3d   ┆ no_of_inbuffers;      stream0 =┆
0x302c0…302e0 20 30 3b 20 20 20 20 20 73 74 72 65 61 6d 31 20 3d 20 31 3b 20 20 20 20 20 6c 6f 6e 67 64 65 6c   ┆ 0;     stream1 = 1;     longdel┆
0x302e0…30300 61 79 20 20 20 20 20 20 20 20 20 3d 20 31 33 3b 20 20 20 20 20 0a 67 65 74 63 6c 6f 63 6b 3d 20   ┆ay         = 13;      getclock= ┆
0x30300…30320 31 3b 20 20 20 20 20 56 41 52 20 20 20 20 20 74 20 20 20 20 20 20 20 20 20 3a 20 63 68 61 72 3b   ┆1;     VAR     t         : char;┆
0x30320…30340 20 20 20 20 20 6f 70 70 6f 6f 6c 20 20 20 20 3a 20 70 6f 6f 6c 20 0a 6e 6f 5f 6f 66 5f 6f 70 62   ┆     oppool    : pool  no_of_opb┆
0x30340…30360 75 66 66 65 72 73 20 4f 46 20 6f 70 62 75 66 66 65 72 3b 20 20 20 20 20 64 65 6c 61 79 70 6f 6f   ┆uffers OF opbuffer;     delaypoo┆
0x30360…30380 6c 20 3a 20 70 6f 6f 6c 20 31 20 4f 46 20 64 65 6c 61 79 74 79 70 65 3b 20 20 20 20 20 0a 6b 65   ┆l : pool 1 OF delaytype;      ke┆
0x30380…303a0 79 62 6f 61 72 64 20 20 2c 20 20 20 20 20 64 69 73 70 6c 61 79 20 20 20 3a 20 7a 6f 6e 65 3b 20   ┆yboard  ,     display   : zone; ┆
0x303a0…303c0 20 20 20 20 6d 61 69 6e 73 65 6d 20 20 20 3a 20 73 65 6d 61 70 68 6f 72 65 3b 20 20 20 20 20 72   ┆    mainsem   : semaphore;     r┆
0x303c0…303e0 20 20 20 20 20 20 20 20 20 0a 3a 20 72 65 66 65 72 65 6e 63 65 3b 20 20 20 20 20 20 20 50 52 4f   ┆          : reference;       PRO┆
0x303e0…30400 43 45 44 55 52 45 20 69 6e 69 74 5f 74 69 6d 65 72 63 6f 6d 3b 20 20 20 20 20 42 45 47 49 4e 20   ┆CEDURE init_timercom;     BEGIN ┆
0x30400…30420 20 20 20 20 20 20 61 6c 6c 6f 63 20 0a 28 72 2c 20 64 65 6c 61 79 70 6f 6f 6c 2c 20 6d 61 69 6e   ┆      alloc  (r, delaypool, main┆
0x30420…30440 73 65 6d 29 3b 20 20 20 20 20 20 20 72 1f 2e 75 31 20 3a 3d 20 67 65 74 63 6c 6f 63 6b 3b 20 20   ┆sem);       r .u1 := getclock;  ┆
0x30440…30460 20 20 20 20 20 73 65 6e 64 74 69 6d 65 72 20 28 72 29 3b 20 20 20 20 20 20 20 0a 77 61 69 74 20   ┆     sendtimer (r);        wait ┆
0x30460…30480 28 72 2c 20 6d 61 69 6e 73 65 6d 29 3b 20 20 20 20 20 20 20 4c 4f 43 4b 20 72 20 41 53 20 64 20   ┆(r, mainsem);       LOCK r AS d ┆
0x30480…304a0 3a 20 64 65 6c 61 79 74 79 70 65 20 44 4f 20 20 20 20 20 20 20 20 20 57 49 54 48 20 0a 64 2e 69   ┆: delaytype DO         WITH  d.i┆
0x304a0…304c0 6e 63 20 44 4f 20 42 45 47 49 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 79 73 20 20 3a 3d   ┆nc DO BEGIN             days  :=┆
0x304c0…304e0 20 30 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 75 72 73 20 3a 3d 20 30 3b 20 20 20 0a 6d   ┆ 0;             hours := 0;    m┆
0x304e0…30500 69 6e 73 20 20 3a 3d 20 30 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 63 73 20 20 3a 3d 20   ┆ins  := 0;             secs  := ┆
0x30500…30520 33 30 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 73 65 63 73 20 3a 3d 20 30 3b 20 45 4e 44 3b   ┆30;             msecs := 0; END;┆
0x30520…30540 20 20 20 20 20 20 20 0a 72 1f 2e 75 31 20 3a 3d 20 6c 6f 6e 67 64 65 6c 61 79 3b 20 20 20 20 20   ┆        r .u1 := longdelay;     ┆
0x30540…30560 20 20 72 1f 2e 75 34 20 3a 3d 20 73 74 72 65 61 6d 30 3b 20 20 20 20 20 20 20 73 65 6e 64 74 69   ┆  r .u4 := stream0;       sendti┆
0x30560…30580 6d 65 72 20 28 72 29 3b 20 20 20 20 20 20 20 20 20 0a 28 2a 20 66 72 6f 6d 20 6e 6f 77 20 6f 6e   ┆mer (r);          (* from now on┆
0x30580…305a0 20 74 68 69 73 20 69 73 20 69 6e 70 75 74 20 6f 6e 20 73 74 72 65 61 6d 20 30 20 2a 29 20 20 20   ┆ this is input on stream 0 *)   ┆
0x305a0…305c0 20 20 45 4e 44 3b 20 28 2a 20 0a 69 6e 69 74 5f 74 69 6d 65 72 63 6f 6d 20 2a 29 20 0d 0a 0d 0a   ┆  END; (*  init_timercom *)     ┆
0x305c0…305e0 20 20 20 20 50 52 4f 43 45 44 55 52 45 20 69 6e 69 74 5f 6f 70 63 6f 6d 3b 20 20 20 20 20 42 45   ┆    PROCEDURE init_opcom;     BE┆
0x305e0…30600 47 49 4e 20 20 20 20 20 20 20 20 20 28 2a 20 6f 70 65 6e 20 6f 75 74 70 75 74 7a 6f 6e 65 20 0a   ┆GIN         (* open outputzone  ┆
0x30600…30620 66 6f 72 20 6f 70 65 72 61 74 6f 72 20 6f 75 74 70 75 74 20 2a 29 20 20 20 20 20 20 20 6f 70 65   ┆for operator output *)       ope┆
0x30620…30640 6e 6f 70 7a 6f 6e 65 20 28 64 69 73 70 6c 61 79 2c 20 73 76 28 6f 70 65 72 61 74 6f 72 73 65 6d   ┆nopzone (display, sv(operatorsem┆
0x30640…30660 29 2c 20 20 20 20 20 20 20 0a 72 65 66 28 64 69 73 70 6c 61 79 2e 66 72 65 65 29 2c 20 6e 6f 5f   ┆),        ref(display.free), no_┆
0x30660…30680 6f 66 5f 6f 75 74 62 75 66 66 65 72 73 2c 20 6f 70 70 6f 6f 6c 2c 20 20 20 20 20 20 20 77 72 69   ┆of_outbuffers, oppool,       wri┆
0x30680…306a0 74 65 63 6f 64 65 2c 20 6d 65 73 73 61 67 65 2c 20 0a 30 2c 20 30 29 3b 20 20 20 20 20 20 20 20   ┆tecode, message,  0, 0);        ┆
0x306a0…306c0 20 28 2a 20 70 72 69 6e 74 20 77 65 6c 63 6f 6d 65 20 74 65 78 74 20 6f 6e 20 64 69 73 70 6c 61   ┆ (* print welcome text on displa┆
0x306c0…306e0 79 20 2a 29 20 20 20 20 20 20 20 6f 75 74 66 69 6c 6c 20 0a 28 64 69 73 70 6c 61 79 2c 20 27 2e   ┆y *)       outfill  (display, '.┆
0x306e0…30700 27 2c 20 31 30 29 3b 20 20 20 20 20 20 20 6f 75 74 61 6c 66 61 20 28 64 69 73 70 6c 61 79 2c 20   ┆', 10);       outalfa (display, ┆
0x30700…30720 27 20 57 65 6c 63 6f 6d 65 20 74 6f 20 27 29 3b 20 20 20 20 20 20 20 0a 6f 75 74 61 6c 66 61 20   ┆' Welcome to ');        outalfa ┆
0x30720…30740 28 64 69 73 70 6c 61 79 2c 20 6f 77 6e 2e 69 6e 63 6e 61 6d 65 29 3b 20 20 20 20 20 20 20 6f 75   ┆(display, own.incname);       ou┆
0x30740…30760 74 66 69 6c 6c 20 28 64 69 73 70 6c 61 79 2c 20 27 2e 27 2c 20 31 30 29 3b 20 20 20 20 20 20 20   ┆tfill (display, '.', 10);       ┆
0x30760…30780 0a 6f 75 74 63 68 61 72 20 28 64 69 73 70 6c 61 79 2c 20 6e 6c 29 3b 20 20 20 20 20 20 20 20 20   ┆ outchar (display, nl);         ┆
0x30780…307a0 28 2a 20 6e 6f 77 20 6f 70 65 6e 20 74 68 65 20 7a 6f 6e 65 20 6b 65 79 62 6f 61 72 64 20 66 6f   ┆(* now open the zone keyboard fo┆
0x307a0…307c0 72 20 0a 6f 70 65 72 61 74 6f 72 20 2a 29 20 20 20 20 20 20 20 20 20 28 2a 20 6f 70 65 72 61 74   ┆r  operator *)         (* operat┆
0x307c0…307e0 6f 72 20 6f 6e 20 73 74 72 65 61 6d 20 31 2a 29 20 20 20 20 20 20 20 6f 70 65 6e 6f 70 7a 6f 6e   ┆or on stream 1*)       openopzon┆
0x307e0…30800 65 20 0a 28 6b 65 79 62 6f 61 72 64 2c 20 73 76 28 6f 70 65 72 61 74 6f 72 73 65 6d 29 2c 20 20   ┆e  (keyboard, sv(operatorsem),  ┆
0x30800…30820 20 20 20 20 20 72 65 66 28 6d 61 69 6e 73 65 6d 29 2c 20 6e 6f 5f 6f 66 5f 69 6e 62 75 66 66 65   ┆     ref(mainsem), no_of_inbuffe┆
0x30820…30840 72 73 2c 20 0a 6f 70 70 6f 6f 6c 2c 20 20 20 20 20 20 20 72 65 61 64 63 6f 64 65 2c 20 6d 65 73   ┆rs,  oppool,       readcode, mes┆
0x30840…30860 73 61 67 65 2c 20 30 2c 20 73 74 72 65 61 6d 31 29 3b 20 20 20 20 20 45 4e 44 3b 20 28 2a 20 69   ┆sage, 0, stream1);     END; (* i┆
0x30860…30880 6e 69 74 5f 6f 70 63 6f 6d 20 0a 2a 29 20 20 20 20 20 42 45 47 49 4e 20 28 2a 20 6d 61 69 6e 20   ┆nit_opcom  *)     BEGIN (* main ┆
0x30880…308a0 70 72 6f 67 72 61 6d 20 2a 29 20 20 20 20 20 20 20 69 6e 69 74 5f 74 69 6d 65 72 63 6f 6d 3b 20   ┆program *)       init_timercom; ┆
0x308a0…308c0 20 20 20 20 0a 69 6e 69 74 5f 6f 70 63 6f 6d 3b 20 20 20 20 20 20 20 20 20 28 2a 20 66 69 72 73   ┆     init_opcom;         (* firs┆
0x308c0…308e0 74 20 6f 75 74 70 75 74 20 74 6f 20 6f 70 65 72 61 74 6f 72 20 2a 29 20 20 20 20 20 6f 75 74 61   ┆t output to operator *)     outa┆
0x308e0…30900 6c 66 61 20 0a 28 64 69 73 70 6c 61 79 2c 20 27 69 6e 70 75 74 20 3c 6e 6c 3e 3a 27 29 3b 20 20   ┆lfa  (display, 'input <nl>:');  ┆
0x30900…30920 20 20 20 6f 75 74 6e 6c 20 20 20 28 64 69 73 70 6c 61 79 29 3b 20 20 20 20 20 20 20 20 20 28 2a   ┆   outnl   (display);         (*┆
0x30920…30940 20 66 69 72 73 74 20 69 6e 70 75 74 20 0a 74 6f 20 6f 70 65 72 61 74 6f 72 20 2a 29 20 20 20 20   ┆ first input  to operator *)    ┆
0x30940…30960 20 6f 70 69 6e 20 28 6b 65 79 62 6f 61 72 64 29 3b 20 20 20 20 20 20 20 52 45 50 45 41 54 20 20   ┆ opin (keyboard);       REPEAT  ┆
0x30960…30980 20 20 20 20 20 20 20 77 61 69 74 20 28 72 2c 20 0a 6d 61 69 6e 73 65 6d 29 3b 20 20 20 20 20 20   ┆       wait (r,  mainsem);      ┆
0x30980…309a0 20 20 20 43 41 53 45 20 72 1f 2e 75 34 20 4f 46 20 20 20 20 20 20 20 20 20 73 74 72 65 61 6d 30   ┆   CASE r .u4 OF         stream0┆
0x309a0…309c0 3a 20 42 45 47 49 4e 20 20 20 4c 4f 43 4b 20 72 20 0a 41 53 20 64 20 3a 20 64 65 6c 61 79 74 79   ┆: BEGIN   LOCK r  AS d : delayty┆
0x309c0…309e0 70 65 20 44 4f 20 20 20 20 20 42 45 47 49 4e 20 20 20 20 20 20 20 6f 75 74 64 61 74 65 20 28 64   ┆pe DO     BEGIN       outdate (d┆
0x309e0…30a00 69 73 70 6c 61 79 2c 20 64 2e 70 72 65 76 5f 64 61 74 65 29 3b 20 20 20 20 20 20 20 0a 6f 75 74   ┆isplay, d.prev_date);        out┆
0x30a00…30a20 63 68 61 72 20 28 64 69 73 70 6c 61 79 2c 20 73 70 29 3b 20 20 20 20 20 20 20 6f 75 74 74 69 6d   ┆char (display, sp);       outtim┆
0x30a20…30a40 65 20 28 64 69 73 70 6c 61 79 2c 20 64 2e 70 72 65 76 5f 74 69 6d 65 29 3b 20 20 20 20 20 20 20   ┆e (display, d.prev_time);       ┆
0x30a40…30a60 0a 6f 75 74 6e 6c 20 20 20 28 64 69 73 70 6c 61 79 29 3b 20 20 20 20 20 45 4e 44 3b 20 20 20 73   ┆ outnl   (display);     END;   s┆
0x30a60…30a80 65 6e 64 74 69 6d 65 72 20 28 72 29 3b 20 45 4e 44 3b 20 0d 0a 0d 0a 20 20 20 20 20 20 20 20 73   ┆endtimer (r); END;             s┆
0x30a80…30aa0 74 72 65 61 6d 31 3a 20 42 45 47 49 4e 20 20 20 6f 70 61 6e 73 77 65 72 20 28 72 2c 20 6b 65 79   ┆tream1: BEGIN   opanswer (r, key┆
0x30aa0…30ac0 62 6f 61 72 64 29 3b 20 20 20 6f 70 77 61 69 74 20 20 20 0a 28 6b 65 79 62 6f 61 72 64 2c 20 6f   ┆board);   opwait    (keyboard, o┆
0x30ac0…30ae0 70 70 6f 6f 6c 29 3b 20 20 20 52 45 50 45 41 54 20 20 20 20 20 69 6e 63 68 61 72 20 20 28 6b 65   ┆ppool);   REPEAT     inchar  (ke┆
0x30ae0…30b00 79 62 6f 61 72 64 2c 20 74 29 3b 20 20 20 20 20 6f 75 74 63 68 61 72 20 0a 28 64 69 73 70 6c 61   ┆yboard, t);     outchar  (displa┆
0x30b00…30b20 79 20 2c 20 74 29 3b 20 20 20 20 20 49 46 20 74 20 3d 20 6e 6c 20 54 48 45 4e 20 20 20 20 20 20   ┆y , t);     IF t = nl THEN      ┆
0x30b20…30b40 20 42 45 47 49 4e 20 20 20 20 20 20 20 20 20 6f 75 74 63 68 61 72 20 0a 28 64 69 73 70 6c 61 79   ┆ BEGIN         outchar  (display┆
0x30b40…30b60 2c 20 62 65 6c 29 3b 20 20 20 20 20 20 20 20 20 6f 75 74 65 6e 64 20 20 28 64 69 73 70 6c 61 79   ┆, bel);         outend  (display┆
0x30b60…30b80 29 3b 20 20 20 20 20 20 20 45 4e 44 3b 20 20 20 55 4e 54 49 4c 20 0a 6b 65 79 62 6f 61 72 64 2e   ┆);       END;   UNTIL  keyboard.┆
0x30b80…30ba0 72 65 61 64 73 74 61 74 65 20 3c 20 30 3b 20 20 20 6f 75 74 61 6c 66 61 20 28 64 69 73 70 6c 61   ┆readstate < 0;   outalfa (displa┆
0x30ba0…30bc0 79 2c 20 27 69 6e 70 75 74 20 3c 6e 6c 3e 20 3a 27 29 3b 20 20 20 6f 75 74 6e 6c 20 20 20 0a 28   ┆y, 'input <nl> :');   outnl    (┆
0x30bc0…30be0 64 69 73 70 6c 61 79 29 3b 20 20 20 6f 70 69 6e 20 20 20 20 28 6b 65 79 62 6f 61 72 64 29 3b 20   ┆display);   opin    (keyboard); ┆
0x30be0…30c00 45 4e 44 3b 20 20 20 20 20 20 20 45 4e 44 3b 20 28 2a 20 63 61 73 65 20 2a 29 20 20 20 20 20 0a   ┆END;       END; (* case *)      ┆
0x30c00…30c20 55 4e 54 49 4c 20 66 61 6c 73 65 20 20 20 20 20 45 4e 44 3b 20 20 20 2e 20 0d 0a 0d 0a 0d 0a 16   ┆UNTIL false     END;   .        ┆
0x30c20…30c40 53 41 0d 0a 45 58 43 45 50 54 49 4f 4e 20 43 4f 44 45 53 20 20 20 20 20 20 20 0d 0a 04 00 2d 4c   ┆SA  EXCEPTION CODES           -L┆
0x30c40…30c60 00 00 06 00 00 00 00 02 01 41 31 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆         A1@                    ┆
0x30c60…30c80 00 00 00 00 0d ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 04 04 00 2d 4c 00 00 06 00 00 00 00   ┆                       -L       ┆
0x30c80…30ca0 02 01 41 31 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ff   ┆  A1@                           ┆
0x30ca0…30cc0 ff ff ff ff ff ff ff ff ff ff ff ff ff 04 0a a1 43 6f 64 65 1f 28 48 65 78 29 09 4d 65 61 6e 69   ┆               АCode (Hex) Meani┆
0x30cc0…30ce0 6e 67 20 0d 0a 0d 0a 31 09 2d 20 70 61 72 69 74 79 20 65 72 72 6f 72 20 0d 0a 32 09 2d 20 72 65   ┆ng     1 - parity error   2 - re┆
0x30ce0…30d00 67 69 73 74 65 72 73 74 61 63 6b 20 65 72 72 6f 72 20 0d 0a 33 09 2d 20 75 6e 64 65 66 69 6e 65   ┆gisterstack error   3 - undefine┆
0x30d00…30d20 64 20 6f 70 63 6f 64 65 20 0d 0a 34 09 2d 20 6f 64 64 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74   ┆d opcode   4 - odd number of byt┆
0x30d20…30d40 65 73 20 0d 0a 35 09 2d 20 73 74 61 63 6b 20 6f 76 65 72 66 6c 6f 77 20 0d 0a 36 09 2d 20 70 6f   ┆es   5 - stack overflow   6 - po┆
0x30d40…30d60 69 6e 74 65 72 20 3d 20 6e 69 6c 20 0d 0a 37 09 2d 20 73 69 67 6e 61 6c 3a 20 72 65 66 65 72 65   ┆inter = nil   7 - signal: refere┆
0x30d60…30d80 6e 63 65 20 3d 20 6e 69 6c 20 0d 0a 09 2d 20 70 75 73 68 3a 20 20 20 66 69 72 73 74 20 70 61 72   ┆nce = nil    - push:   first par┆
0x30d80…30da0 61 6d 20 3d 20 6e 69 6c 0d 0a 09 2d 20 70 6f 70 3a 20 20 20 20 73 65 63 6f 6e 64 20 70 61 72 61   ┆am = nil   - pop:    second para┆
0x30da0…30dc0 6d 20 3d 20 6e 69 6c 20 0d 0a 09 2d 20 6c 6f 63 6b 3a 20 20 20 72 65 66 65 72 65 6e 63 65 20 3d   ┆m = nil    - lock:   reference =┆
0x30dc0…30de0 20 6e 69 6c 20 0d 0a 09 2d 20 72 65 66 65 72 65 6e 63 65 20 3d 20 6e 69 6c 20 0d 0a 38 09 2d 20   ┆ nil    - reference = nil   8 - ┆
0x30de0…30e00 77 61 69 74 3a 20 20 20 72 65 66 65 72 65 6e 63 65 20 3c 3e 20 6e 69 6c 20 0d 0a 09 2d 20 70 6f   ┆wait:   reference <> nil    - po┆
0x30e00…30e20 70 3a 20 20 20 20 66 69 72 73 74 20 70 61 72 61 6d 20 3c 3e 20 6e 69 6c 20 0d 0a 39 09 2d 20 70   ┆p:    first param <> nil   9 - p┆
0x30e20…30e40 75 73 68 3a 20 20 20 70 61 72 61 6d 20 6c 6f 63 6b 65 64 20 0d 0a 09 2d 20 70 6f 70 3a 20 20 20   ┆ush:   param locked    - pop:   ┆
0x30e40…30e60 20 73 65 63 6f 6e 64 20 70 61 72 61 6d 20 6c 6f 63 6b 65 64 20 0d 0a 09 2d 20 73 69 67 6e 61 6c   ┆ second param locked    - signal┆
0x30e60…30e80 3a 20 72 65 66 65 72 65 6e 63 65 20 6c 6f 63 6b 65 64 20 0d 0a 8c 8c b0 0a 09 2d 20 72 65 66 65   ┆: reference locked   її░  - refe┆
0x30e80…30ea0 72 65 6e 63 65 20 6c 6f 63 6b 65 64 20 0d 0a 41 09 2d 20 6c 6f 63 6b 20 6f 76 65 72 66 6c 6f 77   ┆rence locked   A - lock overflow┆
0x30ea0…30ec0 20 0d 0a 42 09 2d 20 61 72 69 74 68 6d 65 74 69 63 20 6f 76 65 72 66 6c 6f 77 20 0d 0a 43 09 2d   ┆   B - arithmetic overflow   C -┆
0x30ec0…30ee0 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 62 6f 75 6e 64 73 20 0d 0a 09 2d 20 73 75 62 72 61 6e   ┆ index out of bounds    - subran┆
0x30ee0…30f00 67 65 20 6f 75 74 20 6f 66 20 62 6f 75 6e 64 73 20 0d 0a 44 1f 09 2d 20 69 6c 6c 65 67 61 6c 20   ┆ge out of bounds   D  - illegal ┆
0x30f00…30f20 7a 6f 6e 65 73 74 61 74 65 20 0d 0a 45 1f 09 2d 20 66 69 65 6c 64 20 6f 76 65 72 66 6c 6f 77 20   ┆zonestate   E  - field overflow ┆
0x30f20…30f40 0d 0a 46 1f 09 2d 20 6d 6f 76 65 20 77 72 61 70 61 72 6f 75 6e 64 20 0d 0a 31 30 09 2d 20 70 75   ┆  F  - move wraparound   10 - pu┆
0x30f40…30f60 73 68 3a 20 69 64 65 6e 74 69 63 61 6c 20 61 72 67 75 6d 65 6e 74 73 20 0d 0a 31 31 09 2d 20 70   ┆sh: identical arguments   11 - p┆
0x30f60…30f80 75 73 68 3a 20 66 69 72 73 74 20 70 61 72 61 6d 20 6e 6f 74 20 65 6d 70 74 79 20 0d 0a 31 32 09   ┆ush: first param not empty   12 ┆
0x30f80…30fa0 2d 20 6c 6f 63 6b 3a 20 73 69 7a 65 20 65 72 72 6f 72 20 0d 0a 09 2d 20 73 69 7a 65 20 74 6f 6f   ┆- lock: size error    - size too┆
0x30fa0…30fc0 20 73 6d 61 6c 6c 20 0d 0a 31 33 09 2d 20 6c 61 73 74 20 3c 20 66 69 72 73 74 20 0d 0a 31 34 09   ┆ small   13 - last < first   14 ┆
0x30fc0…30fe0 2d 20 6c 6f 63 6b 3a 20 6e 6f 74 20 64 61 74 61 20 6d 65 73 73 61 67 65 20 0d 0a 09 2d 20 6e 6f   ┆- lock: not data message    - no┆
0x30fe0…31000 74 20 64 61 74 61 20 6d 65 73 73 61 67 65 20 0d 0a 31 35 09 2d 20 6e 6f 74 20 63 68 61 6e 6e 65   ┆t data message   15 - not channe┆
0x31000…31020 6c 20 6d 65 73 73 61 67 65 20 0d 0a 31 36 09 2d 20 77 6f 72 64 20 62 6c 6f 63 6b 20 69 2f 6f 3a   ┆l message   16 - word block i/o:┆
0x31020…31040 20 6f 64 64 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 0d 0a 31 37 09 2d 20 62 6c 6f 63   ┆ odd number of bytes   17 - bloc┆
0x31040…31060 6b 20 69 2f 6f 20 61 74 20 6c 65 76 65 6c 20 30 20 0d 0a 31 38 09 2d 20 73 65 74 63 72 3a 20 66   ┆k i/o at level 0   18 - setcr: f┆
0x31060…31080 69 72 73 74 20 6c 69 6d 69 74 20 6e 65 67 61 74 69 76 65 20 0d 0a 31 39 09 2d 20 73 65 74 61 64   ┆irst limit negative   19 - setad┆
0x31080…310a0 3a 20 74 72 75 6e 63 61 74 69 6f 6e 20 65 72 72 6f 72 20 0d 0a 31 41 09 2d 20 6e 6f 20 72 65 73   ┆: truncation error   1A - no res┆
0x310a0…310c0 6f 75 72 63 65 73 20 0d 0a 31 42 09 2d 20 66 69 6c 65 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73   ┆ources   1B - file does not exis┆
0x310c0…310e0 74 20 0d 0a 31 43 09 2d 20 74 72 79 20 74 6f 20 72 65 61 64 20 70 61 73 74 20 65 6f 66 20 0d 0a   ┆t   1C - try to read past eof   ┆
0x310e0…31100 31 44 09 2d 20 77 72 6f 6e 67 20 61 6e 73 77 65 72 20 0d 0a 31 45 09 2d 20 73 65 74 70 72 69 6f   ┆1D - wrong answer   1E - setprio┆
0x31100…31120 72 69 74 79 3a 20 69 6c 6c 65 67 61 6c 20 70 72 69 6f 72 69 74 79 20 0d 0a 31 46 09 2d 20 70 6f   ┆rity: illegal priority   1F - po┆
0x31120…31140 6f 6c 3a 20 6e 6f 20 63 6f 72 65 20 0d 0a 32 30 09 2d 20 73 68 61 64 6f 77 20 3d 20 6e 69 6c 20   ┆ol: no core   20 - shadow = nil ┆
0x31140…31160 0d 0a 32 31 09 2d 20 61 72 69 74 68 6d 65 74 69 63 20 6f 76 65 72 66 6c 6f 77 20 0d 0a 32 32 09   ┆  21 - arithmetic overflow   22 ┆
0x31160…31180 2d 20 73 79 73 74 65 6d 20 65 72 72 6f 72 20 0d 0a 32 33 09 2d 20 73 79 73 74 65 6d 20 65 72 72   ┆- system error   23 - system err┆
0x31180…311a0 6f 72 20 0d 0a 32 34 09 2d 20 69 6c 6c 65 67 61 6c 20 73 77 69 74 63 68 20 69 6e 20 63 61 73 65   ┆or   24 - illegal switch in case┆
0x311a0…311c0 20 63 6f 6e 73 74 72 75 63 74 69 6f 6e 20 0d 0a 32 35 09 2d 20 75 70 70 65 72 20 6c 69 6d 69 74   ┆ construction   25 - upper limit┆
0x311c0…311e0 20 69 6e 20 63 61 6c 6c 20 6f 66 20 73 75 63 63 20 0d 0a 32 36 09 2d 20 6c 6f 77 65 72 20 6c 69   ┆ in call of succ   26 - lower li┆
0x311e0…31200 6d 69 74 20 69 6e 20 63 61 6c 6c 20 6f 66 20 70 72 65 64 20 0d 0a 32 37 09 2d 20 77 69 74 68 3a   ┆mit in call of pred   27 - with:┆
0x31200…31220 20 73 69 7a 65 20 65 72 72 6f 72 20 0d 0a 32 38 09 2d 20 6c 6f 63 6b 6d 65 73 3a 20 73 69 7a 65   ┆ size error   28 - lockmes: size┆
0x31220…31240 20 65 72 72 6f 72 20 0d 0a 32 39 09 2d 20 6c 6f 63 61 6c 20 72 65 66 65 72 65 6e 63 65 20 76 61   ┆ error   29 - local reference va┆
0x31240…31260 72 69 61 62 6c 65 20 6e 6f 74 20 6e 69 6c 20 61 74 20 72 6f 75 74 69 6e 65 20 65 78 69 74 20 0d   ┆riable not nil at routine exit  ┆
0x31260…31280 0a 32 41 09 2d 20 6c 6f 63 61 6c 20 73 68 61 64 6f 77 20 76 61 72 69 61 62 6c 65 20 6e 6f 74 20   ┆ 2A - local shadow variable not ┆
0x31280…312a0 6e 69 6c 20 61 74 20 72 6f 75 74 69 6e 65 20 65 78 69 74 20 0d 0a 32 42 2d 32 45 09 2d 20 73 79   ┆nil at routine exit   2B-2E - sy┆
0x312a0…312c0 73 74 65 6d 20 65 72 72 6f 72 20 0d 0a 32 46 09 2d 20 62 72 65 61 6b 20 62 79 20 66 61 74 68 65   ┆stem error   2F - break by fathe┆
0x312c0…312e0 72 20 0d 0a 0d 0a 0d 0a 1a 1a 32 37 36 38 3b 20 0d 0a 0d 0a 54 59 50 45 20 0d 0a 0d 0a 62 69 74   ┆r         2768;     TYPE     bit┆
0x312e0…31300 20 20 20 20 20 3d 20 30 2e 2e 31 3b 20 62 79 74 65 20 20 20 20 3d 20 30 2e 2e 32 35 35 3b 20 0d   ┆     = 0..1; byte    = 0..255;  ┆
0x31300…31320 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c   ┆?,   ?,   ?,   ?,   ?,   ?,   ?,┆
0x31320…31340 20 28 2a 20 31 30 30 20 2a 29 20 20 20 20 20 0a 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f   ┆ (* 100 *)      ?,   ?,   ?,   ?┆
0x31340…31360 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20   ┆,   ?,   ?,   ?,   ?,   ?,   ?, ┆
0x31360…31380 28 2a 20 31 31 30 20 2a 29 20 20 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 0a 3f 2c 20 20 20 3f 2c   ┆(* 110 *)     ?,   ?,    ?,   ?,┆
0x31380…313a0 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 28   ┆   ?,   ?,   ?,   ?,   ?,   ?, (┆
0x313a0…313c0 2a 20 31 32 30 20 2a 29 20 20 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20   ┆* 120 *)     ?,   ?,   ?,   ?,  ┆
0x313c0…313e0 20 0a 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 64 65 6c 20 29 3b 20 0d 0a 0d 0a 61 6c 66 61 20 3d   ┆  ?,   ?,   ?, del );     alfa =┆
0x313e0…31400 20 41 52 52 41 59 20 28 31 2e 2e 61 6c 66 61 6c 65 6e 67 74 68 29 20 4f 46 20 63 68 61 72 3b 20   ┆ ARRAY (1..alfalength) OF char; ┆
0x31400…31420 0d 0a 0d 0a 61 64 61 6d 73 65 6d 74 79 70 65 20 3d 20 28 61 64 61 6d 73 65 6d 2c 20 6f 70 65 72   ┆    adamsemtype = (adamsem, oper┆
0x31420…31440 61 74 6f 72 73 65 6d 2c 20 6c 6f 61 64 65 72 73 65 6d 2c 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆atorsem, loadersem,             ┆
0x31440…31460 20 20 20 0a 67 6c 6f 62 61 6c 73 65 6d 2c 20 6c 6f 61 64 64 72 69 76 65 72 73 65 6d 2c 20 70 61   ┆    globalsem, loaddriversem, pa┆
0x31460…31480 78 73 65 6d 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 74 61 72 74 73 65 6d 2c   ┆xsem,                restartsem,┆
0x31480…314a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f   ┆                 ?,?,?,?,?,?,?,?┆
0x314a0…314c0 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆,?,?,?,?,?,?,?,?,               ┆
0x314c0…314e0 20 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 29 3b 20 0a 61 64 61 6d 76 65 63 74 6f 72   ┆ ?,?,?,?,?,?,?,?,?);  adamvector┆
0x314e0…31500 20 3d 20 41 52 52 41 59 20 28 61 64 61 6d 73 65 6d 74 79 70 65 29 20 4f 46 20 20 20 73 65 6d 61   ┆ = ARRAY (adamsemtype) OF   sema┆
0x31500…31520 70 68 6f 72 65 3b 20 73 79 73 74 65 6d 5f 76 65 63 74 6f 72 20 3d 20 0a 21 61 64 61 6d 76 65 63   ┆phore; system_vector =  !adamvec┆
0x31520…31540 74 6f 72 3b 20 0d 0a 0d 0a 61 63 74 69 76 61 74 69 6f 6e 20 3d 20 28 61 5f 69 6e 74 65 72 72 75   ┆tor;     activation = (a_interru┆
0x31540…31560 70 74 2c 20 61 5f 73 65 6d 61 70 68 6f 72 65 2c 20 61 5f 64 65 6c 61 79 29 3b 20 0d 0a 0d 0a 6d   ┆pt, a_semaphore, a_delay);     m┆
0x31560…31580 65 73 73 61 67 65 5f 68 65 61 64 65 72 20 3d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45   ┆essage_header =               RE┆
0x31580…315a0 43 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 20 20 20 20 20 20 20 20 20 20 20   ┆CORD               .            ┆
0x315a0…315c0 20 20 20 0a 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 31 2c 75 32 2c 75 33 2c 75 34 20 3a   ┆    .              u1,u2,u3,u4 :┆
0x315c0…315e0 20 62 79 74 65 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 73 73 61 67 65 6b 69 6e 64 20   ┆ byte;              messagekind ┆
0x315e0…31600 3a 20 0a 21 69 6e 74 65 67 65 72 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 7a 65 20 20   ┆:  !integer;              size  ┆
0x31600…31620 20 20 20 20 20 20 3a 20 21 69 6e 74 65 67 65 72 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆      : !integer;               ┆
0x31620…31640 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 2e 20 20 20 20 20 20 20 20 20 20 20 45 4e 44   ┆.                .           END┆
0x31640…31660 3b 20 0d 0a 0d 0a 72 65 66 65 72 65 6e 63 65 20 3d 20 1f 6d 65 73 73 61 67 65 5f 68 65 61 64 65   ┆;     reference =  message_heade┆
0x31660…31680 72 3b 20 0d 0a 0d 0a 63 6f 64 65 64 5f 64 61 74 65 20 3d 20 50 41 43 4b 45 44 20 52 45 43 4f 52   ┆r;     coded_date = PACKED RECOR┆
0x31680…316a0 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 79 65 61 72 5f 61 66 74 65 72 5f 31 39 30   ┆D                 year_after_190┆
0x316a0…316c0 30 20 20 20 3a 20 0a 30 2e 2e 31 32 37 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d   ┆0   :  0..127;                 m┆
0x316c0…316e0 6f 6e 74 68 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 30 2e 2e 31 32 3b 20 20 20 20 20 20 20   ┆onth             : 0..12;       ┆
0x316e0…31700 20 20 20 20 20 20 20 20 20 20 0a 64 61 79 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 30   ┆           day               : 0┆
0x31700…31720 2e 2e 33 31 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 4e 44 3b 20 0d 0a 0d 0a 8c 8a 90 0a   ┆..31;              END;     їіљ ┆
0x31720…31740 63 6f 64 65 64 5f 74 69 6d 65 20 3d 20 50 41 43 4b 45 44 20 52 45 43 4f 52 44 20 20 20 20 20 20   ┆coded_time = PACKED RECORD      ┆
0x31740…31760 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 72 5f 76 65 72 73 69 6f 6e 20 20 3a 20 0a   ┆           compiler_version  :  ┆
0x31760…31780 30 2e 2e 33 31 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 75 72 20 20 20 20 20   ┆0..31;                 hour     ┆
0x31780…317a0 20 20 20 20 20 20 20 20 20 3a 20 30 2e 2e 32 33 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆         : 0..23;               ┆
0x317a0…317c0 20 20 0a 6d 69 6e 75 74 65 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 30 2e 2e 35 39 3b 20 20 20   ┆   minute            : 0..59;   ┆
0x317c0…317e0 20 20 20 20 20 20 20 20 20 20 20 45 4e 44 3b 20 0d 0a 0d 0a 63 6f 64 65 64 5f 73 65 63 73 20 3d   ┆           END;     coded_secs =┆
0x317e0…31800 20 50 41 43 4b 45 44 20 52 45 43 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73   ┆ PACKED RECORD                 s┆
0x31800…31820 65 63 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 0a 30 2e 2e 35 39 3b 20 20 20 20 20 20   ┆ec               :  0..59;      ┆
0x31820…31840 20 20 20 20 20 20 20 20 20 20 20 6d 73 65 63 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 30   ┆           msec              : 0┆
0x31840…31860 2e 2e 39 39 39 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 45 4e 44 3b 20 0d 0a 0d 0a 63 6f   ┆..999;               END;     co┆
0x31860…31880 64 65 5f 69 6e 63 20 20 20 3d 20 50 41 43 4b 45 44 20 52 45 43 4f 52 44 20 20 20 20 20 20 20 20   ┆de_inc   = PACKED RECORD        ┆
0x31880…318a0 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 0a 28 2a 20 20 38 30 20 2a 29 20 20 20   ┆ ?,   ?,   ?,   ?,  (*  80 *)   ┆
0x318a0…318c0 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20   ┆  ?,   ?,   ?,   ?,   ?,   ?,   ┆
0x318c0…318e0 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 28 2a 20 20 39 30 20 0a 2a 29 20 20 20 20   ┆?,   ?,   ?,   ?, (*  90  *)    ┆
0x318e0…31900 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f   ┆ ?,   ?,   ?,   ?,   ?,   ?,   ?┆
0x31900…31920 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 28 2a 20 31 30 30 20 2a 29 20 20 20 20 20 0a   ┆,   ?,   ?,   ?, (* 100 *)      ┆
0x31920…31940 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c   ┆?,   ?,   ?,   ?,   ?,   ?,   ?,┆
0x31940…31960 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 28 2a 20 31 31 30 20 2a 29 20 20 20 20 20 3f 2c   ┆   ?,   ?,   ?, (* 110 *)     ?,┆
0x31960…31980 20 20 20 3f 2c 20 20 20 0a 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20   ┆   ?,    ?,   ?,   ?,   ?,   ?, ┆
0x31980…319a0 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 28 2a 20 31 32 30 20 2a 29 20 20 20 20 20 3f 2c 20   ┆  ?,   ?,   ?, (* 120 *)     ?, ┆
0x319a0…319c0 20 20 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 20 20 0a 3f 2c 20 20 20 3f 2c 20 20 20 3f 2c 20 64   ┆  ?,   ?,   ?,    ?,   ?,   ?, d┆
0x319c0…319e0 65 6c 20 29 3b 20 0d 0a 0d 0a 61 6c 66 61 20 3d 20 41 52 52 41 59 20 28 31 2e 2e 61 6c 66 61 6c   ┆el );     alfa = ARRAY (1..alfal┆
0x319e0…31a00 65 6e 67 74 68 29 20 4f 46 20 63 68 61 72 3b 20 0d 0a 0d 0a 61 64 61 6d 73 65 6d 74 79 70 65 20   ┆ength) OF char;     adamsemtype ┆
0x31a00…31a20 3d 20 28 61 64 61 6d 73 65 6d 2c 20 6f 70 65 72 61 74 6f 72 73 65 6d 2c 20 6c 6f 61 64 65 72 73   ┆= (adamsem, operatorsem, loaders┆
0x31a20…31a40 65 6d 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 67 6c 6f 62 61 6c 73 65 6d 2c 20 6c   ┆em,                 globalsem, l┆
0x31a40…31a60 6f 61 64 64 72 69 76 65 72 73 65 6d 2c 20 70 61 78 73 65 6d 2c 20 20 20 20 20 20 20 20 20 20 20   ┆oaddriversem, paxsem,           ┆
0x31a60…31a80 20 20 20 20 20 72 65 73 74 61 72 74 73 65 6d 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆     restartsem,                ┆
0x31a80…31aa0 0a 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f   ┆ ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?┆
0x31aa0…31ac0 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f 2c 3f   ┆,                ?,?,?,?,?,?,?,?┆
0x31ac0…31ae0 2c 3f 29 3b 20 0a 61 64 61 6d 76 65 63 74 6f 72 20 3d 20 41 52 52 41 59 20 28 61 64 61 6d 73 65   ┆,?);  adamvector = ARRAY (adamse┆
0x31ae0…31b00 6d 74 79 70 65 29 20 4f 46 20 20 20 73 65 6d 61 70 68 6f 72 65 3b 20 73 79 73 74 65 6d 5f 76 65   ┆mtype) OF   semaphore; system_ve┆
0x31b00…31b20 63 74 6f 72 20 3d 20 0a 21 61 64 61 6d 76 65 63 74 6f 72 3b 20 0d 0a 0d 0a 61 63 74 69 76 61 74   ┆ctor =  !adamvector;     activat┆
0x31b20…31b40 69 6f 6e 20 3d 20 28 61 5f 69 6e 74 65 72 72 75 70 74 2c 20 61 5f 73 65 6d 61 70 68 6f 72 65 2c   ┆ion = (a_interrupt, a_semaphore,┆
0x31b40…31b60 20 61 5f 64 65 6c 61 79 29 3b 20 0d 0a 0d 0a 6d 65 73 73 61 67 65 5f 68 65 61 64 65 72 20 3d 20   ┆ a_delay);     message_header = ┆
0x31b60…31b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 43 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20   ┆              RECORD            ┆
0x31b80…31ba0 20 20 20 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 2e 20 20 20 20 20 20 20 20 20 20 20   ┆   .                .           ┆
0x31ba0…31bc0 20 20 20 75 31 2c 75 32 2c 75 33 2c 75 34 20 3a 20 62 79 74 65 3b 20 20 20 20 20 20 20 20 20 20   ┆   u1,u2,u3,u4 : byte;          ┆
0x31bc0…31be0 20 20 20 20 6d 65 73 73 61 67 65 6b 69 6e 64 20 3a 20 0a 21 69 6e 74 65 67 65 72 3b 20 20 20 20   ┆    messagekind :  !integer;    ┆
0x31be0…31c00 20 20 20 20 20 20 20 20 20 20 73 69 7a 65 20 20 20 20 20 20 20 20 3a 20 21 69 6e 74 65 67 65 72   ┆          size        : !integer┆
0x31c00…31c20 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆;               .               ┆
0x31c20…31c40 0a 2e 20 20 20 20 20 20 20 20 20 20 20 45 4e 44 3b 20 0d 0a 0d 0a 72 65 66 65 72 65 6e 63 65 20   ┆ .           END;     reference ┆
0x31c40…31c60 3d 20 1f 6d 65 73 73 61 67 65 5f 68 65 61 64 65 72 3b 20 0d 0a 0d 0a 63 6f 64 65 64 5f 64 61 74   ┆=  message_header;     coded_dat┆
0x31c60…31c80 65 20 3d 20 50 41 43 4b 45 44 20 52 45 43 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆e = PACKED RECORD               ┆
0x31c80…31ca0 20 20 79 65 61 72 5f 61 66 74 65 72 5f 31 39 30 30 20 20 20 3a 20 0a 30 2e 2e 31 32 37 3b 20 20   ┆  year_after_1900   :  0..127;  ┆
0x31ca0…31cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 6f 6e 74 68 20 20 20 20 20 20 20 20 20 20 20 20   ┆               month            ┆
0x31cc0…31ce0 20 3a 20 30 2e 2e 31 32 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 64 61 79 20 20   ┆ : 0..12;                  day  ┆
0x31ce0…31d00 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 30 2e 2e 33 31 3b 20 20 20 20 20 20 20 20 20 20 20   ┆             : 0..31;           ┆
0x31d00…31d20 20 20 20 45 4e 44 3b 20 0d 0a 0d 0a 8c 8a 90 0a 63 6f 64 65 64 5f 74 69 6d 65 20 3d 20 50 41 43   ┆   END;     їіљ coded_time = PAC┆
0x31d20…31d40 4b 45 44 20 52 45 43 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 70 69   ┆KED RECORD                 compi┆
0x31d40…31d60 6c 65 72 5f 76 65 72 73 69 6f 6e 20 20 3a 20 0a 30 2e 2e 33 31 3b 20 20 20 20 20 20 20 20 20 20   ┆ler_version  :  0..31;          ┆
0x31d60…31d80 20 20 20 20 20 20 20 68 6f 75 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 30 2e 2e 32 33   ┆       hour              : 0..23┆
0x31d80…31da0 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 6d 69 6e 75 74 65 20 20 20 20 20 20 20   ┆;                  minute       ┆
0x31da0…31dc0 20 20 20 20 20 3a 20 30 2e 2e 35 39 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 4e 44 3b 20   ┆     : 0..59;              END; ┆
0x31dc0…31de0 0d 0a 0d 0a 63 6f 64 65 64 5f 73 65 63 73 20 3d 20 50 41 43 4b 45 44 20 52 45 43 4f 52 44 20 20   ┆    coded_secs = PACKED RECORD  ┆
0x31de0…31e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 63 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆               sec              ┆
0x31e00…31e20 20 3a 20 0a 30 2e 2e 35 39 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 73 65 63 20   ┆ :  0..59;                 msec ┆
0x31e20…31e40 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 30 2e 2e 39 39 39 3b 20 20 20 20 20 20 20 20 20 20   ┆             : 0..999;          ┆
0x31e40…31e60 20 20 20 20 0a 45 4e 44 3b 20 0d 0a 0d 0a 63 6f 64 65 5f 69 6e 63 20 20 20 3d 20 50 41 43 4b 45   ┆     END;     code_inc   = PACKE┆
0x31e60…31e80 44 20 52 45 43 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 79 73 20 20 20   ┆D RECORD                 days   ┆
0x31e80…31ea0 20 20 20 20 20 20 20 20 20 20 20 3a 20 0a 30 2e 2e 33 31 3b 20 20 20 20 20 20 20 20 20 20 20 20   ┆           :  0..31;            ┆
0x31ea0…31ec0 20 20 20 20 20 68 6f 75 72 73 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 30 2e 2e 32 33 3b 20   ┆     hours             : 0..23; ┆
0x31ec0…31ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 6d 69 6e 73 20 20 20 20 20 20 20 20 20 20 20   ┆                 mins           ┆
0x31ee0…31f00 20 20 20 3a 20 30 2e 2e 35 39 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 63 73   ┆   : 0..59;                 secs┆
0x31f00…31f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 0a 30 2e 2e 35 39 3b 20 20 20 20 20 20 20 20 20   ┆              :  0..59;         ┆
0x31f20…31f40 20 20 20 20 20 20 20 20 6d 73 65 63 73 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 30 2e 2e 39   ┆        msecs             : 0..9┆
0x31f40…31f60 39 39 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 45 4e 44 3b 20 0d 0a 0d 0a 64 65 6c 61   ┆99;                END;     dela┆
0x31f60…31f80 79 74 79 70 65 20 20 3d 20 52 45 43 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ytype  = RECORD                 ┆
0x31f80…31fa0 70 72 65 76 5f 64 61 74 65 20 20 20 20 20 20 20 20 20 3a 20 0a 63 6f 64 65 64 5f 64 61 74 65 3b   ┆prev_date         :  coded_date;┆
0x31fa0…31fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 65 76 5f 74 69 6d 65 20 20 20 20 20 20   ┆                 prev_time      ┆
0x31fc0…31fe0 20 20 20 3a 20 63 6f 64 65 64 5f 74 69 6d 65 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆   : coded_time;                ┆
0x31fe0…32000 20 0a 70 72 65 76 5f 73 65 63 73 20 20 20 20 20 20 20 20 20 3a 20 63 6f 64 65 64 5f 73 65 63 73   ┆  prev_secs         : coded_secs┆
0x32000…32020 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 63 20 20 20 20 20 20 20 20 20 20 20   ┆;                 inc           ┆
0x32020…32040 20 20 20 20 3a 20 0a 63 6f 64 65 64 5f 69 6e 63 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆    :  coded_inc;               ┆
0x32040…32060 45 4e 44 3b 20 20 20 0d 0a 0d 0a 63 6c 6f 63 6b 74 79 70 65 20 3d 20 52 45 43 4f 52 44 20 20 20   ┆END;       clocktype = RECORD   ┆
0x32060…32080 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 65 20 3a 20 63 6f 64 65 64 5f 64 61 74 65 3b 20 20   ┆            date : coded_date;  ┆
0x32080…320a0 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 74 69 6d 65 20 3a 20 63 6f 64 65 64 5f 74 69 6d 65 3b   ┆              time : coded_time;┆
0x320a0…320c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 63 73 20 3a 20 63 6f 64 65 64 5f 73 65 63 73   ┆               secs : coded_secs┆
0x320c0…320e0 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 45 4e 44 3b 20 27 20 0d 0a 0d 0a 69 6e 63 61 72 6e   ┆;              END; '     incarn┆
0x320e0…32100 61 74 69 6f 6e 5f 64 65 73 63 72 69 70 74 6f 72 20 3d 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ation_descriptor =              ┆
0x32100…32120 52 45 43 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 20 20 20 20 20 20 20   ┆RECORD                 .        ┆
0x32120…32140 20 20 20 20 20 20 20 20 20 0a 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 69 6d 65 72   ┆          .                timer┆
0x32140…32160 20 3a 20 69 6e 74 65 67 65 72 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 20 20   ┆ : integer;                 .   ┆
0x32160…32180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆               .                ┆
0x32180…321a0 69 6e 63 6e 61 6d 65 3a 20 61 6c 66 61 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e   ┆incname: alfa;                 .┆
0x321a0…321c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                 .              ┆
0x321c0…321e0 0a 45 4e 44 3b 20 0d 0a 0d 0a 6c 6f 6f 6b 75 70 5f 64 65 73 63 72 69 70 74 6f 72 5f 73 65 67 6d   ┆ END;     lookup_descriptor_segm┆
0x321e0…32200 65 6e 74 20 3d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 43 4f 52 44 20 20 20 20 20 20 20   ┆ent =              RECORD       ┆
0x32200…32220 20 20 20 20 20 20 20 20 20 20 0a 6e 61 6d 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 61   ┆           name              : a┆
0x32220…32240 6c 66 61 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 5f   ┆lfa;                 descriptor_┆
0x32240…32260 6c 65 6e 67 74 68 20 2c 20 28 2a 20 0a 62 79 74 65 73 20 2a 29 20 20 20 20 20 20 20 20 20 20 20   ┆length , (*  bytes *)           ┆
0x32260…32280 20 20 20 20 20 20 6e 6f 5f 6f 66 5f 70 61 67 65 73 20 20 20 20 20 20 20 2c 20 20 20 20 20 20 20   ┆      no_of_pages       ,       ┆
0x32280…322a0 20 20 20 20 20 20 20 20 20 20 0a 70 61 67 65 73 69 7a 65 20 20 20 20 20 20 20 20 20 20 2c 20 28   ┆           pagesize          , (┆
0x322a0…322c0 2a 20 62 79 74 65 73 20 2a 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 61 73 74 5f   ┆* bytes *)                 last_┆
0x322c0…322e0 70 61 67 65 5f 6c 65 6e 67 74 68 20 20 2c 20 0a 28 2a 20 62 79 74 65 73 20 2a 29 20 20 20 20 20   ┆page_length  ,  (* bytes *)     ┆
0x322e0…32300 20 20 20 20 20 20 20 20 20 20 20 20 6b 69 6e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20   ┆            kind              : ┆
0x32300…32320 69 6e 74 65 67 65 72 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆integer;                        ┆
0x32320…32340 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 28 2a 20 31 3a 20 70 72 6f 63 65 73 73 20 20 20 20 20   ┆              (* 1: process     ┆
0x32340…32360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x32360…32380 20 20 20 32 3a 20 70 72 6f 63 65 64 75 72 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆   2: procedure                 ┆
0x32380…323a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 33 3a 20 66 75 6e 63 74   ┆                        3: funct┆
0x323a0…323c0 69 6f 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ion                             ┆
0x323c0…323e0 20 20 20 20 20 20 20 20 20 20 20 36 3a 20 64 61 74 61 20 2a 29 20 20 20 20 20 20 20 20 20 20 20   ┆           6: data *)           ┆
0x323e0…32400 20 20 20 20 20 20 0a 64 65 66 61 75 6c 74 5f 61 70 70 65 74 69 74 65 20 20 2c 20 20 20 20 20 20   ┆       default_appetite  ,      ┆
0x32400…32420 20 20 20 20 20 20 20 20 20 20 20 6c 61 73 74 5f 70 61 72 61 6d 5f 6f 66 66 73 65 74 20 2c 20 20   ┆           last_param_offset ,  ┆
0x32420…32440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 6e 6f 5f 6f 66 5f 70 61 72 61 6d 73 20 20 20 20   ┆                no_of_params    ┆
0x32440…32460 20 20 3a 20 69 6e 74 65 67 65 72 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74   ┆  : integer;                 dat┆
0x32460…32480 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 0a 63 6f 64 65 64 5f 64 61 74 65 3b 20 20 20   ┆e              :  coded_date;   ┆