Individual Instruction Descriptions

4.14.41 MULAPL

 

 

 

Multiply and Accumulate Result

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Syntax

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[label]

name

dest, src [, mod]

 

 

 

 

Clock, clk

Word, w

 

 

With RPT, clk

 

 

Class

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MULAPL

An, {adrs}

 

 

 

 

 

 

 

 

Table 4–46

 

 

 

 

Table 4–46

 

 

1b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MULAPL

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

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

 

nR+3

 

 

 

 

3

Execution

 

[premodify AP if mod specified]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PH,PL MR * src

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dest dest + 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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MULAPL An, {adrs}

 

 

0

 

1

 

1

0

1

 

1

0

 

 

An

 

 

 

 

 

 

 

 

adrs

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

1

 

1

 

1

0

0

 

next A

 

 

An

 

1

 

1

 

0

 

0

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) added to dest. Certain

 

 

 

restriction applies to the use of this instruction when interrupts are occuring in

 

 

 

the background. See Section 4.8 for more detail.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Syntax

 

 

 

Description

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MULAPL {adrs}

 

 

 

Multiply MR by RAM word, add PL to An

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

See Also

 

MULAPLS, MULSPL, MULSPLS, MULTPL, MULTPLS

 

 

 

 

 

 

 

 

 

Example 4.14.41.1

MULAPL A0, *R3++

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Multiply MR with the content of data memory word stored at byte location pointed by R3, add PL to accumulator A0, and store result in accumulator A0. Increment R3 by 2.

Example 4.14.41.2 MULAPL A2, A2~, ––A

Multiply MR register to accumulator A2~, add PL to accumulator A2, and store result to accumulator

A2.

4-136

Page 222
Image 222
Texas Instruments MSP50C6xx Mulapl Multiply and Accumulate Result, PH ,PL MR * src, Background. See .8 for more detail