source: trunk/minix/lib/ack/float/extend.s@ 12

Last change on this file since 12 was 9, checked in by Mattia Monga, 14 years ago

Minix 3.1.2a

File size: 1.6 KB
RevLine 
[9]1.sect .text; .sect .rom; .sect .data; .sect .bss
2.extern .extend
3.sect .text
4.extend:
5push ebp
6mov ebp,esp
7sub esp,12
8push esi
9push edi
10mov esi,12(ebp)
11mov -12(ebp),0
12mov edi,8(ebp)
13push edi
14cmp 16(ebp),8
15jne I1_4
16mov eax,6
17jmp I1_5
18I1_4:
19mov eax,2
20I1_5:
21pop edx
22add edx,eax
23movsx eax,(edx)
24o16 mov 2(esi),eax
25movsx ebx,2(esi)
26and ebx,32768
27o16 mov (esi),ebx
28movsx eax,(esi)
29movsx ecx,2(esi)
30xor ecx,eax
31mov eax,ecx
32movsx eax,eax
33o16 mov 2(esi),eax
34cmp 16(ebp),8
35jne I1_7
36movsx ebx,2(esi)
37sar ebx,4
38mov eax,ebx
39movsx eax,eax
40o16 mov 2(esi),eax
41jmp I1_8
42I1_7:
43movsx eax,2(esi)
44sar eax,7
45movsx eax,eax
46o16 mov 2(esi),eax
47I1_8:
48movsx eax,2(esi)
49! kill cc
50test eax,eax
51jle I1_10
52inc -12(ebp)
53jmp I1_11
54I1_10:
55movsx eax,2(esi)
56inc eax
57movsx eax,eax
58o16 mov 2(esi),eax
59I1_11:
60cmp 16(ebp),8
61jne I1_13
62mov edx,(edi)
63mov -8(ebp),edx
64add edi,4
65mov edx,(edi)
66mov 4(esi),edx
67movsx eax,2(esi)
68cmp eax,1
69jne I1_16
70cmp 4(esi),0
71jne I1_16
72cmp -8(ebp),0
73jne I1_16
74o16 mov 2(esi),0
75o16 mov (esi),0
76mov 4(esi),0
77mov 8(esi),0
78jmp I1_1
79I1_16:
80mov edx,4(esi)
81sal edx,11
82mov 4(esi),edx
83movsx eax,2(esi)
84sub eax,1023
85movsx eax,eax
86o16 mov 2(esi),eax
87mov edx,-8(ebp)
88shr edx,21
89or 4(esi),edx
90mov edx,-8(ebp)
91sal edx,11
92mov 8(esi),edx
93jmp I1_14
94I1_13:
95mov edx,(edi)
96mov 4(esi),edx
97sal edx,8
98mov 4(esi),edx
99movsx eax,2(esi)
100cmp eax,1
101jne I1_21
102cmp 4(esi),0
103jne I1_21
104o16 mov 2(esi),0
105o16 mov (esi),0
106mov 4(esi),0
107mov 8(esi),0
108jmp I1_1
109I1_21:
110movsx eax,2(esi)
111sub eax,127
112movsx eax,eax
113o16 mov 2(esi),eax
114mov 8(esi),0
115I1_14:
116or 4(esi),-2147483648
117cmp -12(ebp),0
118jne I1_1
119and 4(esi),2147483647
120push esi
121call .nrm_ext
122pop ecx
123I1_1:
124pop edi
125pop esi
126leave
127ret
Note: See TracBrowser for help on using the repository browser.