Motorola DSP96002 User Manual page 711

32-bit digital signal processor
Table of Contents

Advertisement

dp_move
move
move
move
move
move
move
move
move
rts
;
; MOTOROLA DSP96002 DPLIB - VERSION 1.0
;
; DP_MPY - Multiply two double precision numbers.
;
; Entry point:
;
;
;
;
;
;
;
c a
;
x y
;
; Inputs:
r0 contains the lowest address of a 4-word internal
;
;
r1 contains the lowest address of a 4-word internal
;
;
; Outputs:
r0 contains the lowest address of a 4-word internal
;
;
; Alters:
D0.L,D1.L,D2.L,D3.L,D4.L,D5.L,D6.L,D7.L,D0.M
;
dp_mpy
clr
move
mpyu
mpyu
move
add
addc
mpyu
move
add
addc
jeq
inc
jmi
lsl
rol
_nonorm
add
sub
move
B-192
x:(r1),d0.l
d0.l,x:(r0)
x:(r1+sign),d0.l ;move sign
d0.l,x:(r0+sign)
x:(r1+ms),d0.l
d0.l,x:(r0+ms)
x:(r1+ls),d0.l
d0.l,x:(r0+ls)
dp_mpy:
c(r0)
c d
*
a b
d b
c b
d a
extended precision number
extended precision number
extended precision number
d4
x:(r1+ms),d2.l
x:(r2+ms),d3.l
d2,d3,d0
x:(r2+ls),d5.l
d5,d2,d2
d0.m,d1.l
d2.m,d2.l
d2,d0
x:(r1+ls),d2.l
d4,d1
x:(r2),d5.l
d2,d3,d2
x:(r2+sign),d7.l
d2.m,d2.l
d2,d0
x:(r1),d6.l
d4,d1
#bias,d4.l
uflow
d5
ifmi
_nonorm
d0
d1
d5,d6
d1.l,x:(r0+ms)
d4,d6
d0.l,x:(r0+ls)
x:(r1+sign),d1.l
DSP96002 USER'S MANUAL
;move exponent
;move ms
;move ls
c(r1) * c(r2)
;get c
;get a
;c*a, get b
;c*b, move high
;add to low, get d
;get exponent
;d*a
;add to low
;get bias
;if *0, set 0 result
;if normed
;if not normed
;if not normed
;do exponents
;1 bias
MOTOROLA

Advertisement

Table of Contents
loading

Table of Contents