|
|
1.1 root 1: /* Kfrexpd.s 1.3 86/01/05 */
2:
3: #include "../tahoe/SYS.h"
4:
5: .text
6: ENTRY(Kfrexpd, 0)
7: subl3 $60,fp,sp
8: clrl -60(fp)
9: clrl -56(fp)
10: tstl 4(fp)
11: jgeq 1f
12: lnd 4(fp)
13: std 4(fp)
14: movl $1,-56(fp)
15: 1:
16: cmpd2 4(fp),one
17: jleq 1f
18: 2:
19: cmpd2 4(fp),one
20: jleq 3f
21: addl2 $1,-60(fp)
22: pushl 16(fp) # hfs
23: pushl two+4 # ldd 2.0
24: pushl two
25: pushl 8(fp)
26: pushl 4(fp) # acc
27: callf $24,_Kdivd
28: ldd r0
29: std 4(fp)
30: jbr 2b
31: 1: cmpd2 4(fp),half
32: jlss 2f
33: jbr 3f
34: 0:
35: subl2 $1,-60(fp)
36: pushl 16(fp) # hfs
37: ldd two; pushd # 2.0
38: ldd 4(fp); pushd # acc
39: callf $24,_Kmuld
40: ldd r0
41: std 4(fp)
42: 2:
43: cmpd2 4(fp),half
44: jlss 0b
45: 3: movl -60(fp),*12(fp)
46: tstl -56(fp)
47: jeql 1f
48: lnd 4(fp)
49: std 4(fp)
50: 1:
51: movl 8(fp),r1
52: movl 4(fp),r0
53: ret
54: .data
55: .align 2
56: one: .long 0x40800000, 0x00000000 # .double 1
57: two: .long 0x41000000, 0x00000000 # .double 2
58: half: .long 0x40000000, 0x00000000 # .double 0.5
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.