MAC
Multiply and Accumulate
7-102
Syntax MAC
pma
,
dma
Direct addressing
MAC
pma
,
ind
[, AR
n
] Indirect addressing
Operands dma: 7 LSBs of the data-memory address
pma: 16-bit program-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–
MAC
pma
,
dma
1514131211109876543210
1
01000100 dma
pma
MAC
pma
,
ind
[,
AR
n
]
1514131211109876543210
1
01000101 ARU N NAR
pma
Note: ARU, N, and NAR are defined in Section 6.3,
Indirect Addressing Mode
(page 6-9).
Execution Increment PC, then . . .
(PC) → MSTACK
pma → PC
(ACC) + shifted (PREG) → ACC
(data-memory address) → TREG
(data-memory address) × (pma) → PREG
For indirect, modify (current AR) and (ARP) as specified
(PC) + 1 → PC
While (repeat counter) ≠ 0:
(ACC) + shifted (PREG) → ACC
(data-memory address) → TREG
(data-memory address) × (pma) → PREG
For indirect, modify (current AR) and (ARP) as specified
(PC) + 1 → PC
(repeat counter) – 1 → repeat counter
(MSTACK) → PC
Status Bits
Affected by Affects
PM and OVM C and OV
Opcode