|
|
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: 4608 (0x1200)
Types: TextFile
Names: »scatlisttxt«
└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ.
└─⟦4334b4c0b⟧
└─⟦this⟧ »scatlisttxt«
begin
procedure skriv1(str);
string str;
begin
long tal;
tal:=z.f;
if tal<0 then tal:=tal+16777216;
write(out,sp,4);
write(out,sp,afst-write(out,<<d>,tal));
write(out,<:, :>);
write(out,sp,11-write(out,str));
if z.f<0 then
write(out,<:(:>,<<d>,z.f,<:):>);
write(out,nl,1);
end;
procedure skriv2(str1,str2);
string str1,str2;
begin
integer aa,bb;
aa:=z.f shift (-12) extract 12;
bb:=z.f extract 12;
write(out,sp,4);
write(out,sp,afst-write(out,<<d>,aa,<:.:>,bb));
write(out,<:, :>);
write(out,sp,11-write(out,str1));
write(out,str2,nl,1);
end;
real array rra(1:2);
integer i,afst,j,u,p,entry0,entryl,x,xx;
integer field f,ref,sl,tom,
et,ep,st,spe;
real array field name;
zone z(128,1,stderror);
boolean sp,nl;
sp:=false add 32; nl:=false add 10;
u:=0;
p:=1;
afst:=21;
if readparam(rra)=-1 then
begin
connectcuro(rra);
u:=1;
end;
write(out,<:lookup susercat<10>if ok.no<10>(:>);
write(out,<:<10>susercat=set 1<10>scope user susercat<10>:>);
write(out,<:)<10>scatop:>);
write(out,sp,afst-2,<:,:>,nl,1,sp,2,<:newcat :>);
tom:=2;
f:=4;
sl:=6;
ref:=8;
open(z,4,<:susercat:>,0);
inrec6(z,8);
entry0:=z.sl;
entryl:=z.f;
name:=-4;
write(out,<< dd>,z.f,z.sl,z.ref,sp,afst-19,
<:, <entry length> <l.u. entry0> <cat size>:>,nl,1);
setposition(z,0,0);
xx:=(entry0-6)//12;
inrec6(z,entryl);
begin
real array ra(1:2,1:xx);
for j:=1 step 1 until xx do
begin
name:=name+12;
ref:=ref+12;
sl:=sl+12;
write(out,sp,4);
p:=1;
write(out,sp,afst-8-write(out,string z.name(increase(p))));
write(out,<< dd>,z.sl,z.ref,sp,2,if j=xx then
<:;:> else <:,:>,<: <slice length> <reference>:>,nl,1);
ra(1,j):=z.name(1);
ra(2,j):=z.name(2);
end;
for j:=inrec6(z,0) while j>2 do
begin
if j>=entryl then
inrec6(z,entryl) else
begin
inrec6(z,j);
goto slut;
end;
if z.tom>-1 then
begin
name:=4;
write(out,nl,1,<:scatop:>,sp,afst-2,<:,:>,nl,1,sp,2,
<:insert :>);
p:=1;
write(out,sp,afst-5-write(out,string z.name(increase(p))));
write(out,<:,:>,nl,1);
f:=4;
skriv2(<:<keys>:>,<:<command mask>:>);
f:=14;
skriv1(<:<wrk>:>);
f:=16;
skriv1(<:<wrk>:>);
f:=18;
skriv2(<:<buf>:>,<:<area>:>);
f:=20;
skriv2(<:<internal>:>,<:<function>:>);
f:=22;
skriv2(<:<pr>:>,<:<pk>:>);
f:=24;
skriv1(<:<max ll>:>);
f:=26;
skriv1(<:<max ul>:>);
f:=28;
skriv1(<:<std ll>:>);
f:=30;
skriv1(<:<std ul>:>);
f:=32;
skriv1(<:<size>:>);
name:=32;
p:=1;
write(out,sp,4);
x:=write(out,string z.name(increase(p)));
write(out,sp,afst-x,<:, <prog>:>,nl,1);
f:=42;
skriv1(<:<user ll>:>);
f:=44;
skriv1(<:<user ul>:>);
write(out,sp,3);
et:=38; st:=40; ep:=42; spe:=44;
for i:=1 step 1 until xx do
begin
long a,b,c,d;
et:=et+8;
ep:=ep+8;
st:=st+8;
spe:=spe+8;
a:=z.et; if a<0 then a:=a+16777216;
b:=z.ep; if b<0 then b:=b+16777216;
c:=z.st; if c<0 then c:=c+16777216;
d:=z.spe; if d<0 then d:=d+16777216;
p:=1;
x:=write(out,<< dddd>,a,c,b,d);
write(out,sp,(afst+1)-x,if i=xx then <:;:>
else <:,:>,<: <e.t> <s.t> <e.p> <s.p> :>,
string ra(increase(p),i));
if z.et<0 or z.st<0 or z.ep<0 or z.spe<0 then
write(out,<:(:>,z.et,z.st,z.ep,z.spe,<:):>);
write(out,if i=6 then <:<10>:> else <:<10> :>);
end;
end;
slut:
end;
end;
close (z,true);
write(out,false add 25,3);
if u=1 then setposition(out,0,0);
if u=1 then unstackcuro;
end;
▶EOF◀