Direct Short And Long Jumps - Analog Devices ADSP-BF53x Blackfin Reference

Table of Contents

Advertisement

Branches can be direct or indirect. A direct branch address is determined
solely by the instruction word (for example,
branch gets its address from the contents of a DAG register (for example,
).
JUMP(P3)
All types of
JUMP
can be absolute or PC-relative.
CALL

Direct Short and Long Jumps

The sequencer supports both short and long jumps. The target of the
branch is a PC-relative address from the location of the instruction, plus
an offset. The PC-relative offset for the short jump is a 13-bit immediate
value that must be a multiple of two (bit 0 must be a 0). The 13-bit value
gives an effective dynamic range of –4096 to +4094 bytes.
The PC-relative offset for the long jump is a 25-bit immediate value that
must also be a multiple of two (bit 0 must be a 0). The 25-bit value gives
an effective dynamic range of –16,777,216 to +16,777,214 bytes.
If, at the time of writing the program, the destination is known to be less
than a 13-bit offset from the current PC value, then the
instruction may be used. If the destination requires more than a 13-bit
offset, then the
nation offset is unknown and development tools must evaluate the offset,
then use the instruction
tion is replaced by the appropriate
Rather than hard coding jump target addresses, use symbolic addresses in
assembly source files. Symbolic addresses are called labels and are marked
by a trailing colon. See the Visual DSP++ Assembler and Preprocessor Man-
ual for details.
ADSP-BF53x/BF56x Blackfin Processor Programming Reference
s and
s can be PC-relative. The indirect
CALL
JUMP.L 0xnnnnnnn
JUMP 0xnnnnnnn
Program Sequencer
JUMP 0x30
instruction must be used. If the desti-
. Upon disassembly, the instruc-
or
JUMP.S
JUMP.L
), while an indirect
and
JUMP
JUMP.S 0xnnnn
instruction.
4-11

Advertisement

Table of Contents
loading

This manual is also suitable for:

Adsp-bf56x blackfin

Table of Contents