|
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: 6912 (0x1b00) Types: TextFile Names: »procestx «
└─⟦110021343⟧ Bits:30007476 RC8000 Backup tape fra HT's bus-radio system └─⟦a957ba283⟧ └─⟦this⟧ »procestx «
begin message proces side 1 - 790716/hko; <* proces udskriver dele af procesbeskrivelserne for alle eller et antal nærmere angivne processer. kald: 1 * 1 (<uddatamedie>=) proces (<s>navn (.<procesnavn>) ) , 0 1 0 1 1 (<s>udvid.<procomfang>(.<systemproc>) ) 0 0 navn.<procesnavn> angiver navnet på den (de) proces(ser) der ønskes udskrevet. er parameteren udeladt skrives alle interne processer samt 's'. i stedet for et navn kan angives 'egen'. udvid.<procomfang>.<systemproc> er denne parameter udeladt svarer det til udvid.0.0 <procomfang> kan have værdierne 0 og 1, svarende til henholdsvis mindre og større omfang af de enkelte procesbeskrivelser. <systemproc> kan have værdierne 0 eller 1, svarende til om 'procfunc', 'driverproc' og ubenyttede procesbeskrivelser ikke skal eller skal udskrives. parameteren har kun betydning hvis 'navn' er udeladt. kaldte procedurer: closefp, findfpparam, openfp, skrivproces, ud. fejlreaktioner: dersom et angivet navn ikke findes og ikke er 'egen',sættes ok.no bitten og der skrives fejlmeddelelsen: *** proces: <procesnavn> findes ikke. *> \f message proces side 2 - 790716/hko; integer array ia,ib(1:20); integer intant,første_int,ant_udskrevet, linie,linie_ant,side; zone zu(128,1,stderror); system(5,78,ia); intant:=(ia(2)-ia(1))//2; første_int:=ia(1); begin integer array intprocref(1:intant); integer int_størrelse; system(5,første_int,intprocref); int_størrelse:=intprocref(2)-intprocref(1); begin integer array procparam(1:intant*4), wrkstore(1:10); integer adr,i,paramant,parnr,nr,måde,omfang; integer array field navn,n; real array field raf; long array field laf; boolean alle,parfundet; zone zp((int_størrelse+511)//512*128,1,stderror); openfp(zu,0); wrkstore(1):=28; wrkstore(2):=1; open(zp,4,<::>,0); i:=monitor(40)create entry:(zp,0,wrkstore); if i>0 then system(9,i+0*write(zu,nl,1, <:*** proces: create entry :>, case i of (<::>,<:catalog fejl:>,<::>, <:ingen bs-ressourcer:>,<::>,<::>, <:intet maincatalog:>)),<:monitor40:>); findfpparam(<:udvid:>,true,procparam); måde:=procparam(1); omfang:=procparam(2); raf:= 0; procparam.raf(1):=real<:egen:>; procparam.raf(2):=real<::>; paramant:=findfpparam(<:navn:>,false<* navne *>,procparam); if paramant<0 then paramant:=1; alle:= paramant=0; navn:=6; linie_ant:=200; linie:=side:=ant_udskrevet:=parnr:=0; for i:=1 step 1 until intant do begin outrec6(zp,int_størrelse); system(5,intprocref(1)-4+intstørrelse*(i-1),zp); end; \f message proces side 3 - 790620/hko; repeat <* until parnr>=paramant *> raf:=laf:=n:=parnr*8; if procparam.raf(1)=real <:egen:> then begin real array ra(1:2); system(6,0,ra); tofrom(procparam.raf,ra,8); end; parfundet:=false; parnr:=parnr+1; nr:=0; setposition(zp,0,0); repeat <* until nr=intant *> inrec6(zp,int_størrelse); nr:=nr+1; if alle and (omfang>0 or (nr<>1 and nr<>3 and zp.navn(1)<>0)) or (if nr=1 then <*...procfunc*> zp.navn(1)=0 and zp.navn(2)=procparam.n(1) and zp.navn(3)=procparam.n(2) and zp.navn(4)=procparam.n(3) and 0=procparam.n(4) else if zp.navn(1)<>0 then zp.navn(1)=procparam.n(1) and zp.navn(2)=procparam.n(2) and zp.navn(3)=procparam.n(3) and zp.navn(4)=procparam.n(4) else false ) then begin integer i,j; integer array term(1:8); long array field laf; \f message proces side 4 - 790723/hko; laf:=0; hnavn(15,i); term(1):=0; j:=system(5,zp.navn(11)+i,term); i:=system(5,term(1)+2,term.laf); if i<>1 or j<>1 or term(1) shift (-16)<32 or term(1) shift (-16)>126 or zp.navn(5) extract 12 = 0 or zp.navn(11)=0 then term.laf(1):=long <:***:>; parfundet:=true; ant_udskrevet:=antudskrevet+1; if linie+linieant>60 then begin real r,t; boolean min; min:=false add 45; side:=side+1; linie:=0; systime(1,0,t); write(zu,nl,0,min,if side>1 then 80 else 0, ff,1,min,80,nl,1, <<dd dd dd>,systime(4,t,r),sp,2, <<dd dd>,r/100.0,sp,24,<:proces:>, sp,28,<:side:>,<< dd>,side,nl,1); end; linie_ant:= skrivproces(zu,intprocref(nr),term,zp.navn,måde); linie:=linie+linieant; end; until nr=intant or (parfundet and -,alle); if -,parfundet then begin errorbits:=1; write(zu,nl,1,<:*** proces: :>,procparam.laf,<: findes ikke:>); end; until parnr>=paramant; monitor(48)remove entry:(zp,0,ia); end; end; if ant_udskrevet>0 then begin trapmode:=1 shift 10; write(zu,nl,0,false add 61,80,nl,1); end; closefp(zu,true); end ▶EOF◀