Osztás_48bit_24bit
;**************************************************************************
;Div4824U
;Inputs:
;	Dividend - Dividend:6	(0 - least significant!)	osztandó
;	Divisor	 - Test:3	(0 - least significant!)		osztó
;Temporary:
;	Counter	 - Count									regiszter2
;	Shift	 - Shift:6									regiszter1
;Output:
;	Quotient - Dividend:6	(0 - least significant!)	eredmény
;	Remainder- Rem:3	(0 - least significant!)		maradék
;
;Adaptation of 24x24 division by Tony Nixon with corrections
;by Frank Finster 3/15/2005.
;Code adapted by Andy Lee
;01-Sep-2006    Original version
;**************************************************************************

Div4824U:
;---------------------------------------------------
; SUBROUTINE - 48 by 24 BIT DIVISION
	movlw	48
	movwf	regiszter2
	movff	osztandó_eredmény+0, regiszter1+0
	movff	osztandó_eredmény+1, regiszter1+1
	movff	osztandó_eredmény+2, regiszter1+2
	movff	osztandó_eredmény+3, regiszter1+3
	movff	osztandó_eredmény+4, regiszter1+4
	movff	osztandó_eredmény+5, regiszter1+5
	clrf	osztandó_eredmény+0
	clrf	osztandó_eredmény+1
	clrf	osztandó_eredmény+2
	clrf	osztandó_eredmény+3
	clrf	osztandó_eredmény+4
	clrf	osztandó_eredmény+5

	clrf	maradék+2
	clrf	maradék+1
	clrf	maradék+0
dloop
	bcf		STATUS, C
	rlcf	regiszter1+0
	rlcf	regiszter1+1
	rlcf	regiszter1+2
	rlcf	regiszter1+3
	rlcf	regiszter1+4
	rlcf	regiszter1+5
	rlcf	maradék+0
	rlcf	maradék+1
	rlcf	maradék+2
	movf	osztó+2, w
	subwf	maradék+2, w
	btfss	STATUS, Z
		bra		nochk

	movf	osztó+1,w
	subwf	maradék+1,w
	btfss	STATUS, Z
		bra		nochk

	movf	osztó+0,w
	subwf	maradék+0,w
nochk
	btfss	STATUS, C
		bra		nogo

	movf	osztó+0,w
	subwf	maradék+0
	btfsc	STATUS, C
		bra		nodec_remainM
	decf	maradék+1, f
	movf	maradék+1, w
	xorlw	0xff
	btfsc	STATUS, Z
		decf	maradék+2, f
nodec_remainM
	movf	osztó+1, w
	subwf	maradék+1, f
	btfss	STATUS, C
		decf	maradék+2, f
	movf	osztó+2, w
	subwf	maradék+2, f
	bsf		STATUS, C
nogo
	rlcf	osztandó_eredmény+0
	rlcf	osztandó_eredmény+1
	rlcf	osztandó_eredmény+2
	rlcf	osztandó_eredmény+3
	rlcf	osztandó_eredmény+4
	rlcf	osztandó_eredmény+5
	decfsz	regiszter2, f
		goto	dloop
RETURN