xref: /original-bsd/sys/tahoe/tahoe/udiv.s (revision f8013ff8)
1/*
2 *	@(#)udiv.s	7.2 (Berkeley) 12/16/90
3 */
4
5#include "tahoe/tahoe/SYS.h"
6
7/*
8 * result = udiv(dividend, divisor)
9 *
10 * unsigned long division
11 */
12	.text
13ASENTRY(udiv, R2|R3)
14	bitl	$0x80000000,8(fp)	# if (divisor & 0x80000000) {
15	jeql	2f
16	cmpl	8(fp),4(fp)		# if (divisor > dividend)
17	jlequ	1f
18	clrl	r0			#	return (0);
19	ret
201:					# else
21	movl	$1,r0			#  	return (1);
22	ret				# }
232:
24	clrl	r0			# return (dividend / divisor);
25	movl	4(fp),r1
26	ediv	8(fp),r0,r2,r3
27	movl	r2,r0
28	ret
29