source: trunk/minix/lib/ack/float/cif8.s@ 20

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

Minix 3.1.2a

File size: 812 bytes
Line 
1.sect .text; .sect .rom; .sect .data; .sect .bss
2.extern .cif8
3.sect .text
4.cif8:
5push ebp
6mov ebp,esp
7sub esp,20
8push esi
9push edi
10lea edi,8(ebp)
11lea eax,-12(ebp)
12push eax
13call .zrf_ext
14pop ecx
15cmp 8(ebp),4
16jne I1_4
17o16 mov -10(ebp),31
18mov esi,12(ebp)
19jmp I1_5
20I1_4:
21lea edx,12(ebp)
22mov -20(ebp),edx
23movsx eax,(edx)
24mov esi,eax
25o16 mov -10(ebp),15
26I1_5:
27test esi,esi
28jne I1_7
29push edi
30call .zrf8
31pop ecx
32jmp I1_1
33I1_7:
34test esi,esi
35jns I1_10
36mov eax,32768
37jmp I1_11
38I1_10:
39xor eax,eax
40I1_11:
41o16 mov -12(ebp),eax
42test esi,esi
43jns I1_13
44mov edx,esi
45neg edx
46mov eax,edx
47jmp I1_14
48I1_13:
49mov eax,esi
50I1_14:
51mov -8(ebp),eax
52cmp 8(ebp),4
53je I1_16
54sal -8(ebp),16
55I1_16:
56lea eax,-12(ebp)
57push eax
58call .nrm_ext
59pop ecx
60push 8
61push edi
62lea eax,-12(ebp)
63push eax
64call .compact
65add esp,12
66I1_1:
67pop edi
68pop esi
69leave
70ret
Note: See TracBrowser for help on using the repository browser.