|
|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3840 (0xf00)
Types: TextFile
Names: »htsysslut «
└─⟦cde9d517b⟧ Bits:30007477 RC8000 Backup tape fra HT's bus-radio system
└─⟦6a563b143⟧
└─⟦this⟧ »htsysslut «
sysslut.
:5: sysslut: initialisering
\f
message sysslut initialisering side 1 - 810406/cl;
begin
zone z(128,1,stderror);
integer i,coruid,j,k;
integer array field cor;
open(z,4,<:overvågede:>,0);
for i:= read(z,coruid) while i > 0 do
begin
if coruid = 0 then
begin
for coruid:= 1 step 1 until maxcoru do
begin
cor:= coroutine(coruid);
d.cor.corutestmask:= d.cor.corutestmask shift 1 shift (-1);
end
end
else
begin
cor:= coroutine(coru_no(abs coruid));
if cor > 0 then
begin
d.cor.corutestmask:=
(d.cor.corutestmask shift 1 shift (-1)) add
((coruid > 0) extract 1 shift 11);
end;
end;
end;
close(z,true);
læsfil(tf_systællere,1,k);
cor:= 0;
tofrom(opkalds_tællere,fil(k).cor,max_antal_områder*6);
end;
\f
message sysslut initialisering side 2 - 810603/cl;
if låsning > 0 then
<* låsning 1 : *> lock(takeexternal,coru_term,mon,1); <* centrallogik *>
if låsning > 1 then
<* låsning 2 : *> lock(readchar,1,write,2);
if låsning > 2 then
<* låsning 3 : *> lock(activate,1,link,1,setposition,1);
if låsning > 0 then
begin
i:= locked(ia);
write(z_io,"nl",2,<:låsning::>,låsning,"nl",1,i,<: segmenter er låst:>);
end;
\f
message sysslut initialisering side 3 - 810406/cl;
write(z_io,"nl",2,<:initialisering slut:>);
system(2)free core:(i,ra);
write(z_io,"nl",1,<:free core =:>,i,"nl",1);
setposition(z_io,0,0);
write(zbillede,"ff",0,"nl",1,<:initialisering slut :>,<<zddddd>,
systime(5,0,r),".",1,r,"nl",1,<:free core=:>,i,
"nl",1);
:6: trapaktion
\f
message sysslut trapaktion side 1 - 810519/cl;
corutable(zbillede);
write(zbillede,"ff",1,<:***** simple semaphores *****:>,"nl",2,
<: ref værdi prev next:>,"nl",1);
iaf:= firstsim;
repeat
write(zbillede,<<dddd>,iaf,<< -dddd>,d.iaf.simvalue,<< dddd>,
d.iaf(simcoru//2-1),d.iaf.simcoru,"nl",1);
iaf:= iaf + simsize;
until iaf>=simref;
write(zbillede,"ff",1,<:***** chained semaphores *****:>,"nl",2,
<: ref prev.coru next.coru prev.op next.op:>,"nl",1);
iaf:= firstsem;
repeat
write(zbillede,<<dddd>,iaf,<<______dddd>,d.iaf(semcoru//2-1),
d.iaf.semcoru,d.iaf(semop//2-1),d.iaf.semop,"nl",1);
iaf:= iaf+semsize;
until iaf>=semref;
write(zbillede,"ff",1,<:***** operations *****:>,"nl",2);
iaf:= firstop;
repeat
skriv_op(zbillede,iaf);
iaf:= iaf+opheadsize+d.iaf.opsize;
until iaf>=optop;
write(zbillede,"ff",1,<:***** message extentions *****:>,"nl",2,
<: messref messcode messop:>,"nl",1);
for i:= 1 step 1 until maxmessext do
write(zbillede,<< dddddddd>,messref(i),messcode(i),messop(i),"nl",1);
write(zbillede,"nl",4,<:***** process extentions *****:>,"nl",2,
<: procref proccode procop:>,"nl",1);
for i:= 1 step 1 until maxprocext do
write(zbillede,<< dddddddd>,procref(i),proccode(i),procop(i),"nl",1);
errorbits:= 1; <* ok.no *>
:7: sysslut: finale
\f
message sysslut finale side 1 - 810530/cl;
write(zbillede,
"nl",2,<:blocksread=:>,blocksread,
"nl",1,<:blocksout= :>,blocksout,
"nl",1,<:fillæst= :>,fillæst,
"nl",1,<:filskrevet=:>,filskrevet,
"nl",3,<:********** billede genereret :>,<<zddddd>,
systime(5,0,r),".",1,r,<: **********:>,"nl",1,"em",1);
close(zbillede,true);
setposition(z_io,0,0);
write(z_io,"nl",3,"sp",10,"*",15,<: busradio afsluttet :>,<<zddddd>,
systime(5,0,r),".",1,r,"sp",1,"*",15,"nl",1,"em",1);
close(z_io,true);
trapmode:= 1 shift 10;
▶EOF◀