Infineon Technologies C166S V2 User Manual page 373

16-bit microcontroller
Table of Contents

Advertisement

CoMACRu
Group
Syntax
Source Operand(s)
Destination Operand(s)
Operation
(tmp) ← (op1) * (op2)
(ACC) ← (tmp) - (ACC) + 00 0000 8000h
(MAL) ← 0
Description
Multiplies the two unsigned 16-bit source operands op1 and op2. The resulting
unsigned 32-bit product is first zero-extended and then the 40-bit ACC register contents
are subtracted from the result. Finally, the result is 2s complement rounded before
being stored in the 40-bit ACC register. The MAL register is cleared.
MAC Flags
MV
MSL
*
*
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.
Encoding
Mnemonic
CoMACRu
Rw
CoMACRu
Rw
CoMACRu
[IDXi*] , [Rw
User Manual
Unsigned Multiply-Accumulate & Round
Multiply/Multiply-Accumulate Instructions
CoMACRu op1, op2, rnd
op1, op2 → WORD
ACC → 40-bit signed value
ME
MSV
*
*
, Rw
, rnd
n
m
, [Rw
*] , rnd
n
m
*] , rnd
m
Detailed Instruction Description
MC
MZ
*
*
Format
A3 nm 31 rrr0:0000
83 nm 31 rrr0:0qqq
93 Xm 31 rrr0:0qqq
8-373
User Manual
C166S V2
CoMACRu
MN
Sat.
*
yes
Bytes
4
4
4
V 1.7, 2001-01

Advertisement

Table of Contents
loading

Table of Contents