|
|
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: »algsetmove«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt.
└─⟦0364f57e3⟧
└─⟦7e928b248⟧ »algbib«
└─⟦this⟧
;gosav
setmove=set 23
permanent setmove.17
setmove=algol
begin
comment The program copies an input file <s1> into an
output file <s2>. If <s2> does not exist it
is created with a number of segments equal
to the length of <s1> plus an integer i
specified in the call
<s2> = setmove <s1> i
If i is not specified, i = 0 is assumed;
integer i,j;
integer array t1,t2(1:10);
array s1,s2(1:2);
zone z1,z2(128*2,2,stderror);
system(4,2,s1); i:= 1;
open(z1,4,string s1(increase(i)),0);
if monitor(42,z1,0,t1)<>0 then begin write(out,<:
***input file not found:>); goto stop end;
system(4,0,s2); i:= 1;
open(z2,4,string s2(increase(i)),0);
j:= system(4,3,s1);
i:= if j=0 then 0 else s1(1);
if i<0 or i>100 then begin write(out,<:
***segments out of range:>); goto stop end;
if monitor(42,z2,0,t2)=0 then begin
if t2(1)<t1(1)+i then begin write(out,<:
***output file too short:>); goto stop end
else j:= 44
end else j:= 40;
t2(1):= t1(1)+i;
for i:=2 step 1 until 10 do t2(i):= t1(i);
monitor(j,z2,0,t2);
monitor(50,z2,15,t2);
for j:=t1(1) step -1 until 1 do begin
inrec(z1,128); outrec(z2,128);
for i:=1 step 1 until 128 do z2(i):= z1(i);
end;
close(z2,true);
stop: close(z1,true);
end;
▶EOF◀