|
|
1.1 root 1: /* file : Kfrexpf.x
2: */
3: .data
4: .text
5: LL0: .align 1
6: .globl _Kfrexpf
7: .data
8: .align 2
9: L18: .long 0x40800000, 0x00000000 # .double 1
10: .text
11: .data
12: .align 2
13: L21: .long 0x40800000, 0x00000000 # .double 1
14: .text
15: .data
16: .align 2
17: L22: .long 0x41000000, 0x00000000 # .double 2
18: .text
19: .data
20: .align 2
21: L25: .long 0x40000000, 0x00000000 # .double .5
22: .text
23: .data
24: .align 2
25: L28: .long 0x40000000, 0x00000000 # .double .5
26: .text
27: .data
28: .align 2
29: L29: .long 0x41000000, 0x00000000 # .double 2
30: .text
31: .set L12,0x0
32: .data
33: .text
34: _Kfrexpf:.word L12
35: subl3 $60,fp,sp
36: clrl -60(fp) # j=0;
37: clrl -56(fp) # neg=0;
38: tstl 4(fp) # if(x<0){
39: jgeq L16
40: lnd 4(fp)
41: std 4(fp) # x = -x;
42: movl $1,-56(fp) # neg=1;}
43: L16: cmpd2 4(fp),L18 # if (x>1){
44: jleq L17
45: L19: cmpd2 4(fp),L21 # while(x>1){
46: jleq L23
47: addl2 $1,-60(fp) # j=j+1;
48: pushl 16(fp) # hfs
49: ldd L22
50: pushd
51: ldd 4(fp)
52: pushd
53: callf $24,_Kdivd
54: ldd r0
55: std 4(fp) # x= x/2;
56: jbr L19
57: L17: cmpd2 4(fp),L25 # if(x<0.5){
58: jlss L26
59: jbr L23
60: L2000001:
61: subl2 $1,-60(fp) # j = j-1;
62: pushl 16(fp) # hfs
63: ldd 4(fp)
64: pushd
65: ldd L29
66: pushd
67: callf $24,_Kmuld
68: ldd r0
69: std 4(fp) # x = 2*x;
70: L26: cmpd2 4(fp),L28 # while (x<0.5){
71: jlss L2000001
72: L23: movl -60(fp),*12(fp) # *i=j;
73: tstl -56(fp) # if (neg)
74: jeql L30
75: lnd 4(fp)
76: std 4(fp)
77: L30: ldd 4(fp)
78: cvdf
79: stf r0
80: ret
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.