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

⟦82493dd9a⟧ TextFileVerbose

    Length: 7680 (0x1e00)
    Types: TextFileVerbose
    Names: »tsevalst«

Derivation

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

TextFileVerbose

\f

tsevalst    81.06.02.   12.27.                                                    page     1

   10    1          eva_env;
   20    2        CONST
   30    3          eva_size = 1024;
   40    4          op_size  = 512;
   50    5          alarm_size = 4080;
   60    6          pax_size   = 2000;
   70    7          PROCEDURE printnl;
   80    8          EXTERNAL;
   90    9          PROCEDURE printtext( name: alfa);
  100   10          EXTERNAL;
  110   11          PROCEDURE printhex( ok: integer);
  120   12          EXTERNAL;
  130   13          .
  140   14           
\f

tsevalst    81.06.02.   12.27.                                                    page     2

 1010   15        PROCESS adam( VAR opsem: semaphore );
 1020   16          
 1030   17        PROCESS eva(VAR sem_vector: !system_vector);
 1040   18        CONST
 1050   19          version = "vers  4.02 /";
 1060   20          name0   = ">eva        ";
 1070   21          name1   = "operator    ";
 1080   22          name2   = "tsopsys     ";
 1090   23          name3   = "pax_opsys   ";
 1100   24          
 1110   25        VAR
 1120   26          eva_sem    : semaphore;
 1130   27          msg        : reference;
 1140   28          sh         : ARRAY(1..3) OF shadow;
 1150   29          i          : integer;
 1160   30          applsem    : appl_vector;
 1170   31          
 1180   32          PROCEDURE init_proc ( index : integer; name : alfa; p : processrec; size,prio : integer);
 1190   33          VAR
 1200   34            ok : integer;
 1210   35          BEGIN
 1220   36    1     ! i:= link( name, p.processref^);
 1230   37    2     ! ok:= create( name, p, sh(index), size);
 1240   38    3     ! IF ok=0 THEN
 1250   39    4     !   start( sh(index), prio) ELSE
 1260   40    5     !   BEGIN
 1270   41    6     !   ! printnl;
 1280   42    7     !   ! printtext(name);
 1290   43    8     !   ! printtext(" missing    ");
 1300   44    9     !   ! i:= i*16 + ok;
 1310   45   10     !   ! printhex(i);
 1320   46   11     !   ! printnl;
 1330   47   12     !   END;
 1340   48   13     END;
 1350   49          
 1360   50        PROCESS s1( VAR sv: system_vector);
 1370   51        EXTERNAL;
 1380   52        PROCESS s2( VAR sv: system_vector; VAR appl_sem: appl_vector);
 1390   53        EXTERNAL;
 1400   54        PROCESS s3( VAR sv: system_vector; VAR appl_sem: appl_vector);
 1410   55        EXTERNAL;
 1420   56         
\f

tsevalst    81.06.02.   12.27.                                                    page     3

 2010   57          (* main program *)
 2020   58        
 2030   59        BEGIN
 2040   60    1   ! 
 2050   61    2   ! printnl;
 2060   62    3   ! printtext(name0);
 2070   63    4   ! printnl;
 2080   64    5   ! printtext(version);
 2090   65    6   ! printhex(al_env_version);
 2100   66    7   ! printnl;
 2110   67    8   ! 
 2120   68    9   ! init_proc( 1, name1, s1( sem_vector),
 2130   69   10   ! op_size, minpriority);
 2140   70   11   ! init_proc( 2, name2, s2( sem_vector, applsem),
 2150   71   12   ! alarm_size, 0);
 2160   72   13   ! init_proc( 3, name3, s3( sem_vector, applsem),
 2170   73   14   ! pax_size, 0);
 2180   74   15   ! 
 2190   75   16   ! REPEAT
 2200   76   17   ! ! wait(msg,eva_sem);
 2210   77   18   ! ! return(msg);
 2220   78   19   ! UNTIL false
 2230   79   20   END;  (* eva *)
 2240   80        
 2250   81        VAR
 2260   82          sem_vector  : adamvector;
 2270   83          s   : semaphore;
 2280   84          sh  : shadow;
 2290   85          ref1: reference;
 2300   86          c   : integer;
 2310   87        BEGIN
 2320   88    1   ! 
 2330   89    2   ! sem_vector(adamsem)     := ref(s);
 2340   90    3   ! sem_vector(operatorsem) := ref(opsem);
 2350   91    4   ! 
 2360   92    5   ! c   := create("eva         ", eva(sem_vector),sh,eva_size);
 2370   93    6   ! start(sh,0);
 2380   94    7   ! 
 2390   95    8   ! REPEAT
 2400   96    9   ! ! wait(ref1,s);  (* stop *)
 2410   97   10   ! ! return(ref1);
 2420   98   11   ! UNTIL false
 2430   99   12   END.
 2440  100      
\f

tsevalst    81.06.02.   12.27.                                                    page     4

           0   38    71    73    93 
           1   28*   68 
           2   70 
           3   28*   72 
          16   44 
         512    4*
        1024    3*
        2000    6*
        4080    5*
adam           15*
adamsem        89 
adamvector     82*
alarm_size      5*   71 
alfa            9*   32*
al_env_version                                                   <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
               65 
applsem        30*   70    72 
appl_sem       52*   54*
appl_vector    30*   52*   54*
c              86*   92=
create         37    92 
eva            17*   92 
eva_env         1*
eva_sem        26*   76 
eva_size        3*   92 
external        8*   10*   12*   51*   53*   55*
false          78    98 
i              29*   36=   44=   44    45 
index          32*   37    39 
init_proc      32*   68    70    72 
integer        11*   29*   32*   32*   34*   86*
link           36 
minpriority    69 
msg            27*   76    77 
name            9*   32*   36    37    42 
name0          20*   62 
name1          21*   68 
name2          22*   70 
name3          23*   72 
ok             11*   34*   37=   38    44 
operatorsem    90 
opsem          15*   90 
op_size         4*   69 
p              32*   36    37 
\f

tsevalst    81.06.02.   12.27.                                                    page     5

pax_size        6*   73 
printhex       11*   45    65 
printnl         7*   41    46    61    63    66 
printtext       9*   42    43    62    64 
prio           32*   39 
process        15*   17*   50*   52*   54*
processrec     32*
processref     36 
ref            89    90 
ref1           85*   96    97 
reference      27*   85*
return         77    97 
s              83*   89    96 
s1             50*   68 
s2             52*   70 
s3             54*   72 
semaphore      15*   26*   83*
sem_vector     17*   68    70    72    82*   89=   90=   92 
sh             28*   37    39    84*   92    93 
shadow         28*   84*
size           32*   37 
start          39    93 
sv             50*   52*   54*
system_vector                                                    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
               17*   50*   52*   54*
version        19*   64 
wait           76    96 
\f

tsevalst    81.06.02.   12.27.                                                    page     6

ARRAY              1
BEGIN              4
CONST              2
ELSE               1
END                4
IF                 1
OF                 1
PROCEDURE          4
REPEAT             2
THEN               1
UNTIL              2
VAR               10
\f

jg8  1981.06.02  12.27
 tseva program
81.06.02.      12.27.                         pascal80     version 1981.04.01


   name        headline beginline endline  appetite(words) 

   init_proc       21        23      35  :      28            
   eva              6        48      66  :     193            
   adam             4        76      86  :     146            

 code: 0 . 1506  = 1506 bytes


end of PASCAL80 compilation 

end
blocksread = 52
«eof»