Texas Instruments MSP50C6xx Calculator User Manual


 
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 446 Table 446 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.