DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦98645a65c⟧ TextFile

    Length: 17664 (0x4500)
    Types: TextFile
    Names: »kkmonret1«

Derivation

└─⟦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« 

TextFile

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