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

⟦c180dfb13⟧ TextFile

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

Derivation

└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
    └─⟦b2ec5d50f⟧ 
        └─⟦dd2c1b53f⟧ »tplot« 
            └─⟦this⟧ 

TextFile

scope temp houstt
clear temp houstt
houstt=set 20
scope day houstt
houstt=algol list.no
begin
  integer i,j,j1,j2,p,h,dum;
  real p1,p2;
  integer array buf(1:300),M,A(1:20);
;
  for i:=1 step 1 until 300 do
  begin  j:= (i-1) extract 7;
    if j=0 then j:=1;  if j=25 then j:=24;
    buf(i):= j*256*256+j*256+j;
  end;
  M(1):= 5 shift 12 + 2;
;
  p1:= real <:termi:> add 110;
  p2:= real <:al2:>;
  p:= description(firstaddr(p1)-4);
  initproc(p,0);
;
  while true do
  begin
    write(out,<:<10>antal= :>);outendcur(32);
    read(in,j);
    if j<1 then goto OUT;
    dum:=buf(j);
    buf(j):=25;
    M(2):=firstaddr(buf);
    h:=j+j;
    M(3):=M(2)+h-2;
REP:  i:=waitanswer(sendmessage(p,M),A);
    write(out,<:<10>:: :>,j,i);outendcur(32);
    if i<>1 then alarm(<:<10>error-1 :>,i,M(2),M(3));
    if A(2)<>h then 
    begin write(out,<:<10>abort :>,A(2),A(3),h);
          outendcur(32);
         j1:=A(3) mod 3;  j2:=if j1=0 then A(2) else A(2)-2;
         h:=h-j2;
         M(2):=M(2)+j2;
         j2:= (j2//2) + 1;
         if j1=1 then buf(j2):=buf(j2) extract 16;
         if j1=2 then buf(j2):=buf(j2) extract 8;
         goto REP;
    end;
    buf(j):=dum;
  end;
OUT:
end;
▶EOF◀