xref: /csrg-svn/lib/libc/tahoe/gen/udiv.s (revision 29702)
1#ifdef LIBC_SCCS
2	.asciz	"@(#)udiv.s	1.1 (Berkeley/CCI) 08/01/86"
3#endif LIBC_SCCS
4
5/*
6 * Unsigned divide.
7 *
8 * udiv(dividend, divisor)
9 */
10#include "DEFS.h"
11
12ASENTRY(udiv, 0)
13	bitl	$0x80000000,8(fp)	#  if (divisor & 0x80000000){
14	jeql	1f
15	cmpl	8(fp),4(fp)		#  if (divisor > dividend )
16	jlequ	2f
17	clrl	r0			#      return(0);
18	ret
192:					#  else
20	movl	$1,r0			#      return(1);}
21	ret
221:
23	clrl	r0			#  return(dividend/divisor);
24	movl	4(fp),r1
25	ediv	8(fp),r0,r2,r3
26	movl	r2,r0
27	ret
28