Research V7 development
[unix-history] / .ref-Research-V6 / usr / source / s3 / pow.s
CommitLineData
6b92951c
KT
1.globl pow, _pow
2.globl log, exp
3
4_pow:
5 mov r5,-(sp)
6 mov sp,r5
7 movf 4(r5),fr0
8 movf 12.(r5),fr1
9 jsr pc,pow
10 mov (sp)+,r5
11 rts pc
12
13pow:
14
15/ 0^0\b~ is 0
16
17 tstf fr0
18 cfcc
19 bne 1f
20 tstf fr1
21 cfcc
22 beq bad
23 rts pc
241:
25
26/ -^i is +^i fixed sign
27
28 bpl 1f
29 movf fr1,-(sp)
30 modf $one,fr1
31 cfcc
32 bne bad1
33 movf (sp)+,fr1
34 absf fr0
35 jsr pc,1f
36 bes bad
37 movf fr1,-(sp)
38 modf $half,fr1
39 cfcc
40 beq 2f
41 negf fr0
422:
43 movf (sp)+,fr1
44 rts pc
451:
46 jsr pc,log
47 bes 1f
48 mulf fr1,fr0
49 jsr pc,exp
501:
51 rts pc
52
53bad1:
54 movf (sp)+,fr1
55bad:
56 sec
57 rts pc
58
59one = 40200
60half = 40000