source: trunk/minix/lib/ack/float/cmf8.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: 950 bytes
Line 
1.sect .text; .sect .rom; .sect .data; .sect .bss
2.extern .cmf8
3.sect .text
4.cmf8:
5push ebp
6mov ebp,esp
7sub esp,28
8push esi
9push edi
10mov edi,12(ebp)
11mov esi,20(ebp)
12test edi,edi
13jns I1_4
14mov eax,-1
15jmp I1_5
16I1_4:
17mov eax,1
18I1_5:
19mov -12(ebp),eax
20test esi,esi
21jns I1_7
22mov eax,-1
23jmp I1_8
24I1_7:
25mov eax,1
26I1_8:
27mov -16(ebp),eax
28cmp -12(ebp),eax
29je I1_10
30and edi,2147483647
31and esi,2147483647
32test edi,edi
33jne I1_12
34test esi,esi
35je I1_10
36I1_12:
37! kill cc
38cmp -12(ebp),0
39jle I1_17
40mov eax,-1
41jmp I1_1
42I1_17:
43mov eax,1
44jmp I1_1
45I1_10:
46cmp edi,esi
47je I1_20
48cmp edi,esi
49jge I1_23
50mov eax,1
51jmp I1_24
52I1_23:
53mov eax,-1
54I1_24:
55mov -20(ebp),eax
56jmp I1_21
57I1_20:
58mov edx,8(ebp)
59mov -24(ebp),edx
60mov edx,16(ebp)
61mov -28(ebp),edx
62cmp -24(ebp),edx
63jne I1_26
64xor eax,eax
65jmp I1_1
66I1_26:
67mov edx,-28(ebp)
68cmp -24(ebp),edx
69jae I1_29
70mov -20(ebp),1
71jmp I1_21
72I1_29:
73mov -20(ebp),-1
74I1_21:
75mov edx,-12(ebp)
76imul edx,-20(ebp)
77mov eax,edx
78I1_1:
79pop edi
80pop esi
81leave
82ret
Note: See TracBrowser for help on using the repository browser.