;********************************************************************** ;FAST 8 BIT SQUARE ROOT ; ;Author: Nikolai Golovchenko <golovchenko@mail.ru> ;Date: February 15, 2000 ; ;Input and output in w ;ROM - 53 ;RAM - 0 ;Timing - 15..19 cycles including call and return ;********************************************************************** Sqrt8f addlw -64 ;1 skpnc goto sqrt8_15 ;3 addlw (64-16) skpnc goto sqrt4_7 ;6 addlw (16-4) skpnc goto sqrt2_3 ;9 addlw (4-1) skpnc retlw 1 ;1 (15) retlw 0 ;0 (16) sqrt2_3 addlw (4-9) skpnc retlw 3 ;3 (16) retlw 2 ;2 (17) sqrt4_7 addlw (16-36) skpnc goto sqrt6_7 ;10 addlw (36-25) skpnc retlw 5 ;5 (16) retlw 4 ;4 (17) sqrt6_7 addlw (36-49) skpnc retlw 7 ;7 (17) retlw 6 ;6 (18) sqrt8_15 addlw (64-144) skpnc goto sqrt12_15 ;7 addlw (144-100) skpnc goto sqrt10_11 ;10 addlw (100-81) skpnc retlw 9 ;9 (16) retlw 8 ;8 (17) sqrt10_11 addlw (100-121) skpnc retlw 11 ;11 (17) retlw 10 ;10 (18) sqrt12_15 addlw (144-196) skpnc goto sqrt14_15 ;11 addlw (196-169) skpnc retlw 13 ;13 (17) retlw 12 ;12 (18) sqrt14_15 addlw (196-225) skpnc retlw 15 ;15 (18) retlw 14 ;14 (19) ;**********************************************************************
See:
Questions: