|
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: 7680 (0x1e00) Types: TextFile Names: »retfppr3tx «
└─⟦01e83a425⟧ Bits:30008166 Bånd med SW8010 og SW8500 source code └─⟦75ff9bef3⟧ └─⟦this⟧ »retfppr3tx «
mode list.yes fpproc4tx=edit fpproc3tx ; entry 95 : close up text output ; rettelse til call blockproc l./page 1/, r/84.03.29/88.06.02/ l./; action /, i/ \f ; rc 1988.06.03 fpproc page 2 / l./; 79/, l1, i/ ; 95 (cl.up txt output)*) irr zone irr / l1, l./page 2/, r/page 2/page 3/ l./; Implementa/, i/ \f ; rc 1988.06.03 fpproc page 4 / l1, l./page 3/, r/page 3/page 5/ l1,l./page 4/, r/page 4/page 6/, r/84.03.29/88.06.02/ l./s. a10/, r/b5, c9, d4, g3, j97/b10, c20, d10, g10, j197/ l./g2=/, i/ j1: 1<11 o. 1,0 ; own segment, next one /, p-1 l./e1:/, i/ \f ; rc 1988.06.03 fpproc page 7 / l./a10:/, d, i/ a10: sn w1 95, al w1 19 ; 95 => 19 sn w1 79, al w1 20 ; 79 => 20 /, p-2 l./sl w1 20/, g/20/19/ l./page 5/, r/page 5/page 8/, r/84.03.29/88.06.03/ l./a1:/, l./sn w0 18/, d./hs. w0 d3./, i/ rl w1 x1 ; so w1 1 ; if base address even then jl. c10. ; goto oddfield alarm; rl w1 0 ; typeshift := zl. w1 x1+b7. ; case kind of (0, 1, 2, 2, 3, 3, 2); hs. w1 d3. ; / l./d4 =/, i/ \f ; rc 1988.06.03 fpproc page 9 / l./page 6/, r/31.01.73/88.06.02/, r/page 6/page 10/ l./c1:/, l-2, d./jl. c4./, i# bl. w1 x1+d2. ; hs. w1 d5. ; save rel entry; rx w3 0 ; swop (w0, w3); rl. w3 (j1.) ; d5 = k + 1 ; rel entry: jl x3+0 ; goto special action on next segment; c1: rl. w3 (j1.) ; call acts with giveup: se w1 27 ; if action = connect out sn w1 28 ; or action = connect in jl x3+c14 ; then goto connect on next segment; # l./c2:/, i/ \f ; rc 1988.06.03 fpproc page 11 / l./c2:/, l5, i/ al w0 x2-16 ; addr of saved reg := rs w0 x2-18 ; sref - 16; /, p-3 l./al w3 26 ; s/, r/; s/;/ l./page 7/, r/rc 31.01.73/ rc 1988.06.02/, r/page 7/page 12/ l./c4:/, d./jl. (j8.)/ l./page 8/, r/rc 31.01.73/ rc 1988.06.05/, r/page 8/page 13/ l./; special actions:/, d./c9:/, d2, i# c10: al. w0 b6. ; oddfield alarm: rl w1 x2+6 ; param := al w1 x1-8 ; (entry - 8) / ls w1 -2 ; 4 + al w1 x1+1 ; 1 ; jl. w3 (j21.) ; general alarm (<:oddfield:>, param); # l./d0=k-20/, l-1, d./h35-h20/, i# \f ; rc 1988.06.02 fpproc page 14 ; each parameter is described by the pattern: ; zone<3 + array<2 + integer<1 + irr ; ; for each action the parameters are packed: ; w0<8 + w1<4 + w2 d0=k-19 ; parameter table : h. 2.0001<8 + 2.1000<4 + 2.0001 ; h95=19 2.0001<8 + 2.1000<4 + 2.0001 ; h79=20 2.0001<8 + 2.1000<4 + 2.0010 ; h48=21 2.0001<8 + 2.1000<4 + 2.0001 ; h22 2.0001<8 + 2.1000<4 + 2.0001 ; h23 2.0001<8 + 2.1000<4 + 2.0010 ; h24 2.0001<8 + 2.1000<4 + 2.0010 ; h25 2.0001<8 + 2.1000<4 + 2.0010 ; h26 2.0010<8 + 2.1010<4 + 2.0100 ; h27 2.0010<8 + 2.1010<4 + 2.0100 ; h28 2.0001<8 + 2.1000<4 + 2.0110 ; h29 2.0001<8 + 2.1000<4 + 2.0110 ; h30 2.0100<8 + 2.1000<4 + 2.0001 ; h31 2.0010<8 + 2.1000<4 + 2.0010 ; h32 2.0001<8 + 2.1000<4 + 2.0010 ; h33 2.0001<8 + 2.1000<4 + 2.0010 ; h34 ;functions not calling a give_up action 2.0001<8 + 2.0100<4 + 2.1000 ; h35 0 ; not allowed ; h36 2.0001<8 + 2.1001<4 + 2.0010 ; h7=37 2.0001<8 + 2.0001<4 + 2.0001 ; h14=38 2.0001<8 + 2.0001<4 + 2.0001 ; h67=39 d1=k-19 ; entry points in fp relative ; to descriptor of in h95-h20 ; 19 h79-h20, h48-h20, h22-h20, h23-h20, h24-h20 ; 20-24 h25-h20, h26-h20, h27-h20, h28-h20, h29-h20 ; 25-29 h30-h20, h31-h20, h32-h20, h33-h20, h34-h20 ; 30-34 h35-h20, h36-h20, h7 -h20, h14-h20, h67-h20 ; 35-39 #, p1 l./d2=/, l1, r/c6-e5 /c16 /, r/c9-e5 /c19 /, r/c7-e5 /c17 /, r/c8-e5/c18 / l./page 9/, i/ w. / l./page 9/, r/page 9/page 15/, r/rc 1984.03.29/ rc 1988.06.05/ l./; constants and variables/, r/w./ / l./b5:/, l1, i/ b6: <:<10>oddfield :> ; - - h. b7=k-17 ; table typeshift (kind): 0, 1, 2, 2, 3, 3, 2 ; bool, int, long, real, doubl., compl, zone w. / l./e4:/, i/ \f ; rc 1988.06.02 fpproc page 16 e4: c. e4-e5-506 m. code on segment 0 too long z. c. 502-e4+e5, ks-1, r. 252-(:e4-e5:)>1 z. <:fp proc:>, 0 ; alarm text \f ; rc 1988.06.03 fpproc page 17 k=10000 h. e3: ; start segment g4: g5 , g6 ; head word j130: g0+30 , 0 ; - - 30: savedw2w3 j108: g0+8 , 0 ; - - 8: end addr expr j129: g0+29 , 0 ; - - 29: param alarm j0: 1<11 o. (:-1:), 0; own segment, previous segment g6=k-2-g4 ; end of abswords g5=k-2-g4 ; end of points w. \f ; rc 1988.06.02 fpproc page 18 / s 1, d./page 7/, d./jl. (j8.)/ l./c4:/, i/ /, l./c4:/, l1, r/rl/dl/ l./j29./, r/j29.) /j129.)/ l./a5:/, d, i/ a5: rl. w3 (j0.) ; goto compute action address jl w3 x3+c5-e5 ; on previous segment; /, p-2 l./dl. w3 (j30.)/, d./jl. (j8.)/, i/ am. (j130.) ; rl w3 -2 ; w3 := stackref; rs w0 (x3+12) ; w0 param := w0; rl w3 x3+18 ; w3 := addr first word of name; am (x3) ; se w3 x3 ; if (w3) = 0 then jl. (j108.) ; begin dl w1 x2+4 ; move ds w1 x3+2 ; generated name to dl w1 x2+8 ; array; ds w1 x3+6 ; end; jl. (j108.) ; end addr expression; /, p-14 l./; procedure compute/, d./; end procedure compute/ l./page 8/, r/rc 31.01.73/ rc 1988.06.02/, r/page 8/page 19/ l./; special actions/, d./c9:/, d2, i# ; special actions: ; entries from previous segment: c6: rl w1 x2+14 ; parent message: am (x2+18) ; w1:= addr of first part; al w2 h1+2 ; w2:= name addr in zone c7: ; finis message: c8: rx w3 0 ; break message: jl w3 x3 ; swop (w0, w3); jl. (j108.) ; end address expression; c9: rx w3 0 ; end program: am (x2+14) ; swop (w0, w3); al w1 h1+2 ; w1:= name addr in zone; rl w2 x2+18 ; w2:= status; jl x3 ; goto end program; # l./h. ;/, d./b5:/, i/ c14=c4-e3 ; rel entry conn. inout next segm. c16=c6-e3, c17=c7-e3, c18=c8-e3, c19=c9-e3; rel entries spec. act next segm. /, p-2 l./e4:/, i/ \f ; rc 1988.06.03 fpproc page 20 / l./e4:/, g4/e4/e2/, l-4, g4/e5/e3/, l-4, l./too/, r/too/1 too/ l./g0:/, l1, g/1/2/ l6, r/1/2/, r/1 seg/2 seg/ l./m.fpproc/, r/84.03.29/88.06.05/ f end ▶EOF◀