|
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»