www.ti.com
Instructions
SUBF32 RdH, ReH, RfH
MOV32 mem32, RaH
32-bit Floating-Point Subtraction with Parallel Move
Operands
RdH
floating-point destination register (R0H to R7H) for the SUBF32 operation
ReH
floating-point source register (R0H to R7H) for the SUBF32 operation
RfH
floating-point source register (R0H to R7H) for the SUBF32 operation
mem32
pointer to 32-bit destination memory location for the MOV32 operation
RaH
floating-point source register (R0H to R7H) for the MOV32 operation
Opcode
LSW: 1110 0000
0010 fffe
MSW: eedd daaa
mem32
Description
Subtract the contents of two floating-point registers and move from a floating-point
register to memory.
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 SUBF32 generates an underflow condition.
•
LVF = 1 if SUBF32 generates an overflow condition.
Pipeline
SUBF32 is a 2 pipeline-cycle instruction (2p) and MOV32 takes a single cycle. That is:
SUBF32
RdH, ReH, RfH
; 2 pipeline cycles (2p)
||
MOV32
mem32, RaH
; 1 cycle
; <-- MOV32 completes, mem32 updated
NOP
; 1 cycle delay or non-conflicting instruction
; <-- ADDF32 completes, RdH updated
NOP
Any instruction in the delay slot must not use RdH as a destination register or as a
source operand.
Example
ADDF32
R3H, R6H, R4H
; (A) R3H = R6H + R4H and R7H = I3
|| MOV32
R7H, *-SP[2]
;
; <-- R7H valid
SUBF32
R6H, R6H, R4H
; (B) R6H = R6H - R4H
; <-- ADDF32 (A) completes, R3H valid
SUBF32
R3H, R1H, R7H
; (C) R3H = R1H - R7H and store R3H (A)
|| MOV32
*+XAR5[2], R3H
;
; <-- SUBF32 (B) completes, R6H valid
; <-- MOV32 completes, (A) stored
ADDF32
R4H, R7H, R1H
; R4H = D = R7H + R1H and store R6H (B)
|| MOV32
*+XAR5[6], R6H
;
; <-- SUBF32 (C) completes, R3H valid
; <-- MOV32 completes, (B) stored
MOV32
*+XAR5[0], R3H
; store R3H (C)
; <-- MOV32 completes, (C) stored
; <-- ADDF32 (D) completes, R4H valid
MOV32
*+XAR5[4], R4H
; store R4H (D)
; <-- MOV32 completes, (D) stored
See also
SUBF32 RdH, ReH, RfH || MOV32 RaH, mem32
MPYF32 RaH, RbH, RcH || SUBF32 RdH, ReH, RfH
SPRUEO2A – June 2007 – Revised August 2008
Instruction Set
127
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 ...