|
|
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: »zsorttxt«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt.
└─⟦0364f57e3⟧
└─⟦e6c2bcfa6⟧ »cryprog«
└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ.
└─⟦4334b4c0b⟧
└─⟦e6c2bcfa6⟧ »cryprog«
└─⟦this⟧
;klab3 6 time.300 lines.2000
clear zsort
zsort=set 60
permanent zsort.13
lookup rydgtest
if ok.yes
mode 10.yes
lookup rydlist
if ok.yes
mode list.yes
clear rydlist rydgtest
if list.yes
zsort=algol list.yes
zsort=algol
zsort
20 8 77
begin
integer i,j,n,l,nmax,lmax,nmin,lmin,s,smax,count,outr,segm,insegm,
Z,c,char,Zmin,Zmax,lpmax,sgc,diagsegm,mul,minmul,maxmul;
array m,output,bsi,bso(1:3);
integer array tail(1:10);
boolean list,test,lsline;
zone outz(128,1,stderror);
count:=100000;
test:=list:=false;
readbfp(<:list:>,list);
readbfp(<:test:>,test);
if test then readifp(<:lines:>,count);
packtext(bsi,<:unknown:>);
readinfp(bsi,1);
i:=lookuptail(bsi,tail);
segm:=tail(1);
j:=1;
if i<>0 or fpinareas=0 then alarm(<:***inputarea :>,string bsi(increase(j)),i);
bso(1):=bsi(1); bso(2):=real <:ofz:>;
stackcuri;
i:=connectcuri(bsi);
if i<>0 then alarm(<:***connect :>,string inc(bsi),i);
setposition(in,0,0);
inrec(in,128);
nmax:=in(1); lmax:=in(2);
nmin:=in(3); lmin:=in(4);
Zmin:=in(5); Zmax:=in(6);
smax:=in(7);
if smax*(Zmax-Zmin+1)<>segm-1 then
write(out,nl,1,star,2,<:segments :>,smax,segm);
mul:=in(9); maxmul:=in(10);
if maxmul mod 2=1 and mul mod 2=0 then maxmul:=maxmul-1;
minmul:=maxmul mod 2 + (if maxmul mod 2=0 then 2 else 0);
diagsegm:=in(17);
lsline:=abs(in(128)-1)<'-7;
sgc:=n:=0;
i:=1;
removeentry(bso);
i:=createentry(bso,tail);
j:=1;
if i<>0 then alarm(<:outputarea :>,string bso(increase(j)),i);
permentry(bso,13);
i:=1;
open(outz,4,string bso(increase(i)),0);
outrec(outz,128);
movearray(in,outz);
inrec(in,128);
outrec(outz,128);
movearray(in,outz);
if list then begin
if fpout then begin
readlsfp(output);
stackcuro;
i:=connectcuro(output);
if i>0 then begin
unstackcuro;
alarm(<:***connect output :>,string inc(output),i);
end;
end;
write(out,false add 12,1,false add 10,2,
<:Zmin,Zmax = :>,Zmin,Zmax,<:<10>n = :>,nmax,
<:<10>segm/sys = :>,smax,<:<10>:>);
write(out,<:<10>state,A,b,f,S,lambda,n*1,n*2,t1,t2<10>:>);
end;
insegm:=outr:=0;
for s:=1 step 1 until smax-1 do
for n:=0 step 16 until 128-16 do
begin
if list then write(out,<:<10>:>);
for mul:=minmul step 2 until maxmul do
for Z:=1 step 1 until Zmax-Zmin+1 do
begin
insegm:=(Z-1)*((maxmul+1)//2)*smax+s+1+smax*((mul-1)//2);
setposition(in,0,insegm);
if insegm>=segm then write(out,nl,1,star,2,<:inrec error :>,
insegm,segm,s,n,mul,Z);
inrec(in,128);
outr:=outr+1;
if outr>8*segm then write(out,nl,1,star,2,
<:outrec error :>,outr,segm*8,s,n,mul,Z);
outrec(outz,16);
for j:=1 step 1 until 16 do outz(j):=in(j+n);
if list and in(n+1)>0 and count>0 then begin
if operatorkey(false) then count:=0;
count:=count-1;
if s<=diagsegm then begin
write(out,nl,1,<< dd>,Z,in(n+6),sp,2);
writels(out,in(n+1),in(n+2),in(n+11));
for i:=3,4,5,9 do write(out,in(n+i));
end else begin
write(out,nl,1,<<dd>,Z,sp,2,round in(n+16),sp,2);
writels(out,in(n+1),in(n+2),in(14));
write(out,sp,2);
writels(out,in(n+3),in(n+4),in(n+15));
if abs in(n+9)>smallreal then begin
for j:=5 step 1 until 10 do write(out,if j<>9 then <::> else <:<10> :>,
<< +d.ddd'+dd>,in(n+j));
end;
end;
end;
end;
end;
unstackcuri;
close(outz,true);
if fpout then closeout;
end;
mode 10.no list.no
▶EOF◀