Individual Instruction Descriptions

4.14.45 MULTPL

 

 

Multiply and Transfer PL to Accumulator

 

 

 

 

 

 

 

 

 

 

Syntax

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[label]

 

name

dest, src [, mod]

 

 

 

 

Clock, clk

Word, w

 

 

With RPT, clk

 

 

Class

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MULTPL

An, {adrs}

 

 

 

 

 

 

 

 

Table 4–46

 

 

Table 4–46

 

 

1b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MULTPL

An[~], An[~] [, next A]

 

 

 

 

1

 

 

 

1

 

 

 

 

 

nR+3

 

 

 

 

3

Execution

[premodify AP if mod specified]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PH,PL

MR * src

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

An

PL

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PC PC + 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Flags Affected

OF, SF, ZF, CF are set accordingly

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

src is {adrs}:

 

 

TAG bit is set accordingly

 

 

 

 

 

 

 

 

 

 

 

 

Opcode

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Instructions

 

 

16

15

14

13

12

 

11

 

10

 

9

 

8

 

7

6

 

5

 

4

 

3

 

2

 

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MULTPL An, {adrs}

 

 

0

1

1

0

0

 

0

 

0

 

 

An

 

 

 

 

 

 

 

adrs

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

dma16 (for direct) or offset16 (long relative) [see section 4.13]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MULTPL An[~], An[~], [next A]

 

1

1

1

0

0

 

next A

 

 

An

 

1

1

 

0

 

1

1

0

A~

~A

Description

Perform multiplication of multiply register (MR)

and value of src. The 16 MSBs

 

 

 

of the 32-bit product are stored in the product high (PH) register. The 16 LSBs

 

 

 

of the product (contained in product low (PL) register) are stored in An. Certain

 

 

 

restrictions apply to the use of this instruction when interrupts are occuring in

 

 

 

the background. See Section 4.8 for more detail.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Syntax

 

 

 

Description

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MULTPL {adrs}

 

 

 

Multiply MR by data memory word, move PL to An

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MULTPL An[~], An[~] [, next A]

 

Multiply MR by An[~] word, move PL to An[~]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

See Also

MULTPLS, MULAPL, MULAPLS, MULSPL, MULSPLS

 

 

 

 

 

 

 

 

 

Example 4.14.45.1

MULTPL A0, *R3++

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Multiply the contents of R3 with MR register and store PL in accumulator A0. Increment R3 by 2.

Example 4.14.45.2 MULTPL A2, A2~, ––A

Multiply MR register to accumulator A2~ and store PL to accumulator A2.

4-140

Page 226
Image 226
Texas Instruments MSP50C6xx Multpl Multiply and Transfer PL to Accumulator, ~ , a n ~ , next a, Value of src. The 16 MSBs