DataMuseum.dk

Presents historical artifacts from the history of:

RC3500

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

See our Wiki for more about RC3500

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦847fccad5⟧ TextFileVerbose

    Length: 26112 (0x6600)
    Types: TextFileVerbose
    Names: »fefpalst«

Derivation

└─⟦a41ae585a⟧ Bits:30001842 SW-save af projekt 1000, Alarm-system
    └─⟦72244f0ef⟧ 
        └─⟦this⟧ »fefpalst« 

TextFileVerbose

\f

fefpalst    81.05.13.   13.10.                                                    page     1

   10    1        PROCESS fpadriver(
   20    2          VAR sem : ! ts_pointer; level, blocktime : integer; rec: boolean;
   30    3          op : sempointer);
   40    4          
   50    5        CONST
   60    6          version = "vers  1.01 /";
   70    7          polltime =156; pollexp=6;  (* 9.984sec *)
   80    8          
   90    9          sensecom    = 0;
  100   10          resetcom    = 4;
  110   11          autocom     = 8;
  120   12          timeransw   = 5;
  130   13          readcom     = 1;
  140   14          writecom    = 2;
  150   15          writereadcom= 3;
  160   16          
  170   17          ok_result = 0;
  180   18          rejected  = 1;
  190   19          soft_error= 2;
  200   20            (*         *) parity            = 8;
  210   21            (*         *) timeout           =16;
  220   22            (*         *) combined_write    =32;
  230   23            (*         *) blocklength_error =64;
  240   24            (*         *) receiver_not_ready=128;
  250   25          hard_error= 3;
  260   26            (*         *) disconnected      = 8;
  270   27            (*         *) reset             =16;
  280   28            (*         *)(*combined_write   =32*)
  290   29            (*         *) autoload          =64;
  300   30          unintelligible= 4;
  310   31            (*         *) bad_message       = 8;
  320   32            (*         *)(*combined_write   =32*)
  330   33          
  340   34          small_size=08;
  350   35          medium_size= 2*64(*messbufsize*) - 6(*fi,la,ne*);
  360   36          large_size= 2*120(*testbufsize*) - 6(*fi,la,ne*);
  370   37          max_size  =2*large_size;;
  380   38          small_max =small_size + 5;
  390   39          medium_max=medium_size+ 5;
  400   40          large_max =large_size + 5;
  410   41          
  420   42        TYPE
  430   43          priority_table=PACKED ARRAY(ok_result..unintelligible) OF 0..7;
  440   44          stype=PACKED RECORD
  450   45                       !  uu1: 0..1023;
  460   46                       !  ctmo,uu2: 0..1;
\f

fefpalst    81.05.13.   13.10.                                                    page     2

  470   47                       !  stp:0..7;
  480   48                       !  prty: 0..1;
  490   49                       END;
  500   50          
  510   51          smallbuf=RECORD first,last,next: integer;
  520   52                   !  c: PACKED ARRAY (6..small_max) OF byte;
  530   53                   END;
  540   54          
  550   55          mediumbuf= RECORD first,last,next: integer;
  560   56                     !  c: PACKED ARRAY (6..medium_max) OF byte;
  570   57                     END;
  580   58          
  590   59          largebuf= RECORD first,last,next: integer;
  600   60                    !  c: PACKED ARRAY (6..large_max) OF byte;
  610   61                    END;
  620   62          
  630   63          
  640   64        CONST
  650   65          
  660   66          reset_dev  = 0;
  670   67          auto       = 1;
  680   68          repint     = 2;
  690   69          startread  = 3;
  700   70          
  710   71          small_top  = small_max + 1 ;
  720   72          medium_top = medium_max + 1;
  730   73          large_top  = large_max +  1;
  740   74          min_data   = 3;
  750   75          small_data = small_size DIV 2 + min_data;
  760   76          medium_data= medium_size DIV 2+ min_data;
  770   77          large_data = large_size DIV 2 + min_data;
  780   78          max_data   = max_size DIV 2   + min_data;
  790   79          
  800   80          priority   = priority_table(0,6,3,4,5);
  810   81          
  820   82        VAR
  830   83          w, result, result_modif : integer;
  840   84          dev,msg,mw,m: reference;
  850   85          s: stype;
  860   86          resetmode: boolean:=true;
  870   87          
  880   88          headpool: pool 1;
  890   89          z : zone;
  900   90          
  910   91          PROCEDURE readram(VAR w: byte;i: integer); EXTERNAL;
  920   92          PROCEDURE writeram(i,w: integer); EXTERNAL;
\f

fefpalst    81.05.13.   13.10.                                                    page     3

  930   93          PROCEDURE outwordclr(w: integer; VAR dev: reference); EXTERNAL;
  940   94          PROCEDURE controlclr(w: integer; VAR dev: reference); EXTERNAL;
  950   95          PROCEDURE control(w: integer; VAR dev: reference); EXTERNAL;
  960   96          PROCEDURE inword(VAR w: integer; VAR dev: reference); EXTERNAL;
  970   97          PROCEDURE sense(VAR s: stype; w: integer; VAR dev: reference); EXTERNAL;
  980   98          
  990   99          PROCEDURE set_result(res, modif : integer);
 1000  100          VAR p1, p2 : integer;
 1010  101          BEGIN
 1020  102    1     ! p1 := priority(res);
 1030  103    2     ! p2 := priority(result);
 1040  104    3     ! IF res = hard_error THEN resetmode := true;
 1050  105    4     ! IF p1 > p2 THEN
 1060  106    5     !   BEGIN
 1070  107    6     !   ! result := res;
 1080  108    7     !   ! result_modif := modif;
 1090  109    8     !   END ELSE
 1100  110    9     !   IF p1 = p2 THEN
 1110  111   10     !     IF modif > 0 THEN
 1120  112   11     !       IF (result_modif DIV modif) MOD 2 = 0 THEN
 1130  113   12     !         result_modif := result_modif + modif;
 1140  114   13     END (* procedure to set actual result of operation *) ;
 1150  115          
 1160  116          PROCEDURE write(b: boolean);
 1170  117          VAR size, r : integer;
 1180  118            data : boolean;
 1190  119          BEGIN
 1200  120    1     ! w   := msg^.u3;
 1210  121    2     ! size:= msg^.size;
 1220  122    3     ! r   := ok_result;
 1230  123    4     ! WHILE (size>0) AND (r=ok_result) DO
 1240  124    5     !   BEGIN
 1250  125    6     !   ! IF size >= small_data THEN
 1260  126    7     !   !   BEGIN
 1270  127    8     !   !   ! IF size < medium_data THEN
 1280  128    9     !   !   !   LOCK msg AS d: smallbuf DO WITH d DO
 1290  129   10     !   !   !       BEGIN
 1300  130   11     !   !   !       ! IF b THEN next:=last+1;
 1310  131   12     !   !   !       ! IF next>first THEN
 1320  132   13     !   !   !       !   IF (first>=6) AND (next<=small_top) THEN
 1330  133   14     !   !   !       !     BEGIN
 1340  134   15     !   !   !       !     ! outwordclr(w,dev); w:=c(next-1);
 1350  135   16     !   !   !       !     ! outbyteblock(next,first,next-2,msg,dev);
 1360  136   17     !   !   !       !     END ELSE r:=unintelligible;
 1370  137   18     !   !   !       END ELSE
 1380  138   19     !   !   !       IF size < large_data THEN
\f

fefpalst    81.05.13.   13.10.                                                    page     4

 1390  139   20     !   !   !         LOCK msg AS d: mediumbuf DO WITH d DO
 1400  140   21     !   !   !             BEGIN
 1410  141   22     !   !   !             ! IF b THEN next:=last+1;
 1420  142   23     !   !   !             ! IF next>first THEN
 1430  143   24     !   !   !             !   IF (first>=6) AND (next<=medium_top) THEN
 1440  144   25     !   !   !             !     BEGIN
 1450  145   26     !   !   !             !     ! outwordclr(w,dev); w:=c(next-1);
 1460  146   27     !   !   !             !     ! outbyteblock(next,first,next-2,msg,dev);
 1470  147   28     !   !   !             !     END ELSE r:=unintelligible;
 1480  148   29     !   !   !             END ELSE
 1490  149   30     !   !   !             IF size <= max_data THEN
 1500  150   31     !   !   !               LOCK msg AS d: largebuf DO WITH d DO
 1510  151   32     !   !   !                   BEGIN
 1520  152   33     !   !   !                   ! IF b THEN next:=last+1;
 1530  153   34     !   !   !                   ! IF next>first THEN
 1540  154   35     !   !   !                   !   IF (first>=6) AND (next<=large_top) THEN
 1550  155   36     !   !   !                   !     BEGIN
 1560  156   37     !   !   !                   !     ! outwordclr(w,dev); w:=c(next-1);
 1570  157   38     !   !   !                   !     ! outbyteblock(next,first,next-2,msg,dev);
 1580  158   39     !   !   !                   !     END ELSE r:=unintelligible;
 1590  159   40     !   !   !                   END ELSE r := unintelligible;
 1600  160   41     !   !   END ELSE r := unintelligible;
 1610  161   42     !   ! REPEAT pop(m,msg); data:=m^.size<>0; push(m,mw) UNTIL data;
 1620  162   43     !   ! IF nil(msg) THEN size := 0 ELSE size := msg^.size;
 1630  163   44     !   END;
 1640  164   45     ! WHILE NOT nil(mw) DO BEGIN pop(m,mw); push(m,msg) END;
 1650  165   46     ! outwordclr(256+w,dev); controlclr(repint,dev);
 1660  166   47     ! IF r <> ok_result THEN set_result(r,0);
 1670  167   48     END;
 1680  168          
 1690  169          PROCEDURE read;
 1700  170          VAR size, r : integer;
 1710  171            data : boolean;
 1720  172          BEGIN
 1730  173    1     ! controlclr(startread,dev);
 1740  174    2     ! IF own.timer>0 THEN
 1750  175    3     !   BEGIN
 1760  176    4     !   ! inword(w, dev);
 1770  177    5     !   ! msg^.u3 := w MOD 256;
 1780  178    6     !   ! size    := msg^.size;
 1790  179    7     !   ! r       := ok_result;
 1800  180    8     !   ! WHILE (size>0) AND (r=ok_result) DO
 1810  181    9     !   !   BEGIN
 1820  182   10     !   !   ! IF size >= small_data THEN
 1830  183   11     !   !   !   BEGIN
 1840  184   12     !   !   !   ! IF size < medium_data THEN
\f

fefpalst    81.05.13.   13.10.                                                    page     5

 1850  185   13     !   !   !   !   LOCK msg AS d: smallbuf DO WITH d DO
 1860  186   14     !   !   !   !       IF (last>=first) AND NOT eoi THEN
 1870  187   15     !   !   !   !         BEGIN
 1880  188   16     !   !   !   !         ! IF (first>=6) AND (last<=small_max) THEN
 1890  189   17     !   !   !   !         !   BEGIN
 1900  190   18     !   !   !   !         !   ! controlclr(repint,dev); inbyteblock(next,first,last,msg,dev);
 1910  191   19     !   !   !   !         !   END;
 1920  192   20     !   !   !   !         END ELSE next:=first ELSE
 1930  193   21     !   !   !   !         IF size < large_data THEN
 1940  194   22     !   !   !   !           LOCK msg AS d: mediumbuf DO WITH d DO
 1950  195   23     !   !   !   !               IF (last>=first) AND NOT eoi THEN
 1960  196   24     !   !   !   !                 BEGIN
 1970  197   25     !   !   !   !                 ! IF (first>=6) AND (last<=medium_max) THEN
 1980  198   26     !   !   !   !                 !   BEGIN
 1990  199   27     !   !   !   !                 !   ! controlclr(repint,dev); inbyteblock(next,first,last,msg,dev);
 2000  200   28     !   !   !   !                 !   END;
 2010  201   29     !   !   !   !                 END ELSE next:=first ELSE
 2020  202   30     !   !   !   !                 IF size <= max_size THEN
 2030  203   31     !   !   !   !                   LOCK msg AS d: largebuf DO WITH d DO
 2040  204   32     !   !   !   !                       IF (last>=first) AND NOT eoi THEN
 2050  205   33     !   !   !   !                         BEGIN
 2060  206   34     !   !   !   !                         ! IF (first>=6) AND (last<=large_max) THEN
 2070  207   35     !   !   !   !                         !   BEGIN
 2080  208   36     !   !   !   !                         !   ! controlclr(repint,dev); inbyteblock(next,first,last,msg,dev);
 2090  209   37     !   !   !   !                         !   END;
 2100  210   38     !   !   !   !                         END ELSE next:=first ELSE r := unintelligible;
 2110  211   39     !   !   !   END ELSE r := unintelligible;
 2120  212   40     !   !   ! REPEAT pop(m,msg); data:=m^.size<>0; push(m,mw) UNTIL data;
 2130  213   41     !   !   ! IF nil(msg) THEN size := 0 ELSE size := msg^.size;
 2140  214   42     !   !   END;
 2150  215   43     !   ! IF r<>ok_result THEN
 2160  216   44     !   !   BEGIN
 2170  217   45     !   !   ! set_result(r,0);
 2180  218   46     !   !   END ELSE
 2190  219   47     !   !   IF NOT eoi THEN
 2200  220   48     !   !     BEGIN
 2210  221   49     !   !     ! controlclr(repint,dev);
 2220  222   50     !   !     ! set_result(soft_error, blocklength_error);
 2230  223   51     !   !     END;
 2240  224   52     !   ! WHILE NOT nil(mw) DO BEGIN pop(m,mw); push(m,msg) END;
 2250  225   53     !   END;
 2260  226   54     ! IF own.timer=0 THEN set_result(soft_error, timeout);
 2270  227   55     END;
 2280  228          
 2290  229          
 2300  230          PROCEDURE status_test;
\f

fefpalst    81.05.13.   13.10.                                                    page     6

 2310  231          VAR switch : byte;
 2320  232            r : integer;
 2330  233          BEGIN
 2340  234    1     ! CASE s.stp OF
 2350  235    2     ! ! 2,3,6,7: set_result(hard_error, disconnected);
 2360  236    3     ! ! 4,5: BEGIN
 2370  237    4     ! !   ! readram(switch,10);
 2380  238    5     ! !   ! IF switch>=128 THEN BEGIN writeram(6,0); writeram(5,1); WHILE true DO END;
 2390  239    6     ! !   ! set_result(hard_error, autoload); s.stp:=s.stp-4; status_test;
 2400  240    7     ! !   END;
 2410  241    8     ! ! 1: set_result(hard_error, reset);
 2420  242    9     ! ! 0: BEGIN
 2430  243   10     ! !   ! r := s.prty+2*s.ctmo;
 2440  244   11     ! !   ! IF r <> 0 THEN
 2450  245   12     ! !   !   BEGIN
 2460  246   13     ! !   !   ! IF r >= 2 THEN
 2470  247   14     ! !   !   !   BEGIN
 2480  248   15     ! !   !   !   ! r := r - 2;
 2490  249   16     ! !   !   !   ! set_result(soft_error, receiver_not_ready);
 2500  250   17     ! !   !   !   END;
 2510  251   18     ! !   !   ! IF r = 1 THEN set_result(soft_error, parity);
 2520  252   19     ! !   !   END;
 2530  253   20     ! !   END;
 2540  254   21     ! END;
 2550  255   22     END (* procedure test of fpa-status *) ;
 2560  256          
 2570  257        BEGIN
 2580  258    1   ! testopen(z,own.incname,op);
 2590  259    2   ! testout( z, version, fe_env_version );
 2600  260    3   ! 
 2610  261    4   ! result:=reservech(dev,level,-1);
 2620  262    5   ! IF result<>0 THEN exception(4*16+result);
 2630  263    6   ! IF rec THEN
 2640  264    7   !   BEGIN
 2650  265    8   !   ! alloc(msg,headpool,sem.s^);
 2660  266    9   !   ! WITH msg^ DO BEGIN u1:=timeransw; u3:=polltime; u4:=pollexp END;
 2670  267   10   !   ! sendtimer(msg);
 2680  268   11   !   END;
 2690  269   12   ! definetimer(true);
 2700  270   13   ! 
 2710  271   14   ! REPEAT
 2720  272   15   ! ! wait(msg,sem.w^);
 2730  273   16   ! ! result := ok_result; result_modif := 0;
 2740  274   17   ! ! IF resetmode THEN CASE msg^.u1 OF
 2750  275   18   ! !   ! sensecom,resetcom,autocom: resetmode:=false;
 2760  276   19   ! !   ! timeransw: ;
\f

fefpalst    81.05.13.   13.10.                                                    page     7

 2770  277   20   ! !   ! OTHERWISE set_result(rejected, 0);
 2780  278   21   ! !   END;
 2790  279   22   ! ! IF NOT resetmode THEN
 2800  280   23   ! !   BEGIN
 2810  281   24   ! !   ! own.timer:=50;
 2820  282   25   ! !   ! CASE msg^.u1 OF
 2830  283   26   ! !   ! ! sensecom: ;
 2840  284   27   ! !   ! ! readcom: CHANNEL dev DO read;
 2850  285   28   ! !   ! ! writecom: CHANNEL dev DO write(true);
 2860  286   29   ! !   ! ! writereadcom: CHANNEL dev DO
 2870  287   30   ! !   ! !     BEGIN
 2880  288   31   ! !   ! !     ! write(false);
 2890  289   32   ! !   ! !     ! sense(s,0,dev); status_test;
 2900  290   33   ! !   ! !     ! IF result=ok_result
 2910  291   34   ! !   ! !     !   THEN read ELSE set_result(result, combined_write);
 2920  292   35   ! !   ! !     END;
 2930  293   36   ! !   ! ! resetcom: control(reset_dev,dev);
 2940  294   37   ! !   ! ! autocom: control(auto,dev);
 2950  295   38   ! !   ! ! timeransw: ;
 2960  296   39   ! !   ! ! OTHERWISE set_result(unintelligible, bad_message);
 2970  297   40   ! !   ! END;
 2980  298   41   ! !   END;
 2990  299   42   ! ! sense(s,0,dev);
 3000  300   43   ! ! status_test;
 3010  301   44   ! ! WITH msg^ DO IF u1=timeransw THEN
 3020  302   45   ! !     BEGIN
 3030  303   46   ! !     ! u3:=polltime; u4:=pollexp; sendtimer(msg);
 3040  304   47   ! !     END ELSE
 3050  305   48   ! !     BEGIN
 3060  306   49   ! !     ! u2:=result + result_modif; return(msg);
 3070  307   50   ! !     END
 3080  308   51   ! UNTIL false;
 3090  309   52   END
 3100  310        .
 3110  311        
\f

fefpalst    81.05.13.   13.10.                                                    page     8

           0    9*   17*   43*   45*   46*   47*   48*   66*   80*  111   112   123   161   162   166 
              174   180   212   213   217   226   238   242:  244   262   273   277   289   299 
           1   13*   18*   46*   48*   67*   71*   72*   73*   88*  130   134   141   145   152   156 
              238   241:  251   261 
           2   14*   19*   35*   36*   37*   68*   75*   76*   77*   78*  112   135   146   157   235:
              243   246   248 
           3   15*   25*   69*   74*   80*  235:
           4   10*   30*   80*  236:  239   262 
           5   12*   38*   39*   40*   80*  236:  238 
           6    7*   35*   36*   52*   56*   60*   80*  132   143   154   188   197   206   235:  238 
           7   43*   47*  235:
           8   11*   20*   26*   31*
          08   34*
          10  237 
          16   21*   27*  262 
          32   22*
          50  281 
          64   23*   29*   35*
         120   36*
         128   24*  238 
         156    7*
         256  165   177 
        1023   45*
alloc         265 
as            128:  139:  150:  185:  194:  203:
auto           67*  294 
autocom        11*  275:  294:
autoload       29*  239 
b             116*  130   141   152 
bad_message    31*  296 
blocklength_error                                                <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
               23*  222 
blocktime       2*
boolean         2*   86*  116*  118*  171*
byte           52*   56*   60*   91*  231*
c              52*   56*   60*  134   145   156 
channel       284   285   286 
combined_write                                                   <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
               22*  291 
control        95*  293   294 
controlclr     94*  165   173   190   199   208   221 
ctmo           46*  243 
d             128:  128   139:  139   150:  150   185:  185   194:  194   203:  203 
data          118*  161=  161   171*  212=  212 
\f

fefpalst    81.05.13.   13.10.                                                    page     9

definetimer   269 
dev            84*   93*   94*   95*   96*   97*  134   135   145   146   156   157   165   165   173 
              176   190   190   199   199   208   208   221   261   284   285   286   289   293   294 
              299 
disconnected   26*  235 
eoi           186   195   204   219 
exception     262 
external       91*   92*   93*   94*   95*   96*   97*
false         275   288   308 
fe_env_version                                                   <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
              259 
first          51*   55*   59*  131   132   135   142   143   146   153   154   157   186   188   190 
              192   195   197   199   201   204   206   208   210 
fpadriver       1*
hard_error     25*  104   235   239   241 
headpool       88*  265 
i              91*   92*
inbyteblock   190   199   208 
incname       258 
integer         2*   51*   55*   59*   83*   91*   92*   93*   94*   95*   96*   97*   99*  100*  117*
              170*  232*
inword         96*  176 
largebuf       59*  150   203 
large_data     77*  138   193 
large_max      40*   60*   73*  206 
large_size     36*   37*   40*   77*
large_top      73*  154 
last           51*   55*   59*  130   141   152   186   188   190   195   197   199   204   206   208 
level           2*  261 
lock          128:  139:  150:  185:  194:  203:
m              84*  161   161   161   164   164   212   212   212   224   224 
max_data       78*  149 
max_size       37*   78*  202 
mediumbuf      55*  139   194 
medium_data    76*  127   184 
medium_max     39*   56*   72*  197 
medium_size    35*   39*   76*
medium_top     72*  143 
min_data       74*   75*   76*   77*   78*
modif          99*  108   111   112   113 
msg            84*  120   121   128:  135   139:  146   150:  157   161   162   162   164   177   178 
              185:  190   194:  199   203:  208   212   213   213   224   265   266   267   272   274 
              282   301   303   306 
mw             84*  161   164   164   212   224   224 
\f

fefpalst    81.05.13.   13.10.                                                    page    10

next           51*   55*   59*  130=  131   132   134   135   135   141=  142   143   145   146   146 
              152=  153   154   156   157   157   190   192=  199   201=  208   210=
ok_result      17*   43*  122   123   166   179   180   215   273   290 
op              3*  258 
outbyteblock  135   146   157 
outwordclr     93*  134   145   156   165 
own           174   226   258   281 
p1            100*  102=  105   110 
p2            100*  103=  105   110 
parity         20*  251 
pollexp         7*  266   303 
polltime        7*  266   303 
pool           88*
pop           161   164   212   224 
priority       80*  102   103 
priority_table                                                   <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
               43*   80*
process         1*
prty           48*  243 
push          161   164   212   224 
r             117*  122=  123   136=  147=  158=  159=  160=  166   166   170*  179=  180   210=  211=
              215   217   232*  243=  244   246   248=  248   251 
read          169*  284   291 
readcom        13*  284:
readram        91*  237 
rec             2*  263 
receiver_not_ready                                               <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
               24*  249 
reference      84*   93*   94*   95*   96*   97*
rejected       18*  277 
repint         68*  165   190   199   208   221 
res            99*  102   104   107 
reservech     261 
reset          27*  241 
resetcom       10*  275:  293:
resetmode      86*  104=  274   275=  279 
reset_dev      66*  293 
result         83*  103   107=  261=  262   262   273=  290   291   306 
result_modif   83*  108=  112   113=  113   273=  306 
return        306 
s              85*   97*  234   239   239   243   243   265   289   299 
sem             2*  265   272 
sempointer      3*
sendtimer     267   303 
\f

fefpalst    81.05.13.   13.10.                                                    page    11

sense          97*  289   299 
sensecom        9*  275:  283:
set_result     99*  166   217   222   226   235   239   241   249   251   277   291   296 
size          117*  121=  121   123   125   127   138   149   161   162=  162=  162   170*  178=  178 
              180   182   184   193   202   212   213=  213=  213 
smallbuf       51*  128   185 
small_data     75*  125   182 
small_max      38*   52*   71*  188 
small_size     34*   38*   75*
small_top      71*  132 
soft_error     19*  222   226   249   251 
startread      69*  173 
status_test   230*  239   289   300 
stp            47*  234   239=  239 
stype          44*   85*   97*
switch        231*  237   238 
testopen      258 
testout       259 
timeout        21*  226 
timer         174   226   281=
timeransw      12*  266   276:  295:  301 
true           86*  104   238   269   285 
ts_pointer      2*
u1            266=  274   282   301 
u2            306=
u3            120   177=  266=  303=
u4            266=  303=
unintelligible                                                   <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
               30*   43*  136   147   158   159   160   210   211   296 
uu1            45*
uu2            46*
version         6*  259 
w              83*   91*   92*   93*   94*   95*   96*   97*  120=  134   134=  145   145=  156   156=
              165   176   177   272 
wait          272 
write         116*  285   288 
writecom       14*  285:
writeram       92*  238   238 
writereadcom   15*  286:
z              89*  258   259 
zone           89*
\f

fefpalst    81.05.13.   13.10.                                                    page    12

AND               11
ARRAY              4
BEGIN             38
CASE               3
CONST              2
DIV                5
DO                22
ELSE              20
END               45
IF                45
MOD                2
NIL                4
NOT                7
OF                 7
OTHERWISE          2
PACKED             5
PROCEDURE         11
RECORD             4
REPEAT             3
THEN              45
TYPE               1
UNTIL              3
VAR               14
WHILE              5
WITH               8
\f

jg7  1981.05.13  13.10
 fefpa program
81.05.13.      13.10.                         pascal80     version 1981.04.01


   name        headline beginline endline  appetite(words) 

   set_result     100       102     114  :       7            
   write          117       120     167  :      15            
   read           170       173     227  :      16            
   status_test    231       235     255  :      12            
   fpadriver        6       258     310  :     115            

 code: 1 . 138  = 3138 bytes


end of PASCAL80 compilation 

end
blocksread = 53
«eof»