source: trunk/minix/lib/ack/float/cfu.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: 753 bytes
Line 
1.sect .text; .sect .rom; .sect .data; .sect .bss
2.extern .cfu
3.sect .text
4.cfu:
5push ebp
6mov ebp,esp
7sub esp,20
8push esi
9push 12(ebp)
10lea eax,-12(ebp)
11push eax
12lea eax,16(ebp)
13push eax
14call .extend
15add esp,12
16movsx eax,-10(ebp)
17test eax,eax
18jns I1_4
19xor eax,eax
20cmp 12(ebp),8
21jne 1f
22inc eax
231:
24mov 16(ebp)(eax*4),0
25xor eax,eax
26jmp I1_1
27I1_4:
28mov edx,8(ebp)
29sal edx,3
30dec edx
31o16 mov -20(ebp),edx
32movsx eax,-10(ebp)
33movsx ebx,-20(ebp)
34cmp eax,ebx
35jle I1_7
36push 3
37call __fptrp
38pop ecx
39movsx eax,-10(ebp)
40movsx ebx,-20(ebp)
41cdq
42idiv ebx
43o16 mov -10(ebp),edx
44I1_7:
45movsx eax,-10(ebp)
46sub eax,31
47neg eax
48mov ecx,eax
49mov edx,-8(ebp)
50shr edx,cl
51mov esi,edx
52xor eax,eax
53cmp 12(ebp),8
54jne 1f
55inc eax
561:
57mov 16(ebp)(eax*4),esi
58mov eax,esi
59I1_1:
60pop esi
61leave
62ret
Note: See TracBrowser for help on using the repository browser.