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