Small Fast 8 Bit Square Root
;**********************************************************************
;SMALL 8 BIT SQUARE ROOT
;
;Author: Nikolai Golovchenko <golovchenko at mail.ru>
;Idea: Scott Dattalo <www.dattalo.com>
;"Hint: n^2 = sum of the first n odd integers.(e.g 9 = 3*3 = 1 + 3 + 5)"
;Date: February 16, 2000
;
;Input and output in ACCB0
;ROM - 9
;RAM - 1
;Timing - 12..87 cycles including call and return
;**********************************************************************
Sqrt8s
movlw -1
Sqrt8s1
addlw 2
subwf ACCB0, f
skpnc
goto Sqrt8s1
movwf ACCB0
; decf ACCB0, f
;Dmitry Kiryashov says: Since W is always holding odd value this decf
; isn't required I guess. ... W is always 1,3,5,7,9,.. right?
;and Scott Dattalo aggrees.
rrf ACCB0, f
return
;**********************************************************************