Stereo System User Manual

B-58 DSP96002 USER’S MANUAL MOTOROLA
Signed 32 Bit Integer Program ICycles
Division of d0 = d5/d2 Words
eor d2,d5 d5.l,d0.l ;determine final sign 1 1
abs d2 d0.l,d3.l ;make divisor positive 1 1
abs d0 ;make dividend positive 1 1
do #32,dloop ;32 quotient bits 2 3
rol d0 ;dividend bit out, q bit in 1 1
rol d1 ;put in temp 1 1
cmp d2,d1 ;check for q bit 1 1
sub d2,d1 ifcc ;update if less 1 1
dloop
rol d0 ;last q bit 1 1
not d0 ;complement q bits 1 1
tst d5 ;check sign of result 1 1
neg d0 iflt ;negate if needed 1 1
tst d3
neg dl iflt
--- ---
Totals: 13 138
The final remainder is destroyed in the generation of the quotient. This program may calculate only the
number of quotient bits required and has variable execution time.
Signed 32 Bit Integer
Division of d0 = d0/d1, d0 >= d1
abs d1 d1.l,d2.l
eor d0,d2
abs d0 d2.l,d1.m
cmp d1,d0 d0.l,d2.m
eor d0,d0 iflo
jlo divdone
bfind d0,d0 d3.l,d8.l
bfind d1,d2 d0.h,d0.l
movei #32,d3
move d2.h,d2.l
sub d0,d2 d2.m,d0.l
inc d2 d2.l,d2.h
sub d2,d3
lsl d2,d1 d3.l,d2.h
do d2.l,divloop_fast
cmp d1,d0
sub d1,d0 ifhs
rol d0