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