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