|
|
DataMuseum.dkPresents historical artifacts from the history of: RegneCentralen GIER Computer |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RegneCentralen GIER Computer Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2624 (0xa40)
Description: Bits:30000855 16 X 18 62 ch
Types: 8-hole paper tape
Notes: Gier Text
begin
zone ch(20⨯128,1,stderror),du(128,1,stderror);
integer array chd(1:6),zo(1:20),descr(0:34),tail(1:10),reg(1:6);
array dum(1:2);
integer i,j,k,l,m,n,o,p,q,r;
real a,b,c,d,e;
boolean test;
write(out,<:<10>test:>);
setposition(out,0,0);
read(in,q);
if q>0 then test:=true else test:=false;
getzone(ch,zo);
open(ch,0,<:alchild:>,0);
chd(1):=1; chd(2):=5⨯256;
j:=system(6,i,dum);
system(5,j,descr);
if test then begin write(out,<:<10>:>);
for k:=0 step 1 until 34 do begin
if k=5 or k=13 or k=14 or k=16 then begin
write(out,<< dd>,descr(k) shift(-12) extract 12,
descr(k)extract(12))
end else write(out,<< dddd>,descr(k));
if k mod 5 = 0 then write(out,<:<10>:>);
setposition(out,0,0)
end;
write(out,<:<10>:>);
end testoutput;
chd(3):=(descr(13) shift(-12) extract 12 -1) shift 12 add(
descr(13)extract 12 -1);
chd(4):=(descr(14) shift(-12) extract 12 -1)shift 12 add(descr(14)
extract(12));
chd(5):=descr(15);
chd(6):=descr(16);
write(out,<:<10>create = :>,monitor(56,ch,i,chd),<:<10>:>);
for k:=0 step 1 until 11 do begin
write(out,monitor(12,ch,k,tail));
if (k+1) mod 5 = 0 then write(out,<:<10>:>);
setposition(out,0,0);
end include user;
close(ch,true);
open(ch,4,<:fp:>,0);
write(out,<:<10>fp =:>,monitor(42,ch,0,tail),<:<10>:>);
inrec(ch,tail(10)extract 12);
close(ch,true);
open(ch,0,<:alchild:>,0);
reg(2):=system(6,i,dum);
reg(3):=system(7,i,dum);
reg(4):=monitor(4,ch,0,descr);
reg(5):=0;
reg(6):=tail(9)extract 12 + 1 + zo(19);
if test then begin write(out,<:<10>registers :>,
reg(2),reg(3),reg(4),reg(6));
setposition(out,0,0) end;
write(out,<:<10>modify :>,monitor(62,ch,0,reg));
n:=1;
write(out,<:<10>start proces :>,monitor(58,ch,n,descr));
L:
write(out,<:<10>ventetid i sek:>);
setposition(out,0,0);
read(in,m);
if m>0 then begin
open(du,0,<:clock:>,0);
getshare(du,descr,1);
descr(4):=0; descr(5):=m;
setshare(du,descr,1); monitor(16,du,1,descr);
monitor(18,du,1,descr);
goto L; end;
end
monitor(60,ch,1,chd);
monitor(64,ch,0,chd);
close(ch,false)
end
end
[ e n d ]