Individual Instruction Descriptions
4-139Assembly Language Instructions
4.14.44 MULSPLS Multiply String and Subtract PL From Accumulator
Syntax
[label] name dest, src Clock, clk Word, w With RPT, clk Class
MULSPLS An, {adrs} Table 4–46 Table 4–46 1b
MULSPLS An[~], An[~] n
S
+3 1 n
R
+3 3
Execution 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
MULSPLS An, {adrs}
0 1 1 1 1 1 1 An adrs
x dma16 (for direct) or offset16 (long relative) [see section 4.13]
MULSPL S An[~], An[~] 1 1 1 0 0 1 1 An 1 1 0 0 0 0 A~ ~A
Description Perform multiplication of multiply register (MR) and value of src. The 16 MSBs
of the ((n
s
+ 3) × 16)-bit product are stored in the product high (PH) register.
The 16 LSBs of the product (contained in product low (PL) register) subtracted
from dest string.
Syntax Description
MULSPLS {adrs} Multiply MR by data memory string, subtract PL from An
MULSPLS An[~], An[~] Multiply MR by An[~] string, subtract PL from An[~]
See Also MULSPL, MULTPL, MULTPLS, MULAPL, MULAPLS
Example 4.14.44.1 MULSPLS A0, *R3++
Multiply MR with the contents of R3, subtract PL from accumulator string A0, and store result in
accumulator string A0. Increment R3 by 2.
Example 4.14.44.2 MULSPLS A2, A2~
Multiply MR register to accumulator string A2~, subtract PL from accumulator string A2, and store result
to accumulator string A2.