1/* 2 * Written by J.T. Conklin <jtc@netbsd.org>. 3 * Public domain. 4 */ 5 6#include <machine/asm.h> 7 8RCSID("$NetBSD: s_floor.S,v 1.4 1995/05/09 00:01:59 jtc Exp $") 9 10ENTRY(floor) 11 subl $8,%esp 12 13 fstcw 4(%esp) /* store fpu control word */ 14 movw 4(%esp),%dx 15 orw $0x0400,%dx /* round towards -oo */ 16 andw $0xf7ff,%dx 17 movw %dx,(%esp) 18 fldcw (%esp) /* load modfied control word */ 19 20 fldl 12(%esp); /* round */ 21 frndint 22 23 fldcw 4(%esp) /* restore original control word */ 24 25 addl $8,%esp 26 ret 27