source: trunk/minix/lib/ack/float/nrm_ext.s@ 22

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

Minix 3.1.2a

File size: 633 bytes
Line 
1.sect .text; .sect .rom; .sect .data; .sect .bss
2.extern .nrm_ext
3.sect .text
4.nrm_ext:
5push ebp
6mov ebp,esp
7sub esp,4
8push esi
9push edi
10mov esi,8(ebp)
11mov edx,8(esi)
12or edx,4(esi)
13je I1_1
14cmp 4(esi),0
15jne I1_7
16mov edx,8(esi)
17mov 4(esi),edx
18mov 8(esi),0
19movsx eax,2(esi)
20sub eax,32
21movsx eax,eax
22o16 mov 2(esi),eax
23I1_7:
24test 4(esi),-2147483648
25jne I1_1
26mov -4(ebp),1073741824
27mov edi,-1
28I1_13:
29mov edx,-4(ebp)
30test 4(esi),edx
31jne I1_12
32shr -4(ebp),1
33dec edi
34jmp I1_13
35I1_12:
36movsx eax,2(esi)
37add eax,edi
38movsx eax,eax
39o16 mov 2(esi),eax
40push edi
41lea eax,4(esi)
42push eax
43call .b64_sft
44pop ecx
45pop ecx
46I1_1:
47pop edi
48pop esi
49leave
50ret
Note: See TracBrowser for help on using the repository browser.