|
|
DataMuseum.dkPresents historical artifacts from the history of: RC3500 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC3500 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 6144 (0x1800)
Types: TextFileVerbose
Names: »mirrorlst«
└─⟦a41ae585a⟧ Bits:30001842 SW-save af projekt 1000, Alarm-system
└─⟦72244f0ef⟧
└─⟦this⟧ »mirrorlst«
\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»