Instructions
www.ti.com
MACF32 R7H, R6H, RdH, ReH, RfH
MOV32 RaH, mem32
32-bit Floating-Point Multiply and Accumulate with Parallel Move
Operands
R7H
floating-point destination/source register R7H for the add operation
R6H
floating-point source register R6H for the add operation
RdH
floating-point destination register (R0H to R7H) for the multiply operation.
RdH cannot be the same register as RaH.
ReH
floating-point source register (R0H to R7H) for the multiply operation
RfH
floating-point source register (R0H to R7H) for the multiply operation
RaH
floating-point destination register for the MOV32 operation (R0H to R7H).
RaH cannot be R3H or the same as RdH.
mem32
32-bit source for the MOV32 operation
Opcode
LSW: 1110 0011
1100 fffe
MSW: eedd daaa
mem32
Description
Multiply/accumulate the contents of floating-point registers and move from register to
memory. The destination register for the MOV32 cannot be the same as the destination
registers for the MACF32.
R7H = R7H + R6H
RdH = ReH * RfH,
RaH = [mem32]
Restrictions
The destination registers for the MACF32 and the MOV32 must be unique. That is, RaH
cannot be R7H and RaH cannot be the same register as RdH.
Flags
This instruction modifies the following flags in the STF register:
Flag
TF
ZI
NI
ZF
NF
LUF
LVF
Modified
No
Yes
Yes
Yes
Yes
Yes
Yes
The STF register flags are modified as follows:
•
LUF = 1 if MACF32 (add or multiply) generates an underflow condition.
•
LVF = 1 if MACF32 (add or multiply) generates an overflow condition.
The MOV32 Instruction will set the NF, ZF, NI and ZI flags as follows:
NF = RaH(31);
ZF = 0;
if(RaH(30:23) == 0) {ZF = 1; NF = 0;}
NI = RaH(31);
ZI = 0;
if(RaH(31:0) == 0) ZI = 1;
Pipeline
The MACF32 takes 2 pipeline cycles (2p) and the MOV32 takes a single cycle. That is:
MACF32
R7H, R6H, RdH, ReH, RfH
; 2 pipeline cycles (2p)
|| MOV32
RaH, mem32
; 1 cycle
; <-- MOV32 completes, RaH updated
NOP
; 1 cycle delay
; <-- MACF32 completes, R7H, RdH updated
NOP
Instruction Set
70
SPRUEO2A – June 2007 – Revised August 2008
Summary of Contents for TMS320C28 series
Page 2: ...2 SPRUEO2A June 2007 Revised August 2008 Submit Documentation Feedback ...
Page 12: ...Introduction 12 SPRUEO2A June 2007 Revised August 2008 Submit Documentation Feedback ...
Page 20: ...CPU Register Set 20 SPRUEO2A June 2007 Revised August 2008 Submit Documentation Feedback ...
Page 136: ...Instruction Set 136 SPRUEO2A June 2007 Revised August 2008 Submit Documentation Feedback ...