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
_asin
declared in line
14; defined in line
21; used 14 times
a1
defined in line
27; used 1 times
a2
defined in line
33; used 1 times
a3
defined in line
42; used 1 times
a4
defined in line
44; used 1 times
a5
defined in line
47; used 1 times
Defined variables
pio2
defined in line
51; used 1 times