4.4BSD/usr/src/sys/tahoe/tahoe/udiv.s

Compare this file to the similar file:
Show the results in this format:

/*
 *	@(#)udiv.s	7.2 (Berkeley) 12/16/90
 */

#include "tahoe/tahoe/SYS.h"

/*
 * result = udiv(dividend, divisor)
 *
 * unsigned long division
 */
	.text
ASENTRY(udiv, R2|R3)
	bitl	$0x80000000,8(fp)	# if (divisor & 0x80000000) {
	jeql	2f			  
	cmpl	8(fp),4(fp)		# if (divisor > dividend)
	jlequ	1f
	clrl	r0			#	return (0);
	ret
1:					# else
	movl	$1,r0			#  	return (1);
	ret				# }
2:
	clrl	r0			# return (dividend / divisor);
	movl	4(fp),r1
	ediv	8(fp),r0,r2,r3
	movl	r2,r0
	ret