•
Delayed Conditional instructions: MBCNDD, MCCNDD, and MRCNDD
Referring to
, the following applies to delayed conditional instructions:
–
I1
I1 is the last instruction that can effect the CNDF flags for the branch, call or return instruction. The CNDF
flags are tested in the D2 phase of the pipeline. That is, a decision is made whether to branch or not when
MBCNDD, MCCNDD, or MRCNDD is in the D2 phase.
–
I2, I3, and I4
The three instructions preceding MBCNDD can change MSTF flags but will have no effect on whether the
MBCNDD instruction branches or not. This is because the flag modification will occur after the D2 phase
of the branch, call or return instruction. These three instructions must not be a MSTOP, MDEBUGSTOP,
MBCNDD, MCCNDD, or MRCNDD.
–
I5, I6, and I7
The three instructions following a branch, call or return are always executed irrespective of whether the
condition is true or not. These instructions must not be MSTOP, MDEBUGSTOP, MBCNDD, MCCNDD or
MRCNDD.
For a more detailed description refer to the functional description for
Example 10-1. Code Fragment For MBCNDD, MCCNDD, or MRCNDD
<Instruction 1> ; I1 Last instruction that can affect flags for
; the branch, call or return operation
<Instruction 2> ; I2 Cannot be stop, branch, call or return
<Instruction 3> ; I3 Cannot be stop, branch, call or return
<Instruction 4> ; I4 Cannot be stop, branch, call or return
<branch/call/ret> ; MBCNDD, MCCNDD or MRCNDD
; I5-I7: Three instructions after are always
; executed whether the branch/call or return is
; taken or not
<Instruction 5> ; I5 Cannot be stop, branch, call or return
<Instruction 6> ; I6 Cannot be stop, branch, call or return
<Instruction 7> ; I7 Cannot be stop, branch, call or return
<Instruction 8> ; I8
<Instruction 9> ; I9
....
•
Stop or Halting a Task: MSTOP and MDEBUGSTOP
The MSTOP and MDEBUGSTOP instructions cannot be placed three instructions before or after a conditional
branch, call or return instruction (MBCNDD, MCCNDD, or MRCNDD). Refer to
. To single-step
through a branch/call or return, insert the MDEBUGSTOP at least four instructions back and step from there.
Control Law Accelerator (CLA)
584
TMS320x2806x Microcontrollers
SPRUH18I – JANUARY 2011 – REVISED JUNE 2022
Copyright © 2022 Texas Instruments Incorporated
Summary of Contents for TMS320 2806 Series
Page 2: ......