;*******************************************************************
;	Divide unsigned 32 by unsigned 16
;*******************************************************************
;
;	u32/u16 ---> u32...u16
;
;
; <IN>		wkdividend_L,2
;		wkdividend_H,2
;		Y .... wkdivisor,2
; <OUT>		wkdividend_L,2
;		wkdividend_H,2
;		A ..... Residue
;
; dead 		Y
;
;-------------------------------------------------------------------
kz_wkdividend_L	equ	kz_textpt
kz_wkdividend_H	equ	kz_textpt+2
kz_wkdivisor		equ	kz_tempaddrl
;-------------------------------------------------------------------
Divide_u32u16				;mW:xW
	STY	kz_wkdivisor		;W
	LDY	#32			;W
	ROL	kz_wkdividend_L		;W
	ROL	kz_wkdividend_H		;W
	LDA	#0			;W
.u32u16_loop	ROL	A			;W
	CMP	kz_wkdivisor		;W
	BCC	.u32u16_skip
	SBC	kz_wkdivisor		;W
.u32u16_skip	ROL	kz_wkdividend_L		;W
	ROL	kz_wkdividend_H		;W
	DEY				;W
	BNE	.u32u16_loop
	RTS				;mW:xW
;-------------------------------------------------------------------

