|
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: 7680 (0x1e00) Types: TextFileVerbose Names: »tsevalst«
└─⟦a41ae585a⟧ Bits:30001842 SW-save af projekt 1000, Alarm-system └─⟦72244f0ef⟧ └─⟦this⟧ »tsevalst«
\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»