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

⟦d070beb60⟧ TextFile

    Length: 13824 (0x3600)
    Types: TextFile
    Names: »retactiv3tx «

Derivation

└─⟦01e83a425⟧ Bits:30008166 Bånd med SW8010 og SW8500 source code
    └─⟦75ff9bef3⟧ 
        └─⟦this⟧ »retactiv3tx « 

TextFile

mode list.yes
if 0.no
skip æ.1
activit4tx1=edit activity3tx
; activity : rettes til til at kunne kaldes fra fortran

l./page 1/, r/jz 1979.008.08/fgs 1987.12.10/
l./b. a18/, r/a18/a20/
l./b61:/, i/
b48: g0 + 48, 0     ; rs entry 48: take expression fortran
/, p-1
l./b91:/, l1, i/
b107:      0, 3     ; own core (saved formal (procedure))
/, p-1

l./page 2/, r/jz 1979.08.08 /fgs 1987.12.11/
l./wm. w1  b112./, d./rs  w0  x1+4-6/, i/
     wm. w1  b112.     ; reserve activity table:
     ac  w1  x1+6      ;   appetite := - no of activities * table size - 6;
     jl. w3 (b3.)      ;   reserve (appetite); last used := new stack top;
     ds. w3 (b30.)     ;   save sref, w3;
     rl  w3  x2        ;   block := call sref.block;
     rs. w3 (b80.)     ;   activity sref := block;
     zl  w0  x2+5      ;   move (app = 0, rel of return)
     rs  w0  x1+5      ;     from old stack top to new stack top;
     so  w0  1         ;   if rel of return uneven then
     jl.     a19.      ;   begin <*called from fortran*>
     rs  w1  x3-2      ;     block.last used := new stack top;
     wa  w1  x3-6      ;     w1 := start activity table :=
     al  w1  x1+2      ;       block.last used + block.length formals + 2;
     jl.     a20.      ;   end else <*algol*>
a19: al  w1  x1+6      ;     w1 := start activity table :=
     rs  w1  x3-2      ;       block.last used := new stack top + 6;
a20: al  w3  x1-f0     ;   w3 := activity table base :=
     rs. w3 (b79.)     ;     w1 - f0;
     rl. w0 (b78.)     ;   rts.azone address :=
     wm. w0  b112.     ;     no of activities * table size +
     wa  w1  0         ;     start activity table -
     al  w1  x1-h4     ;     h4;
     am.    (b80.)     ;   <*addr rts.aref - 2*>
     rs  w1 -2         ;
     rl. w1 (b13.)     ;   w1 := last used; <* = new stack top*>
     dl  w0  x2+2      ;   move (sref call, segtable addr call)
     ds  w0  x1+2      ;     from old stack top to new stack top;
/, p-21

l./page 3/, r/jz 1979.08.08 /fgs 1987.12.11/
l./al  w1  x1-f0/, d./ds  w1  x2+2;release activities);/, i/


     rl. w3 (b79.)     ; clear activity table:
     al  w3  x3+f0     ;   i := base activitable - f0;
     am.    (b80.)     ;
     rl  w2 -2         ;   top i := w2 := azone address;
     al  w0  0         ;
a0:  rs  w0  x3        ;   repeat
     al  w3  x3+2      ;     core (i) := 0;
     se  w3  x2+h4     ;     i := i + 2;
     jl.     a0.       ;   until i = top i + h4;

     rl. w1 (b23.)     ; init azone:
     rs  w1  x2+h4+4   ;   azone.chain := rts.youngest zone;
     rs. w2 (b23.)     ;   rts.youngest zone := azone address;
     al  w0 -6         ;   azone.block proc :=
     rl. w1  b110.     ;     (-6,
     rl. w3 (b13.)     ;       entry point segment3, release activities); 
     zl  w3  x3+5      ;
     sz  w3  1         ;   if called from fortran then
     al  w1  x1+1      ;     make rel entry release activities uneven;
     ds  w1  x2+h4+2   ;      
     rl. w1  b110.     ;   restore entry point release activities;
/, p-21

l./page 4/, r/82.09.15/87.12.22/
l./rl  w1  x2+14/, r/rl/dl/, r/+14/+16/
l1, r/w1/w0/
l./dl  w1  x2+8/, i/
     ds. w1 (b107.)    ;   save formal (procedure) in owns;
/, p1
l./rs  w1  x2+8/, r/;/;     value (expression);
/, p-1

l./page 5/, r/82.09.15/87.12.22/
l./rl w1  x1/, i/
     rl  w0  x2+8      ;   saved activity no :=
     rs. w0  b104.     ;     value activity no param;
/, p-2

l./page 7/, r/82.09.15 /87.12.30/
l./a5:/, l./w3 := top formals/, r/w3 :=/w3 := upper :=/
l./; reinitialize:/, d, i/

     zl  w0  x2+5      ; reinitialize:
     sz  w0  1         ;   if called from fortran then
     al  w3  x2        ;     upper := last used;
     rs. w3 (b76.)     ;
/, p-4

l./rl  w3  x1+2/, d3, i/
     rl  w3  x1+2      ;   w3 := current activity.old last used;
     es  w3  x2+4      ;     to___pointer := 
     al  w3  x3-6+5    ;       w3 - appetite call - 6 + 5; 
     zl  w0  x2+5      ;   if called from fortran then                       
     sz  w0  1         ;     from_pointer := last used + 17;<*move params of formal*>
     am        +12     ;   else
     al  w2  x2+5      ;     from_pointer := last used +  5;<*move all params*>
                       ;                                    <*to old stack*>
/, l1, p-12

l./page 8/, r/jz 1979.11.03 /fgs 1987.12.30/
l./a8:/, i/
     zl  w0  x2+5      ;   
     so  w0  1         ;   if called from fortran then
     jl.     a8.       ;   begin <*move params of formal call to stack top*>
     al  w3  x2+4      ;     to___pointer := last used +  4;
     al  w2  x3+12     ;     from_pointer := last used + 16;
     jl.     a6.       ;     goto next param;
                       ;   end;
/, p-7

l./rl  w0  x2+8/, r/rl /rl./, r/x2+8 /b104./
l./rl  w3  x1+2;w3 := curr/, d4, i/
     rl  w3  x1+2      ;   w3 := current activity.old last used -
     es  w3  x2+4      ;     appetite (call) -
     al  w3  x3-6      ;     6;
     zl  w0  x2+5      ;   
     so  w0  1         ;   if called from algol then
     al  w3  x3+18     ;     w3 := w3 + 18; <*word after formal procedure*>
     rs. w3 (b75.)     ;   limit last used :=
     rs. w3 (b13.)     ;         last used := w3;
/, p-11

l./page 8a/, r/jz 1979.11.03 /fgs 1987.12.16/
l./rl. w2 (b80.)/, d
l./dl  w1  x3-2/, d1, i/

     dl. w1 (b107.)    ;   (w0, w1) := saved formal (procedure);
     zl  w3  x2+5      ;   
     rl. w2 (b80.)     ;   w2 := aref;
     so  w3  1         ;   if called from fortran then
     jl.     a19.      ;   begin
     am.     a19.      ;
     al  w3      +2    ;     return := return after take expression;
     jl.    (b48.)     ;     take expression fortran;
                       ;   end else
a19: jl. w3 (b4.)      ;     take expression algol;
/, p-7

l./page 9/, r/82.09.22/87.12.22/
l./b105:/, i/
b104: 0                ; saved activity no;
/, p1

l./m. jz/, r/82.09.15/87.12.30/

l./page 11/, r/82.09.13/87.12.18/
l./rl  w2  0;saved cause:=w2:=cause/, l1, i/
     rs. w2 (b12.)     ;   uv := saved cause;
/, p-2
l./a19:/, l./rs. w1 (b76.)/, d

l./page 12/, r/82.09.15/87.12.18/
l2, d1, l./a6:/, i/

     dl. w3 (b80.)     ;   w3 := aref;
     zl  w0  x2+h4+3   ;   rel return :=azone.rel entry release activities;
     so  w0  1         ;   if called from fortran then
     jl.     a5.       ;   begin
     ac  w1 (x3-6)     ;     appetite :=
     al  w1  x1-2      ;       - block (aref).length param area - 2;
     jl. w3 (b3.)      ;     reserve (appetite);
     rs. w3 (b30.)     ;     saved w3 := w3;
     rl. w3 (b80.)     ;     block (aref).sref := aref;
     rs  w3  x1        ;   end;
a5:  rs  w1  x3-2      ;   block (aref).last used := last used;
     rs. w1 (b76.)     ;   rts.temp last used     := last used;

     rl. w3 (b77.)     ;   w3 := current activity;
     rl  w0  x3+4      ;   rts.limit last used :=
     rs. w0 (b75.)     ;     activity.last used; <*to be swopped into act.l.l.u.*>
/, p-13
l./a7:/, l./ds. w2 (b12.)/, i/
     rl. w2 (b12.)     ;   w2 := saved cause;
/, p-1

l./page 14/, r/81.05.25/87.12.28/
l./al  w3  x2+6;unstack call:/, d4, i/

     zl  w0  x2+5      ;   
     sz  w0  1         ;   if called from algol then
     jl.     a3.       ;   begin <*unstack call*>
     al  w3  x2+6      ;     temp last used :=
     ea  w3  x2+4      ;       last used + 6 +
     rs. w3 (b76.)     ;       appetite (call);
     rl. w0  b76.      ;     top of program :=
     rs. w0 (b81.)     ;       addr (temp last used);
a3:                    ;   end;
/, p-9

l./page 15/, r/82.09.13/87.12.28/
l./b111=/, l./al  w2  x2+6;/, d2, i/
     zl  w0  x2+5      ;
     sz  w0  1         ;   if called from algol then
     jl.     a4.       ;   begin <*unstack call*>
     al  w2  x2+6      ;     last used :=
     ea  w2  x2-2      ;       last used + 6 +
     rs. w2 (b13.)     ;       appetite (call);
a4:                    ;   end;
/, p-7

l./page 29/, l./m. jz/, r/79.11.05/87.12.30/

f

skip 1
æ
if 1.no
skip æ.1
if ok.yes
activit4tx2=edit activit4tx1
l./page 1/, r#declare/new_activity#declare activities #
l./b2:/, r/o. 1/o. 2/, r/segment 1/segment 2/
l./b61:/, d./b77:/
l./b81:/, d./b83:/
l./b85:/, d./b86:/
l./b91:/, d1
l./b1:/, r/o. 1/o. 2/, r/segment 1/segment 2/, r/at segment/segment/
l1,      r/o. 2/o. 3/, r/segment 2/segment 3/

l./page 4/, d./page 8a/, d./a17:/, d./jl.    (b6.)/,
w
r/87.12.22/87.12.22 /, r/new activity (6)/declare activity (3)/, r/page 9/page 4/
l1, r/9/4/
l./b102/, d4

l./m.jz/, r/87.12.30/87.12.30/, r#/new##, r/ seg/ seg/
l./page 10/

s 1,
d./f0=20/, r/87.12.10/87.12.16/, r#declare/#        #, r/page 1/page 5/
l1, r/0 (1)/1 (1)/
l./e11:/, r/e11:/    /
l./b2:/, r/segment 1/segment 2/
l./b3:/, d
l./b84:/, d
l./b90:/, d
l./b1:/, d1
l./e0:/, d./b100:/,

r/87.12.22/87.12.22/, r/page 4/page 6/
l1, r/0/1/, r/4/1/

l./page 5/, r/page 5/page 7/
l1, r/0/1/, r/5/2/

l./page 6/, r/page 6/page 8/
l1, r/0/1/, r/6/3/

l./page 7/, r/page 7/page 9/
l1, r/0/1/, r/7/4/

l./page 8/, r/page 8/page 10/
l1, r/0/1/, r/8/5/

l./page 8a/, r/page 8a/page 11/, r/5a/6/
l1, i/

; segment 1 (6)
/

l./page 9/, r/page 9/page 12/, r/new/ new/, r/(6)/(7)/
l1, r/0/1/, r/9/7/

l./b112/, r/;/  ;/
l./b102/, d1, i/

b102: 0                ; top literals
b103: 0                ; top formals
/, p1

l./g3:/, l1, g 6/ent 0/ent 1/, r#declare/##, r/ segm/ segm/


l./page 10/, r/10/13/
l1, r/1/2/

l./page 11/, r/11/14/
l1, r/1/2/

l./page 12/, r/12/15/
l1, r/1/2/

l./page 13/, r/13/16/
l1, r/1/2/

l./page 13a/, r/13a/17/
l1, i/

;segment 2 (5)
/

l./page 14/, r/14/18/
l1, r/1/2/

l./page 15/, r/15/19/
l1, r/1/2/

l./page 16/, r/16/20/
l1, r/1/2/

l./page 17/, r/17/21/
l1, r/1/2/

l./segment 1/, g6/segment 1/segment 2/, r/82.09.15/87.12.16/
l./m. jz/, r/ seg/, seg/

l./page 18/, r/18/22/
l1, r/2/3/

l./page 19/, r/19/23/
l1, r/2/3/

l./page 20/, r/20/24/
l1, r/2/3/

l./page 21/, r/21/25/
l1, r/2/3/

l./page 22/, r/22/26/
l1, r/2/3/

l./page 23/, r/23/27/
l1, r/2/3/

l./page 24/, r/24/28/
l1, r/2/3/

l./page 25/, r/25/29/
l1, r/2/3/


l./page 26/, r/26/30/
l1, r/2/3/

l./page 27/, r/27/31/
l1, r/2/3/

l./page 28/, r/28/32/
l1, r/2/3/

l./g3:/, l1, g7/segment 2/segment 3/, r/79.09.26/87.12.16/
l./m.jz/, r/ activities / /


l./page 29/, r/29/33/
l./m.jz/, r/87.12.30/87.12.30/


f

skip 1
æ
if 2.no
skip æ.1
if ok.yes
activit4tx3=edit activit4tx2
l./b2:/, d, 
l./b23:/, i/
b21: g0 + 21, 0     ; rs entry 21: general alarm
/, p1
l./page 4/, r/12.22/12.22/
l./a10:/, r/a10:/    /
l./a11:/, r/a11:/    /
l./b2./, r/(b2.)/(b0.)/
l1, r/next/this/
l1, d./page 21/, d./b104:/,
l./b2:/, s 1
d./a18:/, d

l./page 5/, r/12.16/12.18/
l./b2:/, i/
b1:  1<11o.(:-1:), 0; ref to segment 0
/, p1
l./page 12/, r/87.12.22/87.12.22/
l./a18:/, r/b2./b1./
l1, r/next//, r/segment/segment 0/

l./page 13/, l./b. a19,/, r/g2/g3/

l./page 21/, r/82.09.15/87.12.18/
l./b107:/, s 1
d./page 4/, d./b112:/, 
l./a9:/, r/a9: /;a9:/
l1, r/a2: /;a2:/
l./a16:/, r/a16:/    /
l1, r/a13:/    /
l1, r/a1:/   /
l./a14:/, r/a14:/    /
l./a18:/, l1, r/next segment/segment 0/
l./g3:/, d./page 21/, d./c7=/

r/b2:/g3:/, g/b2/g3/
l./b2/, g/b2/g3/

l./page 22/, r/jz 1979.08.08 /fgs 1987.12.18/
l./b107:/, i/
b2:  1<11 o.(:-3:),0; segment 0 reference
/, p1
l./b108:/, d
l./b108./, r/b108.)/b2.)  /

f

skip 1
æ
if 3.no
skip æ.1
if ok.yes
activit4tx4=edit activit4tx3
l./page 1/, l./b1:/, r/o. 2/o. 3/, r/segment 2/segment 3/
l1, r/o. 3/o. 4/, r/segment 3/segment 4/

l./page 5/, l./b2:/, r/o. 1/o. 2/, r/segment 2/segment 3/

l./page 13/, r/82.09.15/87.12.28/, r/,passivate,resume/           /
l./b3:/, i/
b1:  1<11 o. (:-2:),0; segment 0 reference
/, p1

l./page 14/, d./b100=/, d

l./page 16/, r/16/14/, r/81.05.25/87.12.28/
l1, r/4/2/

l./page 17/, r/17/15/, r/81.05.25/87.12.28/, r/(1a/ (2/
l1, r/5/3/

l./page 18/, r/18/16/, r/87.12.28/87.12.28/, r/(2)/(3)/
l1, r/5/4/

l./page 19/, r/page 19/page 17/, r/87.12.28/87.12.28/, r/(3)/ (4)/
l1, r/6/5/

l./page 20/, r/20/18/, r/81.05.25/87.12.28/, r/(4)/ (5)/
l1, r/7/6/
l./a15:/, i/

/

l./page 21/, r/21/19/, r/12.18/12.28/
l1, r/8/7/
l./rl. w3 (b2.)/, r/b2./b1./
l./m.jz/, r/12.16/12.28/, r/passivate, //

l1, s 1
d./page 12/, d./m.jz/

l./page 13/, r/13/20/, r/82.09.15/87.12.28/, r/activate,//, r/,resume/       /
l1, r/2 (1)/3 (1)/
l./b3:/, i/
b1:  1<11 o. (:-3:),0; segment 0 reference
/, p1
l./b110:/, d

l./page 14/, r/14/21/, r/12.18/12.28/
l1, r/2/3/

l./page 12/, r/12/22/, r/15.18/12.28/
l1, r/2/3/

l./page 16/, d./page 19/, d./b111=/, d./jl.    (b21.)/

l./page 20/, r/20/23/, r/81.05.25/87.12.28/, r/activity(4)/passivate (3)/
l1, r/2 (7)/3 (4)/
l./a9:/, d./a14:/, d./jl.    (b6.)/, i/



/

l./page 21/, r/21/24/, r/12.18/12.28/
l1, r/2 (8)/3 (5)/
l./rl. w3 (b2.)/, r/b2./b1./
l./segment 2/, g 6/segment 2/segment 3/, r/, activate//

l./page 22/, r/22/25/
l1, r/3/4/
l./b2:/, r/:-3:/:-4:/

l./page 19/, r/19/26/
l1, r/3/4/

l./page 24/, r/24/27/
l1, r/3/4/

l./page 25/, r/25/28/
l1, r/3/4/

l./page 26/, r/26/29/
l1, r/3/4/

l./page 27/, r/27/30/
l1, r/3/4/

l./page 28/, r/28/31/
l1, r/3/4/

l./page 29/, r/29/32/
l1, r/3/4/

l./page 30/, r/30/33/
l1, r/3/4/

l./page 31/, r/31/34/
l1, r/3/4/

l./page 32/, r/32/35/
l1, r/3/4/
l2, g 8/segment 3/segment 4/

l./page 33/, r/33/36/

f

skip 1
æ
end
▶EOF◀