MACD
Multiply and Accumulate With Data Move
7-108
Cycles for a Single MACD Instruction (Continued)
Operand ExternalSARAMDARAMROM
Operand 1: External
Operand 2: DARAM 3+p
op1
3+p
op1
3+p
op1
3+p
op1
+2p
code
Operand 1: DARAM/
ROM
Operand 2: SARAM
3 3 3 3+2p
code
Operand 1: SARAM
Operand 2: SARAM 33 3
4
5
3+2p
code
4+2p
code
Operand 1: External
Operand 2: SARAM 3+p
op1
3+p
op1
3+p
op1
3+p
op1
+2p
code
Operand 1: DARAM/
ROM
Operand 2: External§
3+d
op2
3+d
op2
3+d
op2
3+d
op2
+2p
code
Operand 1: SARAM
Operand 2: External§3+d
op2
3+d
op2
3+d
op2
3+d
op2
+2p
code
Operand 1: External
Operand 2: External§4+p
op1
+d
op2
4+p
op1
+d
op2
4+p
op1
+d
op2
4+p
op1
+d
op2
+2p
code
If both operands are in the same SARAM block
If both operands and code are in the same SARAM block
§Data move operation is not performed when operand2 is in external data memory.
Cycles for a Repeat (RPT) Execution of an MACD Instruction
Operand ROM DARAM SARAM External
Operand 1: DARAM/
ROM
Operand 2: DARAM
n+2 n+2 n+2 n+2+2p
code
Operand 1: SARAM
Operand 2: DARAM n+2 n+2 n+2 n+2+2p
code
Operand 1: External
Operand 2: DARAM n+2+np
op1
n+2+np
op1
n+2+np
op1
n+2+np
op1
+2p
code
Operand 1: DARAM/
ROM
Operand 2: SARAM
2n 2n 2n
2n+22n+2p
code
If operand 2 and code are in the same SARAM block
If both operands are in the same SARAM block
§If both operands and code are in the same SARAM block
Data move operation is not performed when operand2 is in external data memory.