|
|
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: 3120 (0xc30)
Types: TextFile
Notes: flxfile
Names: »s18100:1.tdisplay main «, »tdisplay main «
└─⟦16311b62b⟧ Bits:30009128 PD8100/1/6.0 - OPERATING SYSTEM MISP/TS - 2 OF 2
└─⟦3ad4561c7⟧
└─⟦this⟧
bdisplay=algol connect.no list.yes
begin
integer i,parent,lgd;
integer array ia (1:2),process_ia(1:51);
boolean første;
array fpname, name(1:2);
array field af;
long array field laf;
real runtime, start_time, wait_time, time,monitor_version;
parent:=af:=laf:=0;
system(5)move_core fra monitor version:(64,ia);
monitor_version:=ia(1) shift (-12) + ia(1) extract 12 *0.01;
system(5)move_core:(78,ia);
lgd:=(ia(2)-ia(1))//2;
begin
integer array int_name_table (1:lgd);
procedure head;
write(out,<:<10>display of :>,fpname.laf,
<: d.:>,<<dddddd>,systime(5,0,time),
<:.:>,<<zddd>,time/100-0.3,
<:<10>monitor version::>,<< d.dd>,monitor_version,
false add 32,31,<:claim::>,
<:<10>name rel state start wait cpu size buf area int func.:>);
procedure skriv_process(parent,niveau);
value parent,niveau;
integer parent,niveau;
begin
integer i;
runtime:=process_ia.laf(14)/10000;
time:=process_ia.laf(15)/10000;
systime(4,time,start_time);
time:=process_ia.laf(16)/10000;
systime(4,time,wait_time);
write(out,<:<10>:>,false add 32,2*niveau);
outtext(out,16 - 2*niveau,process_ia.af,1);
write(out,if process_ia(49)<>0 then <:*_:> else <:__:>);
write(out,case process_ia(5) extract 8 shift (-5) + 1 of(
<:error:>,<:? :>,<:run :>,<:? :>,<:wait :>,
<:stop :>,<:func :>,<:? :>),
<< bd.dd>,start_time/10000-0.003,
<< bd.dd>,wait_time/10000-0.003,
<<dddddd.d>,runtime,
<< dddddd>,process_ia(12)-process_ia(11),
<< ddd>,process_ia(13) shift (-12),
process_ia(13) extract 12,
<< dd >,process_ia(14) shift (-12));
if processia(14) extract 12=4095 then write(out,<: all:>) else
for i :=0 step 1 until 11 do if processia(14) shift (-i) extract 1=1 then write(out,11-i);
for i:=1 step 1 until lgd do
begin
system(5)move_core:(int_name_table(i)+2,process_ia);
if process_ia(25)=parent then skriv_process(int_name_table(i),niveau+1);
end;
end ;
system(5)move_core:(ia(1),int_name_table);
if system(4,1,fpname)<>0 then
for i:=1 step 1 until lgd do
begin
system(5)move_core:(int_name_table(i)+2,name);
if name(1)=fpname(1) and name(2)=fpname(2) then
parent:=int_name_table(i);
end;
if parent=0 then parent:=system(8,i,fpname);
head;
system(5)move_core:(parent+2,process_ia);
skriv_process(parent,0);
write(out,false add 10,2);
end parent<>0;
trapmode:=1024;
end ;
bdisplay s
bdisplay driverproc
bdisplay
bdisplay all
bdisplay tem
scope project bdisplay
finis
▶EOF◀