User Manual
C166S V2
Detailed Instruction Description
User Manual
8-331
V 1.7, 2001-01
CoMAC
Multiply-Accumulate
CoMAC
Group
Multiply/Multiply-Accumulate Instructions
Syntax
CoMAC 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)
←
(ACC) + (tmp)
ELSE
(tmp)
←
(op1) * (op2)
(ACC)
←
(ACC) + (tmp)
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, it is added to the 40-bit ACC register contents before being stored in the 40-bit
ACC register.
MAC Flags
MV
Set if an arithmetic overflow 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 overflow occurred. Not affected otherwise.
MC
Set if a carry 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...