home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Trees / V6 / usr / source / fort / fx / fxg.s < prev    next >
Encoding:
Text File  |  1975-07-17  |  2.8 KB  |  187 lines

  1. /
  2. /
  3.  
  4. / fxg -- declare implicit functions
  5.  
  6. .globl    funimpl
  7.  
  8. .globl    getname
  9. .globl    lookup
  10.  
  11. funimpl:
  12.     bit    $7,symtab(r3)
  13.     bne    1f
  14.     jsr    r5,getname
  15.     mov    r2,-(sp)
  16.     mov    $symbuf,r2
  17.     jsr    r5,lookup; funtab
  18.         br 2f
  19.     cmpb    (r2),$'\n
  20.     bne    2f
  21.     asr    r0
  22.     movb    funtabt(r0),r0
  23.     mov    r0,-(sp)
  24.     bic    $!17,r0
  25.     bis    typtab(r0),symtab(r3)
  26.     mov    (sp)+,r0
  27.     asr    r0
  28.     asr    r0
  29.     asr    r0
  30.     asr    r0
  31.     bic    $!17,r0
  32.     mov    typtab(r0),symtab+2(r3)    / save argument conversion
  33. 2:                    / in dimension pointer
  34.     mov    (sp)+,r2
  35. 1:
  36.     rts    r5
  37.  
  38. typtab:
  39.     intcon
  40.     realcon
  41.     dblcon
  42.     cplxcon
  43.     dcplxcon
  44.  
  45. funtab:
  46.     <tanh\0>
  47.     <sqrt\0>
  48.     <sngl\0>
  49.     <sin\0>
  50.     <sign\0>
  51.     <real\0>
  52.     <mod\0>
  53.     <min1\0>
  54.     <min0\0>
  55.     <max1\0>
  56.     <max0\0>
  57.     <isign\0>
  58.     <int\0>
  59.     <ifix\0>
  60.     <idint\0>
  61.     <idim\0>
  62.     <iabs\0>
  63.     <float\0>
  64.     <exp\0>
  65.     <dsqrt\0>
  66.     <dsin\0>
  67.     <dsign\0>
  68.     <dreal\0>
  69.     <dmod\0>
  70.     <dmin1\0>
  71.     <dmax1\0>
  72.     <dlog10\0>
  73.     <dlog\0>
  74.     <dimag\0>
  75.     <dim\0>
  76.     <dexp\0>
  77.     <dcsqrt\0>
  78.     <dcsin\0>
  79.     <dcos\0>
  80.     <dconjg\0>
  81.     <dcmplx\0>
  82.     <dclog\0>
  83.     <dcexp\0>
  84.     <dccos\0>
  85.     <dcabs\0>
  86.     <dble\0>
  87.     <datan2\0>
  88.     <datan\0>
  89.     <dabs\0>
  90.     <csqrt\0>
  91.     <csin\0>
  92.     <cos\0>
  93.     <conjg\0>
  94.     <cmplx\0>
  95.     <clog\0>
  96.     <cexp\0>
  97.     <ccos\0>
  98.     <cabs\0>
  99.     <atan2\0>
  100.     <atan\0>
  101.     <amod\0>
  102.     <amin1\0>
  103.     <amin0\0>
  104.     <amax1\0>
  105.     <amax0\0>
  106.     <alog10\0>
  107.     <alog\0>
  108.     <aint\0>
  109.     <aimag\0>
  110.     <abs\0>
  111.     <\0>
  112.  
  113. / function type xy
  114. /    x = arg types
  115. /    y = result type
  116. / 0 = integer
  117. / 2 = real
  118. / 4 = double
  119. / 6 = complex
  120. / 8 = doublecomplex
  121. funtabt:
  122.     .byte    2\<4+2        / tanh
  123.     .byte    2\<4+2        / sqrt
  124.     .byte    4\<4+2        / sngl
  125.     .byte    2\<4+2        / sin
  126.     .byte    2\<4+2        / sign
  127.     .byte    6\<4+2        / real
  128.     .byte    0\<4+0        / mod
  129.     .byte    2\<4+0        / min1
  130.     .byte    0\<4+0        / min0
  131.     .byte    2\<4+0        / max1
  132.     .byte    0\<4+0        / max0
  133.     .byte    0\<4+0        / isign
  134.     .byte    2\<4+0        / int
  135.     .byte    2\<4+0        / ifix
  136.     .byte    4\<4+0        / idint
  137.     .byte    0\<4+0        / idim
  138.     .byte    0\<4+0        / iabs
  139.     .byte    0\<4+2        / float
  140.     .byte    2\<4+2        / exp
  141.     .byte    4\<4+4        / dsqrt
  142.     .byte    4\<4+4        / dsin
  143.     .byte    4\<4+4        / dsign
  144.     .byte    8\<4+4        / dreal
  145.     .byte    4\<4+4        / dmod
  146.     .byte    4\<4+4        / dmin1
  147.     .byte    4\<4+4        / dmax1
  148.     .byte    4\<4+4        / dlog10
  149.     .byte    4\<4+4        / dlog
  150.     .byte    8\<4+4        / dimag
  151.     .byte    2\<4+2        / dim
  152.     .byte    4\<4+4        / dexp
  153.     .byte    8\<4+8        / dcsqrt
  154.     .byte    8\<4+8        / dcsin
  155.     .byte    4\<4+4        / dcos
  156.     .byte    8\<4+8        / dconjg
  157.     .byte    4\<4+8        / dcmplx
  158.     .byte    8\<4+8        / dclog
  159.     .byte    8\<4+8        / dcexp
  160.     .byte    8\<4+8        / dccos
  161.     .byte    8\<4+4        / dcabs
  162.     .byte    2\<4+4        / dble
  163.     .byte    4\<4+4        / datan2
  164.     .byte    4\<4+4        / datan
  165.     .byte    4\<4+4        / dabs
  166.     .byte    6\<4+6        / csqrt
  167.     .byte    6\<4+6        / csin
  168.     .byte    2\<4+2        / cos
  169.     .byte    6\<4+6        / conjg
  170.     .byte    2\<4+6        / cmplx
  171.     .byte    6\<4+6        / clog
  172.     .byte    6\<4+6        / cexp
  173.     .byte    6\<4+6        / ccos
  174.     .byte    6\<4+2        / cabs
  175.     .byte    2\<4+2        / atan2
  176.     .byte    2\<4+2        / atan
  177.     .byte    2\<4+2        / amod
  178.     .byte    2\<4+2        / amin1
  179.     .byte    0\<4+2        / amin0
  180.     .byte    2\<4+2        / amax1
  181.     .byte    0\<4+2        / amax0
  182.     .byte    2\<4+2        / alog10
  183.     .byte    2\<4+2        / alog
  184.     .byte    2\<4+2        / aint
  185.     .byte    6\<4+2        / aimag
  186.     .byte    2\<4+2        / abs
  187.