Divide clrf R0 clrf R1 clrf R2 movlw d'32' ; 32 loops for 32-bit movwf lptmp Div_2 bcf STATUS, C rlcf Word0, f, 0 rlcf Word1, f, 0 rlcf Word2, f, 0 rlcf Word3, f, 0 rlcf R2, f, 0 rlcf R1, f, 0 rlcf R0, f, 0 movf DenL, w, 0 subwf R2, f, 0 movf DenH, w, 0 subwfb R1, w, 0 bc Div_4 tstfsz R0, 0 goto Div_3 movf DenL, w, 0 addwf R2, f, 0 goto Div_5 Div_3 decf R0, f, 0 Div_4 movwf R1, 0 bsf Word0, 0, 0 Div_5 decfsz lptmp, f, 0 goto Div_2 ; Go do next loop return ; Finished our divide routine