PIC Microcontoller Math Method

Divide 24 bit int by 16 bit int to 24 bit int

from by Nikolai Golovchenko

FXD2416U:
	clr	REMB0
	clr	REMB1
	mov	W, #24
	mov	LOOPCOUNT, W
LOOPU2416
	mov	W, <<ACCB0	;left shift of accb0's msb to reminder
	rl	REMB1
	rl	REMB0
	mov	W, BARGB1	;REMB -= BARGB
	sub	REMB1, W
	mov	W, BARGB0
	sb	C
	movsz	W, ++BARGB0
	sub	REMB0, W

	snb	C
	jmp	UOK46LL	;if no borrow

	mov	W, BARGB1	;REMB += BARGB
	add	REMB1, W
	mov	W, BARGB0
	snb	C
	movsz	W, ++BARGB0
	add	REMB0, W

	clrb	C
UOK46LL
	rl	AARGB2
	rl	AARGB1
	rl	AARGB0
	decsz	LOOPCOUNT
	jmp	LOOPU2416

	ret