|
|
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: 13824 (0x3600)
Types: TextFile
Names: »retactiv3tx «
└─⟦01e83a425⟧ Bits:30008166 Bånd med SW8010 og SW8500 source code
└─⟦75ff9bef3⟧
└─⟦this⟧ »retactiv3tx «
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◀