User Manual
C166S V2
Detailed Instruction Description
User Manual
8-368
V 1.7, 2001-01
CoMACR
Multiply-Accumulate
CoMACR
Group
Multiply/Multiply-Accumulate Instructions
Syntax
CoMACR op1, op2
Source Operand(s)
op1, op2
→
WORD
Destination Operand(s)
ACC
→
40-bit signed value
Operation
IF (MP = 1) THEN
(tmp)
←
((op1) * (op2)) <<1
(ACC)
←
(tmp) - (ACC)
ELSE
(tmp)
←
(op1) * (op2)
(ACC)
←
(tmp) - (ACC)
END IF
Description
Multiplies the two signed 16-bit source operands op1 and op2. The resulting signed
32-bit product is first sign-extended; then, if the MP flag is set, it is one-bit left shifted;
then, the 40-bit ACC register contents are subtracted from the result before being
stored in the 40-bit ACC register.
MAC Flags
MV
Set if an arithmetic underflow occurred, i.e. the result cannot be
represented in the 40-bit data type. Cleared otherwise.
MSL
Set if the contents of ACC is automatically saturated. Not affected
otherwise.
ME
Set if the MAE is used. Cleared otherwise.
MSV
Set if an arithmetic underflow occurred. Not affected otherwise.
MC
Set if a borrow is generated. Cleared otherwise.
MZ
Set if result equals zero. Cleared otherwise.
MN
Set if the most significant bit of the result is set. Cleared otherwise.
MV
MSL
ME
MSV
MC
MZ
MN
Sat.
*
*
*
*
*
*
*
yes
Summary of Contents for C166S V2
Page 102: ...User Manual C166S V2 C166S V2 Memory Organization User Manual 3 102 V 1 7 2001 01...
Page 116: ...User Manual C166S V2 Instruction Pipeline User Manual 4 116 V 1 7 2001 01...
Page 152: ...User Manual C166S V2 Interrupt and Exception Handling User Manual 5 152 V 1 7 2001 01...
Page 204: ...User Manual C166S V2 Instruction Set User Manual 7 204 V 1 7 2001 01...
Page 420: ...User Manual C166S V2 Detailed Instruction Description User Manual 8 420 V 1 7 2001 01...
Page 432: ...User Manual C166S V2 Summary of CPU Subsystem Registers User Manual 9 432 V 1 7 2001 01...
Page 437: ...437...