MMACF32 MR3, MR2, MRd, MRe, MRf ||MMOV32 MRa, mem32
32-Bit Floating-Point Multiply and Accumulate with Parallel Move
Operands
MR3
floating-point destination/source register MR3 for the add
operation
MR2
CLA floating-point source register MR2 for the add operation
MRd
CLA floating-point destination register (MR0 to MR3) for the
multiply operation
MRd cannot be the same register as MRa
MRe
CLA floating-point source register (MR0 to MR3) for the multiply
operation
MRf
CLA floating-point source register (MR0 to MR3) for the multiply
operation
MRa
CLA floating-point destination register for the MMOV32 operation
(MR0 to MR3).
MRa cannot be MR3 or the same register as MRd.
mem32
32-bit source for the MMOV32 operation
Opcode
LSW: mmmm mmmm mmmm mmmm
MSW: 0011 ffee ddaa addr
Description
Multiply and accumulate the contents of floating-point registers and move from register to
memory. The destination register for the MMOV32 cannot be the same as the destination
registers for the MMACF32.
MR3 = MR3 + MR2;
MRd = MRe * MRf;
MRa = [mem32];
Restrictions
The destination registers for the MMACF32 and the MMOV32 must be unique. That is,
MRa cannot be MR3 and MRa cannot be the same register as MRd.
Flags
This instruction modifies the following flags in the MSTF register:
Flag
TF
ZF
NF
LUF
LVF
Modified
No
Yes
Yes
Yes
Yes
The MSTF register flags are modified as follows:
• LUF = 1 if MMACF32 (add or multiply) generates an underflow condition.
• LVF = 1 if MMACF32 (add or multiply) generates an overflow condition.
MMOV32 sets the NF and ZF flags as follows:
NF = MRa(31);
ZF = 0;
if(MRa(30:23) == 0) { ZF = 1; NF = 0; }
Pipeline
MMACF32 and MMOV32 complete in a single cycle.
Control Law Accelerator (CLA)
638
TMS320x2806x Microcontrollers
SPRUH18I – JANUARY 2011 – REVISED JUNE 2022
Copyright © 2022 Texas Instruments Incorporated
Содержание TMS320 2806 Series
Страница 2: ......