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