source: trunk/minix/lib/ack/float/fif4.s@ 15

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

Minix 3.1.2a

File size: 1.3 KB
Line 
1.sect .text; .sect .rom; .sect .data; .sect .bss
2.extern .fif4
3.sect .text
4.fif4:
5push ebp
6mov ebp,esp
7sub esp,24
8push esi
9mov esi,8(ebp)
10push 4
11lea eax,-12(ebp)
12push eax
13lea eax,16(ebp)
14push eax
15call .extend
16add esp,12
17push 4
18lea eax,-24(ebp)
19push eax
20lea eax,12(ebp)
21push eax
22call .extend
23add esp,12
24lea eax,-24(ebp)
25push eax
26lea eax,-12(ebp)
27push eax
28call .mul_ext
29pop ecx
30pop ecx
31lea eax,-12(ebp)
32push eax
33lea eax,-24(ebp)
34push eax
35mov ecx,3
36call .blm
37push 4
38lea eax,16(ebp)
39push eax
40lea eax,-24(ebp)
41push eax
42call .compact
43add esp,12
44movsx eax,-10(ebp)
45test eax,eax
46jns I1_4
47mov (esi),0
48mov edx,16(ebp)
49mov 4(esi),edx
50jmp I1_1
51I1_4:
52movsx eax,-10(ebp)
53cmp eax,22
54jle I1_7
55mov edx,16(ebp)
56mov (esi),edx
57mov 4(esi),0
58jmp I1_1
59I1_7:
60movsx eax,-10(ebp)
61sub eax,63
62neg eax
63push eax
64lea eax,-8(ebp)
65push eax
66call .b64_sft
67pop ecx
68pop ecx
69movsx eax,-10(ebp)
70sub eax,63
71push eax
72lea eax,-8(ebp)
73push eax
74call .b64_sft
75pop ecx
76pop ecx
77push 4
78push esi
79lea eax,-12(ebp)
80push eax
81call .compact
82add esp,12
83push 4
84lea eax,-24(ebp)
85push eax
86push esi
87call .extend
88add esp,12
89push 4
90lea eax,-12(ebp)
91push eax
92lea eax,16(ebp)
93push eax
94call .extend
95add esp,12
96lea eax,-24(ebp)
97push eax
98lea eax,-12(ebp)
99push eax
100call .sub_ext
101pop ecx
102pop ecx
103push 4
104lea eax,4(esi)
105push eax
106lea eax,-12(ebp)
107push eax
108call .compact
109add esp,12
110I1_1:
111pop esi
112leave
113ret
Note: See TracBrowser for help on using the repository browser.