|
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: 3072 (0xc00) Types: TextFile Names: »tinittemcat«
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ. └─⟦b2ec5d50f⟧ └─⟦this⟧ »tinittemcat«
inittempcat = algol begin message vk 1981.10.20 inittempcat; comment *********************************************************** * * * This program is used to initalise the tempcat. It is * * called in the following way: * * inittempcat * * * * Errormessages are: * * *** Tempcat does not exist * * *** Creation of tempcat not ok * * * *********************************************************** ; zone cat(128,1,stderror); integer ik,i; integer array tail(1:10),interval(1:8),ttail(1:17),entrybase(1:2); real array tname(1:2); integer field lbase,ubase; \f procedure error(errorno);integer errorno; begin case errorno of begin <*1*>write(out,<:<10>*** Tempcat does exist:>); <*2*>write(out,<:<10>*** Creation of tempcat not ok:>); end; write(out,<:<10> inittempcat not ok :>,<:<10>:>); goto halt; end error; \f procedure inittempcat; begin comment ********************************************************** * * * Thisprocedure is used to initialise tempcat, that is * * insert -1 in all the words of tempcat. * * * **********************************************************; integer field a; setposition(cat,0,0); outrec6(cat,512); for ik := 1 step 1 until 256 do begin a:=ik*2; cat.a:=-1; end; end inittempcat; tname(1):=real <:tempc:> add 97; tname(2):=real <:t:>; i:=1;open(cat,4,string tname(increase(i)),0); i:=monitor(76)lookup head and tail:(cat,0,ttail); system(11)get catalogbase:(0,interval); lbase:=4;ubase:=6; if i = 0 and ttail.lbase >= interval(7) and ttail.ubase <= interval(8) then error(1); tail(1):=1;tail(2):=1; tail(3):=0;tail(4):=0;tail(5):=6; tail(9):=11 shift 12; tail(7):=0;tail(8):=0; tail(10):=0; i:=monitor(40)create entry:(cat,0,tail); if i <> 0 then error(2); i:=monitor(50)permanent entry:(cat,3,tail); if i<> 0 then error(2); entrybase(1):=interval(5);entrybase(2):=interval(6); i:=monitor(74)set entry base:(cat,0,entrybase); if i <> 0 then error(2); inittempcat; close(cat,true); write(out,<:<10>inittempcat ok:>,<:<10>:>); halt: fpproc(7)end_of_program:(0,0,0); end ; ▶EOF◀