PIC Microcontroller Math Method

8 Bit Square Root

;**********************************************************************
;by Nikolai Golovchenko
;8 bit SQARE ROOT
;ACCB0 input/output
;TEMPB0, TEMPB1 used for temporary storage
;66 cycles execution time
;20 words of program memory
;3 bytes of RAM
;**********************************************************************
Sqrt8
	movlw 0x40
	movwf TEMPB1
	clrf TEMPB0
sqrt8a
	movf TEMPB1, w
	iorwf TEMPB0, w
	subwf ACCB0, w
	btfsc _C
	 movwf ACCB0
	rrf TEMPB0, f
	movf TEMPB1, w
	btfsc TEMPB0, 7
	 iorwf TEMPB0, f
	bcf TEMPB0, 7
	rrf TEMPB1, f
	rrf TEMPB1, f
	btfss TEMPB1, 7
	 goto sqrt8a
	movf TEMPB0, w
	movwf ACCB0
	return
;**********************************************************************
;Last updated 15Nov99