xref: /csrg-svn/lib/libc/hp300/gen/modf.s (revision 41797)
1*41797Sbostic/*-
2*41797Sbostic * Copyright (c) 1990 The Regents of the University of California.
3*41797Sbostic * All rights reserved.
4*41797Sbostic *
5*41797Sbostic * This code is derived from software contributed to Berkeley by
6*41797Sbostic * the Systems Programming Group of the University of Utah Computer
7*41797Sbostic * Science Department.
8*41797Sbostic *
9*41797Sbostic * %sccs.include.redist.c%
10*41797Sbostic */
11*41797Sbostic
12*41797Sbostic#if defined(LIBC_SCCS) && !defined(lint)
13*41797Sbostic	.asciz "@(#)modf.s	5.1 (Berkeley) 05/12/90"
14*41797Sbostic#endif /* LIBC_SCCS and not lint */
15*41797Sbostic
16*41797Sbostic#include "DEFS.h"
17*41797Sbostic
18*41797Sbostic/*
19*41797Sbostic * double modf(val, iptr)
20*41797Sbostic * returns: xxx and n (in *iptr) where val == n.xxx
21*41797Sbostic */
22*41797SbosticENTRY(modf)
23*41797Sbostic	fmoved	sp@(4),fp0
24*41797Sbostic	movel	sp@(12),a0
25*41797Sbostic	fintrzx	fp0,fp1
26*41797Sbostic	fmoved	fp1,a0@
27*41797Sbostic	fsubx	fp1,fp0
28*41797Sbostic	fmoved	fp0,sp@-
29*41797Sbostic	movel	sp@+,d0
30*41797Sbostic	movel	sp@+,d1
31*41797Sbostic	rts
32