SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
Direct Branch Using a 16-Bit Signed Constant Offset
B(cc) scst16
Functional unit = D
32 bit
31 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 0 |
scst16 | x | x | x | x | x | x | opcode |
16 | 10 |
Syntax | Opcode |
---|---|
B scst16 | 00 1000 1001 |
BLT scst16 | 01 0000 1001 |
BGT scst16 | 10 1000 1001 |
BEQ scst16 | 01 1000 1001 |
BLE scst16 | 11 0000 1001 |
BGE scst16 | 11 1000 1001 |
BNE scst16 | 10 0000 1001 |
Performs a branch to the effective address formed by the signed addition of scst16 with the current PC value. The offset is considered as a halfword offset. Note that the PC always contains a halfword address.
This instruction has one delay slot. See Section 8.2.A.3.1 for restrictions on scheduling an instruction in this delay slot.
For conditional branches, if the associated conditional (cc) bit is set in the control status register (CSR), the branch is taken; otherwise, the PC is incremented by 1. Valid values for cc are:
None
if (cond) PC = (PC + scst16)
else PC = PC + 1