INSTRUCTION DESCRIPTIONS

MAC

Signed Multiply-Accumulate

MAC

Timing: 2+mv oscillator clock cycles

Memory: 1+mv program words

Example 2:

:

MAC

 

X0,

#3, A

 

 

:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Before Execution

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X0

 

 

 

 

 

 

$654321

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

 

 

 

 

 

$00:100000:000000

 

 

 

 

 

 

 

 

 

 

 

 

;

X0

A

After Execution

$654321

$00:1CA864:200000

Explanation of Example 2: The content of X0 ($654321) is multiplied by 2-3and then added to the content of the A accumulator ($00:100000:000000). The result is then placed in the A accumulator. The net effect of this operation is to divide the content of X0 by 23 and add the result to the accumulator. An alternate interpretation is that X0 is right shifted 3 places and filled with the sign bit (0 for a positive number and 1 for a neg- ative number) and then the result is added to the accumulator.

Instruction Format 2:

MAC (±)S,#n,D

Opcode 2:

 

 

23

 

 

 

16

15

 

8

7

0

 

 

 

 

 

 

 

0 0 0 0 0 0 0 1

0 0 0 s s s s s

1 1 Q Q d k 1 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Instruction Fields:

 

 

 

 

 

 

 

 

S

Q Q

Sign

k

 

D

d

 

 

 

Y1

0

0

+

0

 

A

0

 

 

 

X0

0

1

1

 

B

1

 

 

 

Y0

1

0

 

 

 

 

 

 

 

 

X1

1

1

 

 

 

 

 

 

 

 

A - 152

INSTRUCTION SET DETAILS

MOTOROLA

Page 421
Image 421
Motorola 24-Bit Digital Signal Processor, DSP56000 manual Instruction Fields Sign