dsp56800e Freescale Semiconductor, Inc, dsp56800e Datasheet - Page 181

no-image

dsp56800e

Manufacturer Part Number
dsp56800e
Description
16-bit Digital Signal Controller Core
Manufacturer
Freescale Semiconductor, Inc
Datasheet
D2:D1:D0:C1:C0 = A1:A0 × B1:B0
(Both 32-Bit Operands Are Signed)
;Signed x Signed 32-Bit Integer Multiplication with 64-Bit Result
5.5.3.4
In addition to the examples in Section 5.5.3.1, “Signed 32-Bit × Signed 32-Bit with 32-Bit Result,”
through Section 5.5.3.3, “Signed 32-Bit × Signed 32-Bit with 64-Bit Result,” the multi-precision integer
multiplication instructions can be applied in other cases, such as the case of a signed 32-bit times an
unsigned 32-bit. The case of a signed 16-bit times a signed 32-bit with a 32-bit result is shown in
Example 5-26 on page 5-36.
Freescale Semiconductor
IMPYUU
LSR16
IMPYSU
ADD
ASL16
IMACUS
ADD
ASL16
MOVE.W
ASR16
IMAC.L
Other Applications of Multi-Precision Integer Multiplication
+
Figure 5-24. 32-Bit × 32-Bit –> 64-Bit Signed Integer Multiplication
C2
Example 5-25. Multiplying Two Signed Long Integers
A0,B0,D
D,C
A1,B0,Y
Y,C
X0,Y
A0,B1,Y
Y,C
C0,Y1
Y1,D1
C,C
A,B,C
Signed × Signed
C1
A0 × B1
Data Arithmetic Logic Unit
; D2:D1:D0 = unsigned A0 x unsigned B0
; Align upper word of first product in C
; Y1:Y0 = signed A1 x unsigned B0
;
; Clears the 32-bit Y register
; Y1:Y0 = unsigned A0 x signed B1 + Y1:Y0
;
; Copy next 16 bits of result to D1
;
; C2:C1:C0 now contain upper result
Signed × Unsigned
Unsigned × Signed
C0
×
A1 × B0
A0 × B1
64 Bits
Extended- and Multi-Precision Operations
Unsigned × Unsigned
A1
B1
D1
A0 × B0
32 Bits
32 Bits
D0
A0
B0
5-35

Related parts for dsp56800e