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

⟦f19365061⟧ TextFile

    Length: 26880 (0x6900)
    Types: TextFile
    Names: »procsurv4tx «

Derivation

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

TextFile

; fgs 1988.09.20                             procsurvey, page ...1...
 
 
s. a30, b30, c30, d30, e30, f30, g30
w.
d.
p.<:fpnames:>
l.
k=h55

      jl. w1     d20.      ;   init program;
      jl. w3     d28.      ;   if left side then connect output;
d7:   rs. w1     c18.      ;   save output zone address;
      al. w1     h19.      ;   w1:=addr(cur prog zone);
      jl. w3     h79.      ;   terminate zone;
      am            +2000  ;
      al. w3     c27.      ;   first shared(cur prog zone):=
      rs. w3     h80.+2    ;   addr of buffer start;
      al  w3  x3-1         ;   base buf(cur prog zone):=
      rs  w3  x1+10        ;   first of buffer-1;
      al  w3  x3+512       ;   last buf(cur prog zone):=
      rs  w3  x1+h0+2      ;   base buf+512;
d0:   al. w1     h54.      ; next:   w1:=lookup area
      al. w3     (c1.)     ;   w3:=name addr
      jd      1<11+42      ;   lookup name;
      se  w0     0         ;   if not found then
      jl.        a2.       ;   alarm(unknown:>);
      bz  w2  x1+16        ;
      se  w2     4         ;
      sl  w2     32        ;   if contents<>4 and contents<32 then
      jl.        4         ;   alarm(<:not procedure:>);
      jl.        a3.       ;
      al  w2  x2-32        ;   if contents>=32 then
      sh  w2  0            ;   segm:=contents-32;
      al  w2     0         ;
      rs. w2     c14.      ;

      rl  w0  x1+12        ;
      ld  w0     1         ;   fortran :=
      rs. w3     c15.      ;     spec 1.msb;
      ls  w0    -1         ;
      rs. w0     c8.       ;   save param spec 1 extract 11;
      rl  w0  x1+14        ;
      rs. w0     c9.       ;   save param spec 2.

\f


; fgs 1988.09.20                            procsurvey, page ...2...


      al  w2     10        ;   outnl;
      rl. w1     c18.      ;   zone := spec out;
      jl. w3     h26.      ;
      rl. w1     c8.       ;
      ls  w1     -18       ;   w1:=procedure type;
      sl  w1     15        ;
      al  w1     0         ;
      wm. w1     b5.       ;
      rl. w3     c15.      ;
      sz  w3     1         ;   if fortran then
      am         f22       ;     change text of actual type;
      al. w0  x1+f2.       ;   
      rl. w1     c18.      ;   zone := spec. out;
      jl. w3     h31.      ;   outtext (actual type);

      rl. w1     c1.       ;
      al. w2     c16.      ;
      dl  w0  x1+2         ;   move name
      lo. w3     b11.      ;     from parameter area
      lo. w0     b11.      ;     to   saved procname
      ds  w0  x2+2         ;   and
      dl  w0  x1+6         ;     extend to 12 positions
      lo. w3     b11.      ;     with spaces;
      lo. w0     b12.      ;
      ds  w0  x2+6         ;
      al. w0     c16.      ;
      rl. w1     c18.      ;   zone := spec. out;
      jl. w3     h31.      ;   outtext(procname);
\f


; fgs 1988.09.20                            procsurvey, page ...3...


      al. w1     h54.      ;   restore w1;
      al. w3    (c1.)      ;
      rl  w2  x1           ;
      se  w2     0         ;   if variable then
      jl.        d1.       ;   begin
      rl. w2     c8.       ;
      ls  w2     6         ;
      sn  w2     0         ;   if rs entry then
      jl.        d9.       ;   begin
      al. w0     f3.       ;
      rl. w1     c18.      ;     zone := spec. out;
      jl. w3     h31.      ;     outtext(rs entry no);
      am         1         ;
      bz. w0     c8.       ;
      jl. w3     h32.      ;     outinteger(rs no);
      32<12+3              ;    
d9:   al  w2     10        ;     outnl;
      rl. w1     c18.      ;     zone := spec. out;
      jl. w3     h26.      ;     goto nextparam;
      jl.        d4.       ;   end rs entry;
 
d1:   bz  w0  x1+17        ; connect:
      rs. w0     c2.       ;   c2:=externallist
      sl  w0     502       ;   if startexternallist>500 then
      jl.        a5.       ;   alarm(<:entry inconsistent:>);
      al. w1     h19.      ; 
      al  w2  x3           ;   connect param to
      jl. w3     h27.      ;   cur prog zone;
      se  w0     0         ;   if connect error then
      jl.        d6.       ;   goto subentry;
      rl. w0     c14.      ;
      rs. w0     h19.+h1+16;   set segm;
      jl. w3     h22.      ;   inblock;
      rl. w0     h54.      ;   bs then
      sl  w0     0         ;   begin
      jl.        d10.      ;
      al. w1     h54.      ;     lookup docname;
      al. w3     h54.+2    ;     
      jd         1<11+42   ;
      bz. w0     h54.+17   ;   end;
\f


; fgs 1988.09.20                            procsurvey, page ...4...


      rl. w1     c2.       ;   if startext=0 then
      sn  w1     0         ;   startext:=byte17;
      rs. w0     c2.       ;
      sl  w0     502       ;   if startext>500 then
      jl.        a5.       ;    alarm(entry inconsistent);
d10:  rl. w2     c2.       ;
      am            +2000  ;
      am.        c27.      ;
      bz  w1  x2+1         ;   addr:=z(startext) extract 12
      wm. w1     b0.       ;   *12
      rs. w1     c3.       ;   +
      am            +2000  ;
      am.        c27.      ;
      bz  w1  x2           ;   z(startadr) shift (-12)
      ls  w1     1         ;   *2
      wa. w1     c3.       ;
      rs. w1     c3.       ;   +
      rl. w3     c15.      ;
      sz  w3     1         ;   if not fortran then
      jl.        d13.      ; 
      am            +2000  ;
      am.        c27.      ;
      rl  w1  x2+2         ;     no of bytes to copy
      jl.        d14.      ;   else
d13:  am            +2000  ;
      am.        c27.      ;
      zl  w1  x2+2         ;     no of commons *
      wm. w1     b7.       ;     6 +
      am            +2000  ;
      am.        c27.      ;
      zl  w0  x2+3         ;     no of zcommons *
      wm. w0     b8.       ;     9
      wa  w1     0         ;
d14:  wa. w1     c3.       ;
      al  w1  x1+6         ;   +6
      wa. w1     c2.       ;   +startext;
      am            +2000  ;
      al. w1  x1+c27.      ;
      rs. w1     c3.       ;
d11:  rl  w0  x1           ; nextsegm:
      rs. w0     c5.       ;   save clock;
      rl  w0  x1-2         ;
      rs. w0     c4.       ;   save date;
\f


; fgs 1988.09.20                            procsurvey, page ...5...


      am            +2000  ;
      am.        c27.      ;
      sh  w1     500       ;   if addr<=500 then
      jl.        d2.       ;   print_date_and_clock;
      al  w0     0         ;
      am            +2000  ;
      am.        c27.      ;
      sn  w1     502       ;   if addr=502 then
      rs. w0     c2.       ;   startext:=0;
      rl. w1     h54.      ;
      al  w1  x1-1         ;   seg:=seg-1;
      rs. w1     h54.      ;
      am            +2000  ;
      am.        c27.      ;
      bz  w2     503       ;   w1:=continueaddr
      sl  w1     0         ;   if seg<0 or
      sl  w2     500       ;   if continueaddr>500 then
      jl.        a7.       ;   alarm<:code inconsistent:>);
      al  w1  x2-502       ;   addr:=continueadr-502
      wa. w1     c3.       ;   +addr
      rs. w1     c3.       ;
      al. w1     h19.      ;   
      jl. w3     h22.      ;   inblock;
      rl. w1     c3.       ;
      rl. w0     c2.       ;   if startext=500
      se  w0     500       ;   then
      jl.        d12.      ;   begin
      rl. w3     c15.      ;     addr := addr +
      sz  w3     1         ;     if not fortran then
      jl.        d15.      ;
      am            +2000  ;
      am.        c27.      ;
      wa  w1  x2+0         ;       no of bytes to copy
      jl.        d16.      ;
d15:  am            +2000  ;
      am.        c27.      ;
      zl  w1  x2+0         ;       no of commons *
      wm. w1     b7.       ;       6 +
      am            +2000  ;
      am.        c27.      ;
      zl  w0  x2+1         ;       no of zcommons *
      wm. w0     b8.       ;       9
      wa  w1     0         ;
      wa. w1     c3.       ;
d16:  ws  w1     4         ;     -continueaddr;
      al  w0     2         ;     startext:=2;
      rs. w0     c2.       ;   end;
\f


; fgs 1988.09.20                            procsurvey, page ...6...


d12:  am            +2000  ;
      am.        c27.      ;
      sl  w1     502       ;   if addr>500 then
      jl.        d11.      ;   goto nextsegm;
      rl  w0  x1           ;
      rs. w0     c5.       ;   save clock;
      rl  w1  x1-2         ;
      rl. w0     c2.       ;   if startext<>0 then
      se  w0     0         ;   save date;
      rs. w1     c4.       ;

d2:   al. w0     b2.       ; print_date_and_clock;
      rl. w1     c18.      ;    zone := spec. out;
      jl. w3     h31.      ;   outtext(<: d.:>);
      rl. w0     c4.       ;
      jl. w3     h32.      ;   outinteger(date);
      48<12+6              ;   <<zddddd>
      al  w2     46        ;
      jl. w3     h26.      ;   outpoint;
      rl. w0     c5.       ;
      al  w3     0         ;   clock:=clock/100;
      wd. w0     b1.       ;
      jl. w3     h32.      ;   outinteger(clock);
      48<12+4              ;   <<zddd>

      al. w0     b9.       ;   addr text :=
      rl. w3     c15.      ;     if not fortran then
      sz  w3     1         ;       addr <:algol:>
      al. w0     b10.      ;     else
                           ;       addr <:fortran:>;
      jl. w3     h31.      ;   outtext (text);
      al  w2     10        ;
      jl. w3     h26.      ;   outnl;

\f


; fgs 1988.09.20                            procsurvey, page ...7...


d8:   al. w3     c13.      ; after date:   w3:=store addr;
      al  w1     0         ;
      rl. w0     c9.       ;   w0:=param spec2;
      ld  w1    -6         ;
      ls  w1    -18        ;   w1:=first param;
      rs  w1  x3           ;
      se  w1     0         ;
      al  w3  x3+2         ;   count param;
      ld  w1    -6         ;
      ls  w1    -18        ;   w1:=param 2;
      rs  w1  x3           ;
      se  w1     0         ;   count param;
      al  w3  x3+2         ;
      ld  w1    -6         ;
      ls  w1    -18        ;   w1:=param 3;
      rs  w1  x3           ;
      se  w1     0         ;   count param;
      al  w3  x3+2         ;
      rs  w0  x3           ;
      se  w0  0            ;   w0:=param 4;
      al  w3  x3+2         ;   count param;
      al  w1  0            ;
      rl. w0  c8.          ;   w0:=param spec1;
      ld  w1   -6          ;
      ls  w1    -18        ;   w1:=param5;
      rs  w1  x3           ;
      se  w1  0            ;   count param;
      al  w3  x3+2         ;
      ld  w1    -6         ;
      ls  w1    -18        ;
      rs  w1  x3           ;   w1:=param6;
      se  w1     0         ;
      al  w3  x3+2         ;   count param;
      ld  w1    -6         ;
      ls  w1    -18        ;   w1:=param7;
      rs  w1  x3           ;
      se  w1     0         ;   count param
      al  w3  x3+2         ;
      rs. w3     c10.      ;   save pointer last;
      al  w1     0         ;
      rs. w1     c11.      ;   cur param:=0;
      al. w1     c13.      ;
      rs. w1     c12.      ;
\f


; fgs 1988.09.20                            procsurvey, page ...8...


d3:   rl. w1     c10.      ; print loop:
      sn. w1    (c12.)     ;   if last if printed
      jl.        d4.       ;   then goto next param;
      al. w0     f4.       ;
      rl. w1     c18.      ;   zone := spec. out;
      jl. w3     h31.      ;   outtext(param)
      rl. w0     c11.      ;
      ba. w0     1         ;   curparam:=curparam+1;
      rs. w0     c11.      ;
      jl. w3     h32.      ;   outinteger(curparam);
      1                    ;
      rl. w1    (c12.)     ;
      sl  w1     42        ;
      al  w1     0         ;
      wm. w1     b6.       ;   addr. param type
      rl. w3     c15.      ;
      sz  w3     1         ;   if fortran then
      am         f25       ;     change text of param type;
      al. w0  x1+f5.       ;
      rl. w1     c18.      ;   zone := spec. out;
      jl. w3     h31.      ;   outtext(paramtype);
      rl. w1     c12.      ;
      al  w1  x1+2         ;   curadr:=curadr+2;
      rs. w1     c12.      ;
      jl.        d3.       ;
d4:   rl. w1     c6.       ; nextparam:
      ba  w1  x1+1         ;   param pointer;
      rs. w1     c6.       ;
      al  w1  x1+2         ;
      rs. w1     c1.       ;   adr. cur param;
      rl. w1     c6.       ;   if -,endparam
      bl  w1  x1           ;
      sl  w1     4         ;   then
      jl.        d0.       ;   goto next;

\f


; fgs 1988.09.20                            procsurvey, page ...9...


d22:  rl. w1  c18.         ; look for sec. output:
      se  w1  0            ;   if no sec zone
      sn. w1  h21.         ;   or zone = cur out then
      jl.     d5.          ;   begin <*terminate sec out*>
      bz  w3  x1+h1+1      ;
      se  w3  4            ;     char := if kind=bs
      sn  w3  18           ;     or if kind=mt then em
      am      25           ;     else
      al  w2  0            ;     null
      jl. w3  h34.         ;     close up (char);
      jl. w3  h79.         ;     terminate zone;
      bz  w0  x1+h1+1      ;
      se  w0  4            ;     if kind = bs
      jl.     d23.         ;     begin <*cut down*>
      al  w3  x1+h1+2      ;
      al. w1  c17.         ;       lookup entry(outfile); 
      jd      1<11+42      ;       size(tail) :=          
      rl  w0  x3+14        ;       segment count;         
      rs. w0  c17.         ;       change entry;          
      jd      1<11+44      ;     end <*cut down*>;        
d23:  am         -2000     ;
      rl. w3  h8.+2000     ;     <*set content*>
      al  w3  x3+2         ;
      al. w1  c17.         ;     lookup entry(outfile);
      jd      1<11+42      ;
      al  w0  0            ;
      am      16           ;
      rs. w0  c17.         ;     content := text;
      jd      1<11+44      ;     change entry(outfile);
                           ;   end <*terminate sec. out*>
d5:   al  w2     0         ;
      am            -2000  ;
      jl.        h7.+2000  ;   goto fp;
 
\f


; fgs 1988.09.20                            procsurvey, page ...10...


d6:   al. w3     c13.      ; subentry:
      dl. w1     h54.+4    ;
      ds  w1  x3+2         ;   move docname;
      dl. w1     h54.+8    ;
      ds  w1  x3+6         ;
      al. w1     h54.      ; 
      jd         1<11+42   ;   lookup docname;
      se  w0     0         ;   if not found then
      jl.        a6.       ;   not connected;
      bz  w2  x1+16        ;   if contents>=32 then
      al  w2  x2-32        ;   segm:=contents-32;
      sl  w2     0         ;
      rs. w2     c14.      ;
      jl.        d1.       ;   goto connect;

;procedure init program
;
;called just after entry   nb: link w1
;

d20: al  w3  x3+2          ;   addr program name :=
     rs. w3  c0.           ;     w3 at entry + 2;
     al  w2  x3+8          ;   addr of first item  :=
     rs. w2  c6.           ;     addr program name + 8;
     al  w2  x2+2          ;   addr of first param :=
     rs. w2  c1.           ;     addr of program name + 10;
     bz  w2  x3-2          ;
     se  w2  6             ;   return:=
     am      2             ;   if delim <> 6 then link+2
     al  w3  x1            ;   else link;
     al. w1  h21.          ;   w1:=addr of curr out zone;
     jl      x3            ;   goto return;
                                                                               
\f


; fgs 1988.09.20                            procsurvey, page ...11...


;connect special output zone
;
b. j4                      ;
w.

j0:   0                    ; save return

d28: rs. w3  j0.           ;
     jl. w3  h29.-4        ;   stack curr in;
     rl. w2  c0.           ;
     al  w2  x2-10         ;   w2:=addr(outfile name);
     al  w0  1<2+0         ;   
     jl. w3  h28.          ;   connect cur in (outfile);
     se  w0  0             ;   if troubles theen
     jl.     a0.           ;     goto connect output alarm;
     bl  w0  x1+h1+1       ;
     se  w0  4             ;   if not bs  and
     sn  w0  18            ;      not mt then
     jl.     d29.          ;     return;
     jl.     (j0.)         ;
d29: al. w1  h54.          ;   w1:=lookup area;
     rl. w2  c0.           ;
     al  w2  x2-10         ;
     jl. w3  d30.          ; prepare output
     al. w1  h20.          ;   w1:=cur in
     jl.     (j0.)         ;   return;  comment: now w1
                           ;   points to cur out zone;

e.  ; end of connect second out
                                                                         

\f


; fgs 1988.09.20                            procsurvey, page ...12...


; procedure prepare entry for textoutput
;  w0  not used
;  w1  lookup area
;  w2  name addr, entry must be present
;  w3  return addr

b. a2 w.

d30:  ds. w1  a1.          ;   save w0.w1
      ds. w3  a2.          ;   save w2.w3
      al  w3  x2           ;   w3:=name addr
      jd      1<11+42      ;   lookup
      bz  w2  x1+16        ;
      sh  w2  32           ;   if contents=4 or
      sn  w2  4            ;   contents>=32
      jl.     4            ;   then
      jl.     a0.          ;   file:=block:=0;
      rs  w0  x1+12        ;
      rs  w0  x1+14        ;
a0:   rs  w0  x1+16        ;   contents.entry:=0;
      rs  w0  x1+18        ;   loadlength:=0;
      dl  w1  110          ;
      ld  w1  5            ;   shortclock;
      rl. w1  a1.          ;
      rs  w0  x1+10        ;
      jd      1<11+44      ;   changeentry;
      dl. w1  a1.          ;   restore w0,w1
      dl. w3  a2.          ;   restore w2,w3
      jl      x3           ;   return

      0                    ;   saved w0
a1:   0                    ;   saved w1
      0                    ;   saved w2
a2:   0                    ;   saved w3

e.                         ; end prepare entry for text output
                                                                   
\f


; fgs 1988.09.20                            procsurvey, page ...12...


a0:   jl. w2     e0.       , <: connect <0>:>
a1:   jl. w2     e0.       , <: param:>,0
a2:   jl. w2     e0.       , <: unknown:>
a3:   jl. w2     e0.       , <: not procedure:>
a5:   jl. w2     e0.       , <: entry inconsistent:>
a6:   jl. w2     e0.       , <: connect:>
a7:   jl. w2     e0.       , <: code inconsistent:>,0

e0:   ds. w3     c5.       ;   save w2, w3
      al. w0     b3.       ;
      jl. w3     h31.-2    ;   outtext(<:***:>);
      rl. w0     c0.       ;
      jl. w3     h31.-2    ;   outtext(progname);
      sn. w2     a0.+2     ;
      jl.        e1.       ;   if -,connect output alarm then
      al. w0     b4.       ;   begin
      jl. w3     h31.-2    ;     outtext<: :>);
      rl. w1     c6.       ;
      bz  w1  x1+1         ;
      se  w1     10        ;   if textparam then
      jl.        e2.       ;
      rl. w0     c1.       ;
      jl. w3     h31.-2    ;     outtext(param);
      jl.        e1.       ;   else
e2:   rl. w0    (c1.)      ;
      jl. w3     h32.-2    ;   outinteger(param);
      1                    ;
      al. w2     a1.+2     ;
e1:   al  w0  x2           ;   end;
      jl. w3     h31.-2    ;   outtext(error cause);
      dl. w3     c5.       ; 
      se. w2     a0.+2     ;   if connect output alarm then
      jl.        d24.      ;   begin
      rl. w2     c0.       ;     text addr := addr outfile param;
      al  w0  x2-10        ;       addr outfile param;
      jl. w3     h31.-2    ;     outtext (curr out, text);
d24:  al  w2     10        ;   end;
      jl. w3     h26.-2    ;   outnl;

      al  w2     1         ;
      hs. w2     d5.+1     ;   ok.no
      dl. w3     c5.       ;   restore w2, w3
      sn. w2     a0.+2     ;   if connect output alarm then
      jl.        d7.       ;   continue;
      sh. w2     a5.       ;   if not procedure then
      jl.        d4.       ;   goto nextparam
      jl.        d8.       ;   else goto after date;

\f


; fgs 1988.09.20                            procsurvey, page ...14...


b0 :  12                   ;
b1 :  100                  ;
b2 :  <:: d.:>             ;
b3 :  <:<10>***:>          ;
b4 :  <: :>                ;
b5 :  16                   ;
b6 :  16                   ;
b7 :  6                    ;
b8 :  9                    ;
b9 : <: (algol)  <0>:>     ;
b10: <: (fortran)<0>:>     ;
b11: <:<32><32><32>:>      ;
b12: <:<32><32><0>:>       ;


c0:   0                    ;   prog name addr
c1:   0                    ;   param addr
c2:   0                    ;   startext
c3:   0                    ;   wrk for addr calc.
c4:   0                    ;   date
c5:   0                    ;   clock
c6:   0                    ;   param pointer
c8:   0                    ;   param spec 1;
c9:   0                    ;   param spec 2;
c10:  0                    ;   pointer last param;
c11:  0                    ;   cur proc param
c12:  0                    ;   cur addr
c13:  0,0,0,0,0,0,0        ;   parameter types
c14:  0                    ;   segm
c15:  0                    ;   boolean fortran
c16:  0, r.4               ;   save procedure name
c17:  0, r.10              ;   lookup area
c18:  0                    ;   sec. zone

\f


; fgs 1988.09.20                            procsurvey, page ...15...


;    <:--34567890123456789012-<0>:>

f2:  <:  illegal   type       <0>:>
     <:  no type   procedure  <0>:>
     <:  boolean   procedure  <0>:>
     <:  integer   procedure  <0>:>
     <:  real      procedure  <0>:>
     <:  long      procedure  <0>:>
     <:  long real procedure  <0>:>
     <:  complex   procedure  <0>:>
     <:  boolean              <0>:>
     <:  integer              <0>:>
     <:  real                 <0>:>
     <:  long                 <0>:>
     <:  long real            <0>:>
     <:  complex              <0>:>
     <:  zone                 <0>:>
 
f12: <:  illegal   type       <0>:>
     <:  subroutine           <0>:>
     <:  logical   function   <0>:>
     <:  integer   function   <0>:>
     <:  real      function   <0>:>
     <:  long int. function   <0>:>
     <:  double pr function   <0>:>
     <:  complex   function   <0>:>
     <:  boolean              <0>:>
     <:  integer              <0>:>
     <:  real                 <0>:>
     <:  long                 <0>:>
     <:  long real            <0>:>
     <:  complex              <0>:>
     <:  zone                 <0>:>
 
 
f3:  <:, rs entry no.: :>
f4:  <:    param :>
 
\f


; fgs 1988.09.20                            procsurvey, page ...16...


f5:  <:: illegal type<10>:>      ,0,0,0
     <:: illegal type<10>:>      ,0,0,0
     <:: boolean<10>:>           ,0,0,0,0
     <:: integer<10>:>           ,0,0,0,0
     <:: real<10>:>              ,0,0,0,0,0
     <:: long<10>:>              ,0,0,0,0,0
     <:: long real<10>:>         ,0,0,0,0
     <:: complex<10>:>           ,0,0,0,0
     <:: zone<10>:>              ,0,0,0,0,0
     <:: string<10>:>            ,0,0,0,0,0
     <:: label<10>:>             ,0,0,0,0,0
     <:: illegal type<10>:>      ,0,0,0
     <:: value boolean<10>:>     ,0,0
     <:: value integer<10>:>     ,0,0
     <:: value real<10>:>        ,0,0,0
     <:: value long<10>:>        ,0,0,0
     <:: value long real<10>:>   ,0,0
     <:: value complex<10>:>     ,0,0
     <:: addr boolean<10>:>      ,0,0,0
     <:: addr integer<10>:>      ,0,0,0
     <:: addr real<10>:>         ,0,0,0,0
     <:: addr long<10>:>         ,0,0,0,0
     <:: addr long real<10>:>    ,0,0
     <:: addr complex<10>:>      ,0,0,0
     <:: boolean array<10>:>     ,0,0
     <:: integer array<10>:>     ,0,0
     <:: real array<10>:>        ,0,0,0
     <:: long array<10>:>        ,0,0,0
     <:: long real array<10>:>   ,0,0
     <:: complex array<10>:>     ,0,0
     <:: zone array<10>:>        ,0,0,0
     <:: no type procedure<10>:> ,0
     <:: boolean procedure<10>:> ,0
     <:: integer procedure<10>:> ,0
     <:: real procedure<10>:>    ,0,0
     <:: long procedure<10>:>    ,0,0
     <:: long real procedure<10>:>
     <:: complex procedure<10>:> ,0
     <:: switch<10>:>            ,0,0,0,0,0
     <:: general<10>:>           ,0,0,0,0
     <:: general addr<10>:>      ,0,0,0
     <:: undefined<10>:>         ,0,0,0

\f


; fgs 1988.09.20                            procsurvey, page ...17...


f15: <:: illegal type<10>:>      ,0,0,0
     <:: illegal type<10>:>      ,0,0,0
     <:: logical<10>:>           ,0,0,0,0
     <:: integer<10>:>           ,0,0,0,0
     <:: real<10>:>              ,0,0,0,0,0
     <:: long integer<10>:>      ,0,0,0
     <:: double precision<10>:>  ,0
     <:: complex<10>:>           ,0,0,0,0
     <:: zone<10>:>              ,0,0,0,0,0
     <:: string<10>:>            ,0,0,0,0,0
     <:: label<10>:>             ,0,0,0,0,0
     <:: illegal type<10>:>      ,0,0,0
     <:: value logical<10>:>     ,0,0
     <:: value integer<10>:>     ,0,0
     <:: value real<10>:>        ,0,0,0
     <:: value long integer<10>:>,0
     <:: value double prec.<10>:>,0
     <:: value complex<10>:>     ,0,0
     <:: addr logical<10>:>      ,0,0,0
     <:: addr integer<10>:>      ,0,0,0
     <:: addr real<10>:>         ,0,0,0,0
     <:: addr long integer<10>:> ,0
     <:: addr double prec.<10>:> ,0
     <:: addr complex<10>:>      ,0,0,0
     <:: logical array<10>:>     ,0,0
     <:: integer array<10>:>     ,0,0
     <:: real array<10>:>        ,0,0,0
     <:: long integer array<10>:>,0
     <:: double prec. array<10>:>,0
     <:: complex array<10>:>     ,0,0
     <:: zone array<10>:>        ,0,0,0
     <:: subroutine<10>:>        ,0,0,0
     <:: logical function<10>:>  ,0
     <:: integer function<10>:>  ,0
     <:: real function<10>:>     ,0,0
     <:: long integer fnc.<10>:> ,0
     <:: double prec. fnc.<10>:> ,0
     <:: complex function<10>:>  ,0
     <:: switch<10>:>            ,0,0,0,0,0
     <:: general<10>:>           ,0,0,0,0
     <:: general addr<10>:>      ,0,0,0
     <:: undefined<10>:>         ,0,0,0

f22 = f12 - f2             ; 
f25 = f15 - f5             ;

\f


; fgs 1988.09.20                            procsurvey, page ...18...


c7:  0                     ; base buf

c27 = c7 - 2000            ;

m. rc 1988.09.20 procsurvey
g2=k-h55

g0:g1: (:g2+511:)>9        ;   segms.
       0, r.4              ;   docname
       s2                  ;   date
       0, 0                ;   file, block
       2<12                ;   contry
       g2                  ;   load length

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