|
|
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: »houstont«
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
└─⟦b2ec5d50f⟧
└─⟦dd2c1b53f⟧ »tplot«
└─⟦this⟧
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◀