|
|
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: Rc489k_TapeFile, TextFile
Notes: flxfile
Names: »s18100:1.tdisplay main «, »tdisplay «, »tdisplay main «
└─⟦0d4f5e769⟧ Bits:30008171 MIPS/TS RELEASE 7.1
└─⟦this⟧
└─⟦9ccaf6601⟧ Bits:30008165 Bånd med SW8000 kildetekst/release værktøjer
└─⟦39138f30b⟧
└─⟦this⟧ »tdisplay «
└─⟦44e24163d⟧ Bits:30004128/s28100.imd SW8100 MIPS/TS release 7.0
└─⟦65e00005c⟧
└─⟦this⟧ »s18100:1.tdisplay main «
└─⟦aa55fa693⟧ Bits:30007479 SW8110/1 TAS/SOS/PRIMO Rel 2.3
└─⟦this⟧
bdisplay=algol connect.no list.yes
begin
integer i,parent,lgd,proc_state;
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::>,<< dd.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;
proc_state:=process_ia(5) extract 8;
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,
if proc_state = 11 then <:running :> else
if proc_state = 200 then <:w. cpu :> else
if proc_state = 8 then <:error :> else
if proc_state = 176 then <:w. stop :> else
if proc_state = 160 then <:w. stop :> else
if proc_state = 184 then <:w. start :> else
if proc_state = 168 then <:w. start :> else
if proc_state = 204 then <:w. p func:> else
if proc_state = 141 then <:w.mess. :> else
if proc_state = 142 then <:w. answer:> else
if proc_state = 143 then <:w. event :> else
<:? :>,
<< 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◀