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