1: #
   2: # Copyright (c) 1980 Regents of the University of California.
   3: # All rights reserved.  The Berkeley software License Agreement
   4: # specifies the terms and conditions for redistribution.
   5: #
   6: #	@(#)asin.s	5.1 (Berkeley) 5/8/85
   7: #
   8: #
   9: #double asin(arg)
  10: #double arg; -1.0<=arg<=1.0 or an out of range error return
  11: #method: call atan() after range reduction
  12: # calls: satan (internal entry point of atan.s), _sqrt
  13: # J F Jarvis August 8, 1078
  14: .globl  _asin
  15: .globl  _errno
  16: .globl  _sqrt
  17: .globl  satan
  18: .set    EDOM,33
  19: .text
  20: .align  1
  21: _asin:
  22:         .word   0x3c0
  23:         bispsw  $0xe0
  24:         movd    4(ap),r6
  25:         jgtr    a1
  26:         mnegd   r6,r6
  27: a1:     cmpd    r6,$0d1.0e+0
  28:         jleq    a2
  29:         movl    $EDOM,_errno
  30:         clrd    r0
  31:         ret
  32: #
  33: a2:     muld3   r6,r6,r0
  34:         subd3   r0,$0d1.0e+0,-(sp)
  35:         calls   $2,_sqrt
  36:         cmpd    r6,$0d0.6875
  37:         jleq    a3
  38:         divd2   r6,r0
  39:         jsb     satan
  40:         subd3   r0,pio2,r0
  41:         jbr     a4
  42: a3:     divd3   r0,r6,r0
  43:         jsb     satan
  44: a4:     tstd    4(ap)
  45:         jleq    a5
  46:         ret
  47: a5:     mnegd   r0,r0
  48:         ret
  49: .data
  50: .align  2
  51: pio2: .double 0d1.57079632679489661923e+0

Defined functions

a1 defined in line 27; used 1 times
  • in line 25
a2 defined in line 33; used 1 times
  • in line 28
a3 defined in line 42; used 1 times
  • in line 37
a4 defined in line 44; used 1 times
  • in line 41
a5 defined in line 47; used 1 times
  • in line 45

Defined variables

pio2 defined in line 51; used 1 times
  • in line 40
Last modified: 1985-05-08
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 510
Valid CSS Valid XHTML 1.0 Strict