![](https://pdfstore-manualsonline.prod.a.ki/pdfasset/1/d3/1d3cc4c7-edcd-420f-9c78-19fd42e906d3/1d3cc4c7-edcd-420f-9c78-19fd42e906d3-bg10f.png)
MPYS
Multiply and Subtract Previous Product
7-118
Syntax MPYS
dma
Direct addressing
MPYS
ind
[, AR
n
] Indirect addressing
Operands dma: 7 LSBs of the data-memory address
n: Value from 0 to 7 designating the next auxiliary register
ind: Select one of the following seven options:
* *+ *– *0+ *0– *BR0+ *BR0–
MPYS
dma
1514131211109876543210
0
10100010 dma
MPYS
ind
[
,
AR
n
]
1514131211109876543210
0
10100011 ARU N NAR
Note: ARU, N, and NAR are defined in Section 6.3,
Indirect Addressing Mode
(page 6-9).
Execution Increment PC, then ...
(ACC) – shifted (PREG) → ACC
(TREG) × (data-memory address) → PREG
Status Bits
Affected by Affects
PM and OVM C and OV
Description The contents of TREG are multiplied by the contents of the addressed data
memory location. The result is placed in the product register (PREG). The pre-
vious product, shifted as defined by the PM status bits, is also subtracted from
the accumulator, and the result is placed in the accumulator.
Words 1
Cycles for a Single MPYS Instruction
Program
Operand ROM DARAM SARAM External
DARAM 1 1 1 1+p
SARAM 1 1 1, 2
†
1+p
External 1+d 1+d 1+d 2+d+p
†
If the operand and the code are in the same SARAM block
Opcode
Cycles