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

⟦715932364⟧ TextFile

    Length: 3072 (0xc00)
    Types: TextFile
    Names: »fpexec4tx   «

Derivation

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

TextFile

; fgs 1988.10.10    algol 8, fpexecute                       page 1


;b. h100                ; fpnames dummy block

b. e7, g1 w.            ; block with names for tail

d.
p.<:fpnames:>           ;
l.
s. a5, b0, g3, j60      ; slang segment for procedure

k=10000

h.
g0=0
e0:  g2      ,  g1      ; rel of point ,rel of abs word
                        ;  abs words:
j13: g0+13   ,  0       ;  rs entry 13, last used
j30: g0+30   ,  0       ;           30, saved stack rel, saved w3
j4:  g0+4    ,  0       ;            4, take expression
j26: g0 + 26 ,  0       ;           26, in

g1=k-2-e0               ; end abs words 
g2=k-2-e0               ; end rel words

w.                      ; start of external list
e1:  0                  ; no externals
     0                  ; no owns
     s3                 ; date
     s4                 ; time

e2:  rl. w2 (   j13.)   ;
     ds. w3 (   j30.)   ;
     rl  w1 (x2+8   )   ;
     rs  w1  x2+8       ;

     dl  w1  x2+12      ; take index param:
     so  w0     16      ;   if  expr then take expression;
     jl. w3    (j4.)    ;
     ds. w3    (j30.)   ;
     dl  w1  x1         ;

     rl  w3  x2+  10    ;
     sz  w3        1    ;
     cf  w1        0    ;
     rs  w1  x2+  12    ;
     rl. w3     j26.    ;
     rl  w3  x3- 268    ;
a1:  ea  w3  x3+   1    ;
     el  w0  x3         ;
     sl  w0        4    ;
     jl.        a1.     ;
     wa  w1  x2+   8    ;
a2:  al  w3  x3-   2    ;
     rl  w0  x1         ;
     rs  w0  x3         ;
     al  w1  x1-   2    ;
     se  w1 (x2+   8)   ;
     jl.        a2.     ;
     al  w3  x3-   2    ;
     rl. w0     b0.     ;
     rs  w0  x3         ;
     rl. w1     j26.    ;
     rs  w3  x1- 268    ;
     al  w2        0    ;
     jl      x1- 312    ;

b0:  2 < 12 + 2         ;

\f

; fgs 1988.10.10    algol 8, fpexecute                           page 2


e7:
c. e7-e0-506
  m. code on segment 1 too long
z.
c. 502-e7+e0, -1,r. 252-(:e7-e0:)>1

;  fill the rest of the segment with -1
z.
<:fpexecute<0>:>        ;   alarm text

e.                      ;   end slang segment
m. rc 1988.10.10 fpexecute


;  tail part

g0: 
g1:  1                  ; area entry with 1 segment
     0,0,0,0            ; fill for name
     1<23+e2-e0         ; entry point
     1<18+19<12+25<6    ; no type proc (integer addr, integer array)
     0                  ;
     4<12+e1-e0         ; code proc, ext list
     1<12+0             ; code segm, own bytes

d.
p.<:insertproc:>
l.
▶EOF◀