www.ti.com
Instructions
MPYF32 RdH, ReH, RfH
MOV32 mem32, RaH
32-bit Floating-Point Multiply with Parallel Move
Operands
RdH
floating-point destination register for the MPYF32 (R0H to R7H)
ReH
floating-point source register for the MPYF32 (R0H to R7H)
RfH
floating-point source register for the MPYF32 (R0H to R7H)
mem32
pointer to a 32-bit memory location. This will be the destination of the MOV32.
RaH
floating-point source register for the MOV32 (R0H to R7H)
Opcode
LSW: 1110 0000
0000 fffe
MSW: eedd daaa
mem32
Description
Multiply the contents of two floating-point registers and move from memory to register.
RdH = ReH * RfH,
[mem32] = RaH
Flags
This instruction modifies the following flags in the STF register:
Flag
TF
ZI
NI
ZF
NF
LUF
LVF
Modified
No
No
No
No
No
Yes
Yes
The STF register flags are modified as follows:
•
LUF = 1 if MPYF32 generates an underflow condition.
•
LVF = 1 if MPYF32 generates an overflow condition.
Pipeline
MPYF32 takes 2 pipeline-cycles (2p) and MOV32 takes a single cycle. That is:
MPYF32
RdH, ReH, RfH
; 2 pipeline cycles (2p)
||
MOV32
mem32, RaH
; 1 cycle
; <-- MOV32 completes, mem32 updated
NOP
; 1 cycle delay or non-conflicting instruction
; <-- MPYF32 completes, RdH updated
NOP
Any instruction in the delay slot must not use RdH as a destination register or as a
source operand.
Example
MOVL
XAR1, #0xC003
; XAR1 = 0xC003
MOVIZF32
R3H, #2.0
; R3H = 2.0 (0x40000000)
MPYF32
R3H, R3H, #5.0
; R3H = R3H * 5.0
MOVIZF32
R1H, #5.0
; R1H = 5.0 (0x40A00000)
; <-- MPYF32 complete, R3H = 10.0 (0x41200000)
MPYF32
R3H, R1H, R3H
; R3H = R1H * R3H
|| MOV32
*XAR1, R3H
; and in parallel store previous R3 value
; MOV32 complete, [0xC003] = 0x4120,
;
[0xC002] = 0x0000
NOP
; 1 cycle delay for MPYF32 to complete
; <-- MPYF32 , R3H = 50.0 (0x42480000)
See also
MPYF32 RdH, ReH, RfH || MOV32 RaH, mem32
MACF32 R3H, R2H, RdH, ReH, RfH || MOV32 RaH, mem32
MACF32 R7H, R6H, RdH, ReH, RfH || MOV32 RaH, mem32
MACF32 R7H, R3H, mem32, *XAR7++
SPRUEO2A – June 2007 – Revised August 2008
Instruction Set
109
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 ...