dsp56800e Freescale Semiconductor, Inc, dsp56800e Datasheet - Page 180

no-image

dsp56800e

Manufacturer Part Number
dsp56800e
Description
16-bit Digital Signal Controller Core
Manufacturer
Freescale Semiconductor, Inc
Datasheet
Data Arithmetic Logic Unit
5.5.3.2
Figure 5-23 and Example 5-24 demonstrate an unsigned multiplication of two 32-bit long values that
generates a 32-bit long integer result.
C1:C0 = A1:A0 × B1:B0
(Both 32-Bit Operands Are Unsigned)
;Unsigned x Unsigned 32-Bit Integer Multiplication
This example, which saves only the lower 32 bits of the result, does not require the A1 × B1 product,
which only affects the upper 32 bits of the result. Also note that C2 in the final result is modified and does
not contain valid data.
5.5.3.3
Figure 5-24 on page 5-35 and Example 5-25 on page 5-35 demonstrate a signed multiplication of two
32-bit long values that generates a 64-bit full-precision integer result.
5-34
IMPYUU
IMACUU
IMPYUU
ADD
Unsigned 32-Bit × Unsigned 32-Bit with 32-Bit Result
Signed 32-Bit × Signed 32-Bit with 64-Bit Result
Figure 5-23. 32-Bit × 32-Bit –> 32-Bit Unsigned Integer Multiplication
Example 5-24. Multiplying Two Unsigned Long Integers
A1,B0,Y
A0,B1,Y
A0,B0,C
Y0,C
DSP56800E Core Reference Manual
; Y1:Y0 = signed A1 x unsigned B0
; Y1:Y0 = unsigned A0 x signed B1 + Y1:Y0
; C2:C1:C0 = unsigned A0 x unsigned B0
; Combine Results: final 32-bit result in C
Unsigned × Unsigned
Unsigned × Unsigned
×
+
C2
A1 × B0
A0 × B1
Unsigned × Unsigned
A1
B1
C1
A0 × B0
32 Bits
32 Bits
32 Bits
C0
A0
B0
Freescale Semiconductor

Related parts for dsp56800e