|
|
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: 3072 (0xc00)
Types: TextFileVerbose
Names: »tstsevajob«
└─⟦a41ae585a⟧ Bits:30001842 SW-save af projekt 1000, Alarm-system
└─⟦72244f0ef⟧
└─⟦this⟧ »tstsevajob«
job jg 8 200 time 6 0 area 10 size 100000
(source= copy 25.1
tsevalst=set 1 disc1
tsevalst= indent source mark lc
listc= cross tsevalst
o errors
head 1
message tseva program
pascal80 spacing.3000 codesize.3000 evaenv alarmenv source
o c
lookup pass6code
if ok.yes
(tsevabin= set 1 disc1
tsevabin= move pass6code
scope user tsevabin
)
tsevalst= copy listc errors
scope user tsevalst
convert errors
finis
)
eva_env;
const
eva_size = 1024;
op_size = 512;
alarm_size = 4080;
pax_size = 2000;
procedure printnl;
external;
procedure printtext( name: alfa);
external;
procedure printhex( ok: integer);
external;
.
\f
process adam( var opsem: semaphore );
process eva(var sem_vector: !system_vector);
const
version = "vers 4.02 /";
name0 = ">eva ";
name1 = "operator ";
name2 = "tsopsys ";
name3 = "pax_opsys ";
var
eva_sem : semaphore;
msg : reference;
sh : array(1..3) of shadow;
i : integer;
applsem : appl_vector;
procedure init_proc ( index : integer; name : alfa; p : processrec; size,prio : integer);
var
ok : integer;
begin
i:= link( name, p.processref^);
ok:= create( name, p, sh(index), size);
if ok=0 then
start( sh(index), prio) else
begin
printnl;
printtext(name);
printtext(" missing ");
i:= i*16 + ok;
printhex(i);
printnl;
end;
end;
process s1( var sv: system_vector);
external;
process s2( var sv: system_vector; var appl_sem: appl_vector);
external;
process s3( var sv: system_vector; var appl_sem: appl_vector);
external;
\f
(* main program *)
begin
printnl;
printtext(name0);
printnl;
printtext(version);
printhex(al_env_version);
printnl;
init_proc( 1, name1, s1( sem_vector),
op_size, minpriority);
init_proc( 2, name2, s2( sem_vector, applsem),
alarm_size, 0);
init_proc( 3, name3, s3( sem_vector, applsem),
pax_size, 0);
repeat
wait(msg,eva_sem);
return(msg);
until false
end; (* eva *)
var
sem_vector : adamvector;
s : semaphore;
sh : shadow;
ref1: reference;
c : integer;
begin
sem_vector(adamsem) := ref(s);
sem_vector(operatorsem) := ref(opsem);
c := create("eva ", eva(sem_vector),sh,eva_size);
start(sh,0);
repeat
wait(ref1,s); (* stop *)
return(ref1);
until false
end.
«eof»