Subversion Repositories shark

Rev

Rev 1618 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 pj 1
/*
2
 * Copyright (c) 1993,94 Winning Strategies, Inc.
3
 * All rights reserved.
4
 *
5
 * Redistribution and use in source and binary forms, with or without
6
 * modification, are permitted provided that the following conditions
7
 * are met:
8
 * 1. Redistributions of source code must retain the above copyright
9
 *    notice, this list of conditions and the following disclaimer.
10
 * 2. Redistributions in binary form must reproduce the above copyright
11
 *    notice, this list of conditions and the following disclaimer in the
12
 *    documentation and/or other materials provided with the distribution.
13
 * 3. All advertising materials mentioning features or use of this software
14
 *    must display the following acknowledgement:
15
 *      This product includes software developed by Winning Strategies, Inc.
16
 * 4. The name of the author may not be used to endorse or promote products
17
 *    derived from this software without specific prior written permission.
18
 *
19
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
23
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
24
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
 */
30
 
31
/*
32
 * Written by:
33
 *	J.T. Conklin (jtc@wimsey.com), Winning Strategies, Inc.
34
 */
35
 
36
#include <machine/asmacros.h>
37
 
38
RCSID("$\Id: s_floor.S,v 1.2.6.1 1996/12/15 15:23:17 bde Exp $")
39
 
40
ENTRY(floor)
41
	pushl	%ebp
42
	movl	%esp,%ebp
43
	subl	$8,%esp
44
 
45
	fstcw	-4(%ebp)		/* store fpu control word */
46
	movw	-4(%ebp),%dx
47
	orw	$0x0400,%dx		/* round towards -oo */
48
	andw	$0xf7ff,%dx
49
	movw	%dx,-8(%ebp)
50
	fldcw	-8(%ebp)		/* load modfied control word */
51
 
52
	fldl	8(%ebp);		/* round */
53
	frndint
54
 
55
	fldcw	-4(%ebp)		/* restore original control word */
56
 
57
	leave
58
	ret