|
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: 17664 (0x4500) Types: TextFile Names: »kkmonret1«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt. └─⟦0364f57e3⟧ └─⟦this⟧ »kkmonret1« └─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ. └─⟦4334b4c0b⟧ └─⟦this⟧ »kkmonret1«
( message monchange release 5.3 to 5.7 clear temp mondef moncentral monprocs mondisc, monfpaline monhost monfpasub, montabinit monprocfnc1 monprocfnc2 mons1 mons2 moncatinit contract entry.kkmon1filer mondef moncentral monprocs mondisc, monfpaline monhost monfpasub, montabinit monprocfnc1 monprocfnc2 mons1 mons2 moncatinit skip 36.1 c=copy mess.no 1 mdef=edit mondef skip 36.1 c=copy mess.no 1 mcentral=edit moncentral skip 36.1 c=copy mess.no 1 mprocs=assign monprocs skip 36.1 c=copy mess.no 1 mdisc=assign mondisc skip 36.1 c=copy mess.no 1 mfpaline=assign monfpaline skip 36.1 c=copy mess.no 1 mhost=assign monhost skip 36.1 c=copy mess.no 1 mfpasub=assign monfpasub skip 36.1 c=copy mess.no 1 mtabinit=assign montabinit skip 36.1 c=copy mess.no 1 mprocfnc1=edit monprocfnc1 skip 36.1 c=copy mess.no 1 mprocfnc2=edit monprocfnc2 skip 36.1 c=copy mess.no 1 ms1=assign mons1 skip 36.1 c=copy mess.no 1 ms2=assign mons2 skip 36.1 c=copy mess.no 1 mcatinit=edit moncatinit head cpu scope day mdef mcentral mprocs mdisc mfpaline mhost mfpasub mtabinit, mprocfnc1 mprocfnc2 ms1 ms2 mcatinit end) $def ;******************** l./formatofpseudoprocess/,l./a50=/,l1,i/ ; ; kk 6.2.81 ; the structer of the catalogs is changed: ; the name-key is made relative to the home-segment ; it will then be possible to have larger catalogs than 512 segments. ; Entry count is counted by two and if entry count is odd on a ; catalog segment there is at least one entry with this segment as home ; segment where max relative name key is exceeded. /,f $central ;******************** l./d74:/,l./baw2/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention wa w2 x2 ;kk z. c.-(:a400>3a.1:) ;kk - slice table extension /,l2,i/ z. /,f $procs ;******************** $disc ;******************** $fpaline ;******************** $host ;******************** $fpasub ;******************** $tabinit ;******************** $procfnc1 ;******************** l./f70=f5/,l./;rec/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention c1= -8388607 ;kk free slice z. /, l./e2:/,l./bz/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention rl w1 x3+f66 ;kk w1:=last slice; z. c.-(:a400>3a.1:) ;kk - slice table extension /,l2,i/ z. /,l./f67/,i/ c.-(:a400>3a.1:) ;kk - slice table extension /,l4,i/ z. /,l./e3:/,l./lsw13/,i/ c.-(:a400>2a.1:) ;kk - extension of catalogs /,l6,i/ z. c. (:a400>2a.1:)-1 ;kk extention of catalogs al w2 -1-a406+7;kk mask for first slice and perm key la. w2 v4. ;kk set initiality rs. w2 v4. ;kk rel name key to zero rs. w1 v3. ;kk v3:=namekey al w2 x1 ;kk w2:=namekey z. /,l./e4:/,l1,i/ c. (:a400>2a.1:)-1 ;kk extention of catalogs rl. w2 v3. ;kk w2:=namekey z. c.-(:a400>2a.1:) ;kk - extension of catalogs /,l3,i/ z. /,l./e8:/,l2,i/ c. (:a400>2a.1:)-1 ;kk extension of catalogs sn w0 1 ;kk if only bit for max rel segment exceeded is on then al w0 0 ;kk clear entry counter for this segment z. /,l./e10:/,l./alw01/,i/ c. (:a400>2a.1:)-1 ;kk extention of catalogs al w0 2 ;kk z. c.-(:a400>2a.1:) ;kk - extension of catalogs /,l2,i/ z. /,l./e12:/,l./rl.w1d3./,i/ c. (:a400>2a.1:)-1 ;kk extention of catalogs rl. w1 d29. ;kk w1:=segm; sl. w1 (v3.) ;kk if catsegm 0 is not passed then jl. g6. ;kk goto g6 else wa. w1 c0. ;kk w1:=w1+catsize; g6: ws. w1 v3. ;kk w1:=w1-key.entry; ls w1 3 ;kk sl w1 a406-7 ;kk if w1>maxrelkey then al w1 a406-7 ;kk w1:=maxrelkey; ac w2 a406-6 ;kk la. w2 v4. ;kk w2:=first slice,permkey; wa w2 2 ;kk w2:=first slice,key.entry,permkey; rs. w2 v4. ;kk := - - - ; rs. w1 h4. ;kk save relative segment z. /,l./jl.(h1.)/,i/ c. (:a400>2a.1:)-1 ;kk extension of catalogs rl. w1 h4. ;kk w1:=relative segment so w1 a406-7 ;kk if max rel segment is not exceeded then jl. (h1.) ;kk return jl. w3 e4. ;kk else input home segment for curr entry al w1 1 ;kk and set bit for lo w1 x2+f9 ;kk max rel segment rs w1 x2+f9 ;kk exceeded jl. w3 e9. ;kk prepare update z. /,l./e13:/,l./g10:/,l1,i/ c. (:a400>2a.1:)-1 ;kk extention of catalogs al w0 -2 ;kk z. c.-(:a400>2a.1:) ;kk - extension of catalogs /,l2,i/ z. /,l./e14:/,l./g21:/,i/ c. (:a400>2a.1:)-1 ;kk extention of catalogs al w0 -1 ;kk rs. w0 h4. ;kk clear h4; z. /,l./g23:/,l2,i/ c.-(:a400>2a.1:) ;kk - extension of catalogs /,l6,i/ z. c. (:a400>2a.1:)-1 ;kk extention of catalogs sn w3 -1 ;kk if entry do not exist then jl. g22. ;kk goto next entry else al w3 a406-7 ;kk la w3 x2+f4 ;kk key:=relative key.entry se w3 a406-7 ;kk if key.entry <= max relative key then jl. g25. ;kk goto g25 else dl w0 x2+f5+2 ;kk compute namekey (see e3:) aa w0 x2+f5+6 ;kk wa w0 6 ;kk ba w0 0 ;kk al w3 0 ;kk wd. w0 c0. ;kk se. w3 (h0.) ;kk if key <> saved key then jl. g22. ;kk goto next entry al w0 -2 ;kk set mask for at least one entry rs. w0 h4. ;kk with max name key exceeded jl. g26. ;kk g25: ls w3 -3 ;kk rl. w1 d8.+f36;kk w1:=curr segment ws. w1 h0. ;kk w1:=currsegment - saved key sh w1 -1 ;kk if segment 0 is past then wa. w1 c0. ;kk w1:=w1 + catalog length se w1 x3 ;kk if key.entry <>saved key then jl. g22. ;kk goto next entry; g26: z. /,l./alw3x3-1/,i/ c. (:a400>2a.1:)-1 ;kk extention of catalogs al w3 x3-2 ;kk z. c.-(:a400>2a.1:) ;kk - extension of catalogs /,l2,i/ z. /,l./h0:/,l-1,i/ c. (:a400>2a.1:)-1 ;kk extention of catalogs la. w0 h4. ;kk clear or set bit max key exceeded z. /,l./h3:/,l1,i/ c. (:a400>2a.1:)-1 ;kk extention of catalogs h4: 0 ;kk =1 if still entries with max namekey exceeed else 0; z. /,l./e42:/,l./lsw2/,i/ c.-(:a400>2a.1:) ;kk - extension of catalogs /,l2,i/ z. /,f $procfnc2 ;******************** l./m3:/,l./bl.w0v4/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention rl. w0 v4. ;kk if first slice.work <> ws w0 x2+f54 ;kk first slice.pseudochain then z. c.-(:a400>3a.1:) ;kk - slice table extension /,l3,i/ z. /,l./m20:/,l./bz./,i/ c. (:a400>3a.1:)-1 ;kk slice table extention rl. w1 v26. ;kk w1:=last slice number z. c.-(:a400>3a.1:) ;kk - slice table extension /,l2,i/ z. /,l./al.w3v27./,i/ c. (:a400>3a.1:)-1 ;kk slice table extention al. w3 v0. ;kk w3:= addr of first slice information; ;kk (allways zero), z. c.-(:a400>3a.1:) ;kk - slice table extension /,l2,i/ z. /,l./g10:/,l./alw20/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention al w2 a406 ;kk comment la w2 x3 ;kk the bits for first slice is zero in a406; rs w2 x3 ;kk first slice:=0; z. c.-(:a400>3a.1:) ;kk - slice table extension /,l3,i/ z. /,l./bzw2x2+f66/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention rl w2 x2+f66 ;kk w2:= last slice number of chaintable; rl w3 x3 ;kk ls w3 -a405 ;kk w3:= first slice number; z. c.-(:a400>3a.1:) ;kk - slice table extension /,l3,i/ z. /,l./blw0x3/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention rl w0 x3 ;kk is not free then sn. w0 (c1.) ;kk z. c.-(:a400>3a.1:) ;kk - slice table extension /,l3,i/ z. /,l./blw0x3+/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention rl w0 x3+f0 ;kk z. c.-(:a400>3a.1:) ;kk - slice table extension /,l2,i/ z. /,l./blw0x3+/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention rl w0 x3+f0 ;kk move chain element from user am. (d4.) ;kk to curduc chain; rs w0 x3 ;kk z. c.-(:a400>3a.1:) ;kk - slice table extension /,l4,i/ z. /,l./g17:/,l./hsw1x3/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention rs w1 x3 ;kk slicelink(last slicenumber).curdoc:=end of chain; z. c.-(:a400>3a.1:) ;kk - slice table extension /,l2,i/ z. /,l./m22:/,l./bz.w1v4/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention rl. w1 v4. ;kk w1:= first slice.work; ls w1 -a405 ;kk z. c.-(:a400>3a.1:) ;kk - slice table extension /,l2,i/ z. /,l./baw1x1/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention wa w1 x1 ;kk next slice:=next(next slice); z. c.-(:a400>3a.1:) ;kk - slice table extension /,l2,i/ z. /,l./d1:/,i/ 0,0 ;kk v1 and v3 /,l./v1=/,i/ c. (:a400>2a.1:)-1 ;kk extension of catalogs v0 = d1-2 ;kk v3 = d1-4 ;kk z. /,l./v3=/,i/ c.-(:a400>2a.1:) ;kk - extension of catalogs /,l2,i/ z. /,l./m23:/,l./bz/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention rl w0 x3+f66 ;kk last slice:= last slice number.curdoc; z. c.-(:a400>3a.1:) ;kk - slice table extension /,l2,i/ z. /,l./alw0-2048/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention al. w0 c1. ;kk w0:=0 free element; g6: al w3 x1 ;kk wa w1 x1 ;kk release rest of chains; rs w0 x3 ;kk z. c.-(:a400>3a.1:) ;kk - slice table extension /,l5,i/ z. /,l./g7:/,l1,i/ c. (:a400>3a.1:)-1 ;kk slice table extention al w0 a406 ;kk la. w0 (h0.) ;kk rs. w0 (h0.) ;kk last link:=end of chain; z. c.-(:a400>3a.1:) ;kk - slice table extension /,l3,i/ z. /,l./blw0x1+1/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention rl w0 x1+2 ;kk se. w0 (c1.) ;kk if adjacent slice is occupied then jl. g15. ;kk goto get a slice; ; the slice was free and may therefor be used to extend the area al w0 1 ;kk slice link(last used slice):= 1; rs w0 x1 ;kk al w1 x1+2 ;kk increase(addr of last used slice); z. c.-(:a400>3a.1:) ;kk - slice table extension /,l8,i/ z. /,l./hsw0x1/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention rs w0 x1 ;kk slicechain(new slice):= 0; i. e. end of chain z. c.-(:a400>3a.1:) ;kk - slice table extension /,l2,i/ z. /,l./g11:/,l./alw1x1+1/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention al w1 x1+2 ;kk increase(slice); rl w0 x1 ;kk se. w0 (c1.) ;kk if slice<>free then z. c.-(:a400>3a.1:) ;kk - slice table extension /,l4,i/ z. /,l./g12:/,l./hs.w2/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention al w0 a406 ;kk la. w0 (h0.) ;kk w0:=last slice; ls w2 a405 ;kk wa w2 0 ;kk w2:= last slice< a406+rel. name key< 3 +perm key rs. w2 (h0.) ;kk link(last slice):=slicelink; z. c.-(:a400>3a.1:) ;kk - slice table extension /,l2,i/ z. /,l./g14:/,l./alw2x2+1/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention al w2 x2+2 ;kk increase free; rl w0 x2 ;kk se. w0 (c1.) ;kk if slice(free) is not free then z. c.-(:a400>3a.1:) ;kk - slice table extension /,l4,i/ z. /,l./m38:/,l./lsw2/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention ls w2 a406-7 ;kk ??????????????????????????????? z. /,l./bz.w0/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention rl. w0 d1.+f66+f0;kk if last slice.chainhad z. c.-(:a400>3a.1:) ;kk - slice table extension /,l2,i/ z. /,l./bz.w2/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention rl. w2 d1.+f66+f0;kk wa w2 2 ;kk w2:= abs addr of last of curdoc chain rl. w0 c1. ;kk w0:=0 free slice; g2: rs w0 x2 ;kk al w2 x2-2 ;kk clear all slice in chaintable; z. c.-(:a400>3a.1:) ;kk - slice table extension /,l7,i/ z. /,l./m39:/,l./bzw3x1+f66/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention rl w3 x1+f66 ;kk slice:= last slice number+1; z. c.-(:a400>3a.1:) ;kk - slice table extension /,l2,i/ z. /,l./m46:/,l./g10:/,l./f4/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention rl w0 x2+f4 ;kk ls w0 -a405 ;kk z. c.-(:a400>3a.1:) ;kk - slice table extension /,l2,i/ z. /,l./m90:/,l1,i/ c. (:a400>3a.1:)-1 ;kk slice table extention al w0 a406 ;kk la. w0 d1.+f4 ;kk first slice.work:=0; rs. w0 d1.+f4 ;kk z. c.-(:a400>3a.1:) ;kk - slice table extension /,l3,i/ z. /,l./m120:/,l./wa.w0h0./,i/ c. (:a400>2a.1:)-1 ;kk extention of catalogs al w0 -2 ;kk first word.entry:=-2; z. /,f $s1 ;******************** $s2 ;******************** $catinit ;******************** l./f13:/,l./rlw2x3/,i/ c. (:a400>2a.1:)-1 ;kk extention of catalogs rl w2 x3+6 ;kk rs. w2 d41. ;kk first segment:=current segment; z. /,l./alw2x2+a88+1-1;+s/,i/ z. /,l-1,i/ c. (:a400>3a.1:)-1 ;kk slice table extention rl w2 x1+d66 ;kk w2:= last slicenumber.chainhead z. c.-(:a400>3a.1:) ;kk - slice table extension /,l2,i/ z. /,l./f23:/,i/ c. (:a400>2a.1:)-1 ;kk extention of catalogs j13: 0 ;kk segment j14: 1 ;kk max rel segment z. /,l./i8:/,l./lsw33/,i/ c. (:a400>2a.1:)-1 ;kk extension of catalogs rs. w3 j13. ;kk am. (d42.) ;kk (d42)=table addr for last used catalog segment ws w3 +6 ;kk w3:=name key-segment number ac w3 x3 ;kk w3:=segment number-name key (=relative segment) sl w3 2<(:a405-4:)-1;kk if max rel segment exceeded then al w3 2<(:a405-4:)-1;kk set max rel segment exceeded; ls w3 3 ;kk w3:= namekey *8; al w0 -1-a406+7;kk w0:=mask for first slice and perm key la w0 x1+d54 ;kk w0:=permkey.entry; wa w0 6 ;KK w0:=namekey*8 + permkey; al w3 a406-7 ;kk la w3 x1+d54 ;kk rs w0 x1+d54 ;kk se w0 x3 ;kk if new namekey <> old namekey then rs. w1 j1. ;kk writeback:=true; rl. w0 j13. ;kk w0:=segment; ls w0 1 ;kk wa. w0 j4. ;kk addr in entry count table:= ;kk namekey>2 + start of entry count table; rs. w0 j5. ;kk al w3 -2 ;kk wa. w3 (j5.) ;kk decrease(entry count table(namekey)) al w0 a406-7 ;kk mask for rel segm; la w0 x1+d54 ;kk sn w0 a406-7 ;kk lo. w3 j14. ;kk rs. w3 (j5.) ;kk z. c.-(:a400>2a.1:) ;kk - extension of catalogs /,l15,i/ z. /,l./rxw0x3/,l1,r/=0/= 0 or old contents = 1/,i/ c. (:a400>2a.1:)-1 ;kk extention of catalogs se w0 1 ;kk z. /,l./lsw3-1/,l1,i/ c. (:a400>2a.1:)-1 ;kk extention of catalogs ls w0 -1 ;kk clear bit for max namekey exceeded ; ls w0 1 ;kk z. /,l./i25:/,l./alw01/,i/ c. (:a400>2a.1:)-1 ;kk extention of catalogs al w0 2 ;kk z. c.-(:a400>2a.1:) ;kk - extension of catalogs /,l2,i/ z. /,l./f39:/,l./lsw13/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention sh w1 -1 ;kk if bskind not defined then jl x3 ;kk return else ls w1 3 ;kk al w1 x1+a110 ;kk w1:=bskind<3 + max perm key; rl w0 x2+h54 ;kk ls w0 a405 ;kk w0:=first slice; la w0 x2+h54 ;kk w0:= first slice<a405; wa w1 0 ;kk chainhead(first slice,kind,permkey) rs w1 x2+h54 ;kk :=first slice<a405+bskind<3+max cat key; z. c.-(:a400>3a.1:) ;kk - slice table extension /,l5,i/ z. /,l./f40:/,l./alw00/,i/ c. -(:a400>2a.1:) ;kk -extension of catalogs /,l3,i/ z. c. (:a400>2a.1:)-1 ;kk extension of catalogs rl. w0 d44. ;kk z. /,l./rl.w3j0.;w3:=startofchainheadbuffer;/,l./alw1x1-1/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention ls w1 1 ;kk al w1 x1-2 ;kk (=number of slices-1); rs w1 x3+d66 ;kk z. c.-(:a400>3a.1:) ;kk - slice table extension /,l3,i/ z. /,l./hsw1x3+d54/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention al w0 a406 ;kk la w0 x3+d54 ;kk w0:= bskind<3+permkey; ls w1 a405 ;kk wa w1 0 ;kk rs w1 x3+d54 ;kk z. c.-(:a400>3a.1:) ;kk - slice table extension /,l4,i/ z. /,l./bzw1/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention rl w1 x3+d66 ;kk w1:= last slice number; z. c.-(:a400>3a.1:) ;kk - slice table extension /,l2,i/ z. /,l./hsw0/,i/ c. (:a400>3a.1:)-1 ;kk slice table extention rs w0 x1 ;kk slice(w1):= 1; al w1 x1-2 ;kk decrease(w1); z. c.-(:a400>3a.1:) ;kk - slice table extension /,l3,i/ z. /,l./g54:/,l1,r/f17.;/f17.+2000;/,i/ am -2000 ;kk /,l./;actiontable:/,l./h13=/,i/ c. (:a400>2a.1:)-1 ;kk extention of catalogs h13=h12 + 2 * 2048 ; top of entry count table (prepared for 2048 segments); z. c.-(:a400>2a.1:) ;kk - extension of catalogs /,l2,i/ z. /,f ▶EOF◀