|
|
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◀