PIC Microcontroller Math Method

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
;**********************************************************************