41 mulapl multiply and accumulate result – Texas Instruments MSP50C6xx User Manual
Page 222
Individual Instruction Descriptions
4-136
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
n
R
+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.