Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

/*	$NetBSD: div64.S,v 1.1 1999/12/09 09:08:00 itohy Exp $	*/

#include <m68k/asm.h>

/*
 * stack:
 * + 8: count
 * + 4: retads
 * + 0: d2
 */

ENTRY_NOPROFILE(div64ureg)
	movl	%d2,%sp@-
	movl	%sp@(8),%d2
L1:
	divul	%d2,%d1:%d0
	subql	#1,%d2
	jne	L1
	movl	%sp@+,%d2
	rts

ENTRY_NOPROFILE(div64sreg)
	movl	%d2,%sp@-
	movl	%sp@(8),%d2
L2:
	divsl	%d2,%d1:%d0
	subql	#1,%d2
	jne	L2
	movl	%sp@+,%d2
	rts

ENTRY_NOPROFILE(div64umem)
	movl	%d2,%sp@-
	movl	%sp@(8),%d2
L3:
	divul	%sp@(8),%d1:%d0
	subql	#1,%d2
	jne	L3
	movl	%sp@+,%d2
	rts

ENTRY_NOPROFILE(div64smem)
	movl	%d2,%sp@-
	movl	%sp@(8),%d2
L4:
	divsl	%sp@(8),%d1:%d0
	subql	#1,%d2
	jne	L4
	movl	%sp@+,%d2
	rts