Motorola DSP96002 User Manual
Page 644

MOTOROLA
DSP96002 USER’S MANUAL
B-125
 fadd.x d2,d1 ;y’=y+x*tan
 fscale.x #-1,d6 ;alp=alp/2
_cordic
 fcopys.s d3,d0 ;fix sign of cosine
 end
  Program ICycles
 Words
Argument Reduction 10 10
Quadrantizing 8 8
CORDIC Algorithm 16 8N+9
 ---- -------
  Totals: 34 8N+27
B.1.53
Four Quadrant Trigonometric TANGENT (CORDIC Algorithm)
 page 132,60,1,1
 opt mex,cex
tabsize equ 16
 org x:0
scale set 1.0
tantab
tanarg set 45.0*3.14159/180.0
 dup tabsize
scale set scale*@cos(tanarg)
 dc @tan(tanarg)
tanarg set tanarg/2.0
 endm
org p:$100
;
; Do argument reduction, input in d6 in degrees
;
 move #-180.0,d7.s ;get range min
 fadd.x d7,d6 #1.0/360.0,d5.s ;adjust to min, get range
 fmpy.x d5,d6,d6 ;reduce range
 floor d6,d5 ;get int part
 fsub.x d5,d6 #360.0,d5.s ;get frac part, spread
 fmpy.x d5,d6,d6 ;spread fraction part to range
 fadd.x d7,d6 ;adjust to min
;
