INSTRUCTION DESCRIPTIONS

MPY MPY

Signed Multiply

Explanation of Example 1: Prior to execution, the 24-bit X1 register contains the value $800000 (–1.0), the 24-bit Y1 register contains the value $C00000, (–0.5), and the 56-bit A accumulator contains the value $00:000000:000000 (0.0). The execution of the MPY – X1,Y1,A instruction multiples the 24-bit signed value in the X1 register by the 24-bit signed value in the Y1 register, negates the 48-bit product, and stores the result in the 56-bit A accumulator (–X1Y1=–0.5=$FF:C00000:000000=A).

Condition Codes:

15

14

 

13

12

11

10

9

8

7

6

 

5

4

3

2

1

0

LF

DM

T

**

 

S1

S0

 

I1

I0

S

L

E

U

N

Z

 

V

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MR

 

 

 

 

 

 

 

 

 

 

CCR

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S — Computed according to the definition in A.5 CONDITION CODE COMPUTATION L — Set if limiting occurred during parallel move

E — Set if the signed integer portion of A or B result is in use

U — Set if A or B result is unnormalized

N — Set if bit 55 of A or B result is set

Z— Set if A or B result equals zero

V — Set if overflow has occurred in A or B result

Note: The definitions of the E and U bits vary according to the scaling mode being used. Refer to Section A.5 CONDITION CODE COMPUTATION for complete details.

Instruction Format 1:

 

 

 

 

 

MPY

(±)S1,S2,D

 

 

 

 

 

MPY

(±)S2,S1,D

 

 

 

 

 

Opcode 1:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23

8

7

4

3

0

 

 

 

 

 

 

 

 

 

 

 

 

 

DATA BUS MOVE FIELD

1

Q Q Q

d k

0 0

 

 

 

 

 

 

 

 

 

 

OPTIONAL EFFECTIVE ADDRESS EXTENSION

MOTOROLA

INSTRUCTION SET DETAILS

A - 229

Page 498
Image 498
Motorola DSP56000, 24-Bit Digital Signal Processor manual Signed Multiply, Condition Codes