|
|
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: 1536 (0x600)
Types: TextFile
Names: »tlistint«
└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ.
└─⟦4334b4c0b⟧
└─⟦162d2eb5b⟧ »talgprog«
└─⟦this⟧
;ali
message listint
listint=set 4
listint=algol connect.no
1978-09-05
begin
integer j,char,intproc,firstint,no_of_int,intsize;
boolean system2;
array internals(1:2);
integer field firstaddr,lastaddr,lowerbase,upperbase,namefirst,kind;
array field process,name,parent;
name:=2;
kind:=2;
namefirst:=4;
firstaddr:=24;
lastaddr:=firstaddr+2;
lowerbase:=78;
upperbase:=lowerbase+2;
system2:=lookupentry(<:system2:>)=0;
firstint:=wordload(78);
no_of_int:=(wordload(80)-firstint)//2;
intsize:=wordload(firstint+2)-wordload(firstint);
firstint:=wordload(firstint);
redefarray(internals,firstint,intsize*no_of_int);
write(out,"nl",1,<:name:>,"sp",8,<:parent:>,"sp",9,
<:first:>,"sp",3,<:last:>,"sp",5);
if -,system2 then write(out,<:lower:>,"sp",4,<:upper:>);
for intproc:=1 step 1 until no_of_int do
begin
process:=(intproc-1)*intsize;
parent:=wordload(firstint+process+50)-firstint;
if internals.process.namefirst<>0 and internals.process.kind=0 then
begin
j:=1;
char:=write(out,"nl",1,string internals.process.name(increase(j)));
write(out,"sp",13-char);
j:=1;
char:=if parent=-firstint then 0 else
if internals.parent.namefirst=0 then 0 else
write(out,string internals.parent.name(increase(j)));
write(out,"sp",12-char);
write(out,<< dddddd>,
internals.process.firstaddr,internals.process.lastaddr);
if -,system2 then write(out,<< -ddddddd>,
internals.process.lowerbase,internals.process.upperbase);
end internal found;
end internal;
end
mode 15.no list.no
▶EOF◀