Encoding:

BC

100101

offset

6

26

Format:

BC offset 

microMIPS32 Release 6

Branch, Compact

Purpose:

Branch, Compact

Description:

PC = PC+4 + sign_extend( offset << 1)

A 27-bit signed offset (the 26-bit offset field shifted left 1 bits) is added to the address of the instruction following the branch (not the branch itself), to form a PC-relative effective target address.

Compact branches have no delay slot: the instruction after the branch is NOT executed when the branch is taken.

Restrictions:

Any instruction, including a branch or jump, may immediately follow a branch or jump, that is, delay slot restrictions do not apply in Release 6.

Availability and Compatibility:

This instruction is introduced by and required as of Release 6.

Exceptions:

None

Operation:

target_offset = sign_extend( offset || 01 )
PC = ( PC+4 + sign_extend(target_offset) )