Freescale Semiconductor SC140 Branch If False AGU, BF lbl, If T==0, then PC + displacement → PC

Models: SC140

1 760
Download 760 pages 48.94 Kb
Page 379
Image 379

BF

BF

Branch If False (AGU)

Operation

 

Assembler Syntax

If T==0, then PC + displacement → PC

BF

<label

 

 

BF

>label

BF

Description

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 [–28≤ displacement < 28, W]) or a long branch (>label [–220≤ displacement < –28, W and 28 ≤ displacement < 220, W]).

Status and Conditions that Affect Instruction

Register Address

Bit Name

Description

SR[1]

T

True bit

Status and Conditions Changed by Instruction

None.

Example

BF lbl

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

SR

d1

Before

$00E4 0000

$0000

After

$0029

SC140 DSP Core Reference Manual

A-65

Page 379
Image 379
Freescale Semiconductor SC140 Branch If False AGU, BF lbl, If T==0, then PC + displacement → PC, BF label, SR1 True bit