DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

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

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦cdfda9c65⟧ TextFile

    Length: 6144 (0x1800)
    Types: TextFile
    Names: »mirrorlst«

Derivation

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

TextFile

\f

mirrorlst   81.05.06.   14.19.                                                    page     1

   10    1          
   20    2        PROCESS str_mirror(
   30    3          op_sem : sempointer;
   40    4          VAR main_sem : !ts_pointer;
   50    5          VAR stream_sem : !sempointer;
   60    6          rec_stream,
   70    7          xmit_stream : byte);
   80    8          
   90    9        CONST
  100   10          version = "vers  1.01 /";
  110   11          stream_read = 3;
  120   12          stream_write= 4;
  130   13        TYPE
  140   14          str_buf = RECORD
  150   15                    !  fi, la, ne : integer;
  160   16                    !  fix : alarmlabel;
  170   17                    !  data : ARRAY(1..256) OF byte;
  180   18                    END;
  190   19        VAR
  200   20          msg : reference;
  210   21          opzone : zone;
  220   22          trans_pool : pool 1 OF str_buf;
  230   23          
  240   24          PROCEDURE send_read_stream;
  250   25          BEGIN
  260   26    1     ! LOCK msg AS buf : str_buf DO
  270   27    2     !   WITH msg^, buf DO
  280   28    3     !     BEGIN
  290   29    4     !     ! u1:= read_stream;
  300   30    5     !     ! u2:= 0;
  310   31    6     !     ! u3:= rec_stream;
  320   32    7     !     ! u4:= stream_read;
  330   33    8     !     ! fi:= 6;
  340   34    9     !     ! la:= 239;
  350   35   10     !     ! ne:= 6;
  360   36   11     !     END;
  370   37   12     ! signal( msg, stream_sem^ );
  380   38   13     END;
  390   39          
  400   40          PROCEDURE send_write_stream;
  410   41          BEGIN
  420   42    1     ! LOCK msg AS buf : str_buf DO
  430   43    2     !   WITH msg^, buf DO
  440   44    3     !     BEGIN
  450   45    4     !     ! u1:= write_stream;
  460   46    5     !     ! u3:= xmit_stream;
\f

mirrorlst   81.05.06.   14.19.                                                    page     2

  470   47    6     !     ! u4:= stream_write;
  480   48    7     !     END;
  490   49    8     ! signal( msg, stream_sem^ );
  500   50    9     END;
  510   51          
  520   52        BEGIN
  530   53    1   ! testopen ( opzone, own.incname, op_sem );
  540   54    2   ! testout  ( opzone, version, fe_env_version );
  550   55    3   ! alloc ( msg, trans_pool, main_sem.s^ );
  560   56    4   ! send_read_stream;
  570   57    5   ! 
  580   58    6   ! REPEAT
  590   59    7   ! ! wait( msg, main_sem.w^ );
  600   60    8   ! ! IF msg^.u4 = stream_read THEN
  610   61    9   ! !   send_write_stream ELSE
  620   62   10   ! !   send_read_stream;
  630   63   11   ! UNTIL false
  640   64   12   END.
  650   65      
  660   66      
  670   67      
\f

mirrorlst   81.05.06.   14.19.                                                    page     3

           0   30 
           1   17*   22*
           3   11*
           4   12*
           6   33    35 
         239   34 
         256   17*
alarmlabel     16*
alloc          55 
as             26:   42:
buf            26:   27    42:   43 
byte            7*   17*
data           17*
false          63 
fe_env_version                                                   <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
               54 
fi             15*   33=
fix            16*
incname        53 
integer        15*
la             15*   34=
lock           26:   42:
main_sem        4*   55    59 
msg            20*   26:   27    37    42:   43    49    55    59    60 
ne             15*   35=
opzone         21*   53    54 
op_sem          3*   53 
own            53 
pool           22*
process         2*
read_stream    29 
rec_stream      6*   31 
reference      20*
s              55 
sempointer      3*    5*
send_read_stream                                                 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
               24*   56    62 
send_write_stream                                                <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
               40*   61 
signal         37    49 
stream_read    11*   32    60 
stream_sem      5*   37    49 
stream_write   12*   47 
str_buf        14*   22*   26    42 
\f

mirrorlst   81.05.06.   14.19.                                                    page     4

str_mirror      2*
testopen       53 
testout        54 
trans_pool     22*   55 
ts_pointer      4*
u1             29=   45=
u2             30=
u3             31=   46=
u4             32=   47=   60 
version        10*   54 
w              59 
wait           59 
write_stream   45 
xmit_stream     7*   46 
zone           21*
\f

mirrorlst   81.05.06.   14.19.                                                    page     5

ARRAY              1
BEGIN              5
CONST              1
DO                 4
ELSE               1
END                6
IF                 1
OF                 2
PROCEDURE          2
RECORD             1
REPEAT             1
THEN               1
TYPE               1
UNTIL              1
VAR                3
WITH               2
\f

jg5  1981.05.06  14.20
 mirror program
81.05.06.      14.19.                         pascal80     version 1981.04.01


   name        headline beginline endline  appetite(words) 

   send_read_st    25        26      38  :      11            
   send_write_s    41        42      50  :      11            
   str_mirror      10        53      64  :      97            

 code: 0 . 672  = 672 bytes


end of PASCAL80 compilation 

end
blocksread = 52
▶EOF◀