DSP Core Reference Manual

BF
SC140 DSP Core Reference Manual A-65
B
BF Branch If False (AGU) BF
Description
Status and Conditions that Affect Instruction
Status and Conditions Changed by Instruction
None.
Example
BF lbl
Operation Assembler Syntax
If T==0, then PC + displacement PC
BF <label
BF >label
BF <label
BF >label
Branches to label if the true bit is cleared. If the T bit is cleared, the program continues executing at
location PC + displacement. If the T bit is set, the PC is updated to point to the next execution set, and the
program continues executing sequentially. The displacement, calculated by the assembler and linker, is a
two’s complement integer that represents the relative distance from the current PC to the destination label.
The assembler determines if the PC relative displacement is a short branch (<label [–2
8
displacement <
2
8
, W]) or a long branch (>label [–2
20
displacement < –2
8
, W and 2
8
displacement < 2
20
, W]).
Register Address Bit Name Description
SR[1] T True bit
Instruction Result
cmpeq.w #$35,d1 Not equal, so T bit in SR cleared.
bf lbl move.w #$29,d1 Branch taken, move.w executed.
inc d1 Skipped over.
move.w #$47,d2 Skipped over.
- - - - Skipped over.
- - - - Skipped over.
- - - - Skipped over.
lbl move.w #$16,d4 Execution continues here at lbl.
Register/Memory Address Before After
SR
$00E4 0000
d1
$0000 $0029