DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦fc0fd865d⟧ TextFile

    Length: 1536 (0x600)
    Types: TextFile
    Names: »algsetmove«

Derivation

└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ.  Detaljer om "HC8000" projekt.
    └─⟦0364f57e3⟧ 
        └─⟦7e928b248⟧ »algbib« 
            └─⟦this⟧ 

TextFile

;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◀