Branches and Sequencing
2. Pops the status stack if the
have been pushed for interrupts
There are a number of parameters that can be specified for branching
instructions:
• Branches can be direct or indirect. For direct branches, the
sequencer generates the address; for indirect branches, the PM data
address generator (DAG2) produces the address
• Direct branches are
absolute—not changing at run time—address (such as a program
label) or use a PC-relative address. Some instruction examples that
cause a direct branch are:
CALL fft1024; /* Where fft1024 is an address label */
JUMP (pc,10); /* Where (pc,10) is a PC-relative address */
Indirect branches are
dynamic address that comes from the PM data address generator
(
). For more information on the data address generator, see
DAG2
"Data Address Generators" on page
ples that cause an indirect branch are:
JUMP (i12, m8); /* where (m8,i12) are DAG2 registers */
CALL (i13, m9); /* where (m9,i13) are DAG2 registers */
Conditional Branches
The sequencer supports conditional branches. These conditional branches
are
or
JUMP
CALL
an
condition. For more information on condition types in
IF
instructions, see
DSP's Single-Instruction, Multiple-Data (SIMD) mode influences the
execution of conditional branches.
on page 3-61.
3-12
ASTATx/y
or
JUMP
or
JUMP
/
instructions whose execution is based on testing
RETURN
"Conditional Sequencing" on page
ADSP-2126x SHARC Processor Hardware Reference
and
MODE1
or timers.
IRQ2-0
/
instructions that use an
CALL
RETURN
/
instructions that use a
CALL
RETURN
4-1. Some instruction exam-
3-17. Note that the
For more information, see "Summary"
status registers that
condition
IF
Need help?
Do you have a question about the ADSP-21261 SHARC and is the answer not in the manual?
Questions and answers