home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / languages / c / gnu_c / !UnixLib / src / sys / s / _math < prev    next >
Encoding:
Text File  |  1994-09-09  |  3.4 KB  |  192 lines

  1. ;       /* _math.s (c) Copyright 1990 H.Rogers */
  2.  
  3.         GET     @.src.sys.s.asm_dec
  4.  
  5.         AREA    |C$$code|,CODE,READONLY
  6.  
  7.         EXPORT  acos
  8.  
  9.         NAME    acos
  10. acos
  11.         STMFD   sp!,{a1,a2}
  12.         LDFD    f0,[sp],#8
  13.         ACSD    f0,f0
  14.         MOVS    pc,lr
  15.  
  16.         EXPORT  asin
  17.  
  18.         NAME   asin
  19. asin
  20.         STMFD   sp!,{a1,a2}
  21.         LDFD    f0,[sp],#8
  22.         ASND    f0,f0
  23.         MOVS    pc,lr
  24.  
  25.         EXPORT  atan
  26.  
  27.         NAME   atan
  28. atan
  29.         STMFD   sp!,{a1,a2}
  30.         LDFD    f0,[sp],#8
  31.         ATND    f0,f0
  32.         MOVS    pc,lr
  33.  
  34.         EXPORT  atan2
  35.  
  36.         NAME   atan2
  37. atan2
  38. ;       STMFD   sp!,{a1,a2,a3,a4}
  39. ;       LDFD    f0,[sp],#8
  40. ;       LDFD    f1,[sp],#8
  41. ;       DVFD    f0,f1,f0
  42. ;       ATND    f0,f0
  43. ;       MOVS    pc,lr
  44.  
  45. ; Improved version by Alun Jones -  takes the quadrant into account as it should.
  46.         STMFD   sp!,{a1,a2,a3,a4}
  47.         LDFD    f1,[sp],#8
  48.         LDFD    f2,[sp],#8
  49.         DVFD    f0,f1,f2
  50.         ABSD    f0,f0
  51.         ATND    f0,f0
  52.         CMFE    f2,#0
  53.         LDFLTD  f2,PI
  54.         SUFLTD  f0,f2,f0
  55.         CMFE    f1,#0
  56.         MOVGES  pc,lr
  57.         MNFD    f0,f0
  58.         MOVS    pc,lr
  59.  
  60. PI      DCFD    3.141592653589793238
  61.  
  62.         EXPORT  cos
  63.  
  64.         NAME   cos
  65. cos
  66.         STMFD   sp!,{a1,a2}
  67.         LDFD    f0,[sp],#8
  68.         COSD    f0,f0
  69.         MOVS    pc,lr
  70.  
  71.         EXPORT  sin
  72.  
  73.         NAME   sin
  74. sin
  75.         STMFD   sp!,{a1,a2}
  76.         LDFD    f0,[sp],#8
  77.         SIND    f0,f0
  78.         MOVS    pc,lr
  79.  
  80.         EXPORT  tan
  81.  
  82.         NAME   tan
  83. tan
  84.         STMFD   sp!,{a1,a2}
  85.         LDFD    f0,[sp],#8
  86.         TAND    f0,f0
  87.         MOVS    pc,lr
  88.  
  89.         EXPORT  exp
  90.  
  91.         NAME   exp
  92. exp
  93.         STMFD   sp!,{a1,a2}
  94.         LDFD    f0,[sp],#8
  95.         EXPD    f0,f0
  96.         MOVS    pc,lr
  97.  
  98.         EXPORT  log
  99.  
  100.         NAME   log
  101. log
  102.         STMFD   sp!,{a1,a2}
  103.         LDFD    f0,[sp],#8
  104.         LGND    f0,f0
  105.         MOVS    pc,lr
  106.  
  107.         EXPORT  log10
  108.  
  109.         NAME   log10
  110. log10
  111.         STMFD   sp!,{a1,a2}
  112.         LDFD    f0,[sp],#8
  113.         LOGD    f0,f0
  114.         MOVS    pc,lr
  115.  
  116.         EXPORT  modf
  117.  
  118.         NAME   modf
  119. modf
  120.         STMFD   sp!,{a1,a2}
  121.         LDFD    f0,[sp],#8
  122.         RNDD    f1,f0
  123.         STFD    f1,[a3,#0]
  124.         SUFD    f0,f0,f1
  125.         MOVS    pc,lr
  126.  
  127.         EXPORT  pow
  128.  
  129.         NAME   pow
  130. pow
  131.         STMFD   sp!,{a1,a2,a3,a4}
  132.         LDFD    f0,[sp],#8
  133.         LDFD    f1,[sp],#8
  134.         POWD    f0,f0,f1
  135.         MOVS    pc,lr
  136.  
  137.         EXPORT  sqrt
  138.  
  139.         NAME   sqrt
  140. sqrt
  141.         STMFD   sp!,{a1,a2}
  142.         LDFD    f0,[sp],#8
  143.         SQTD    f0,f0
  144.         MOVS    pc,lr
  145.  
  146.         EXPORT  ceil
  147.  
  148.         NAME   ceil
  149. ceil
  150.         STMFD   sp!,{a1,a2}
  151.         LDFD    f0,[sp],#8
  152.         FIXD    a1,f0
  153.         FLTD    f1,a1
  154.         CMFE    f1,f0
  155.         ADDLT   a1,a1,#1
  156.         FLTD    f0,a1
  157.         MOVS    pc,lr
  158.  
  159.         EXPORT  fabs
  160.  
  161.         NAME   fabs
  162. fabs
  163.         STMFD   sp!,{a1,a2}
  164.         LDFD    f0,[sp],#8
  165.         ABSD    f0,f0
  166.         MOVS    pc,lr
  167.  
  168.         EXPORT  floor
  169.  
  170.         NAME   floor
  171. floor
  172.         STMFD   sp!,{a1,a2}
  173.         LDFD    f0,[sp],#8
  174.         FIXD    a1,f0
  175.         FLTD    f1,a1
  176.         CMFE    f1,f0
  177.         SUBGT   a1,a1,#1
  178.         FLTD    f0,a1
  179.         MOVS    pc,lr
  180.  
  181.         EXPORT  fmod
  182.  
  183.         NAME   fmod
  184. fmod
  185.         STMFD   sp!,{a1,a2,a3,a4}
  186.         LDFD    f0,[sp],#8
  187.         LDFD    f1,[sp],#8
  188.         RMFD    f0,f0,f1
  189.         MOVS    pc,lr
  190.  
  191.         END
  192.