bla

Branch Absolute (Link)

bla target_addr (AA=1 LK=1)

Branches to the target address and sets the Link Register to the return address.

Encoding

Binary Layout
 
Format I-form
Opcode
Extension Base

Operands

  • target_addr
    Branch target address

Example

b label

// Jump to 'label'.

Registers Altered

LR

Related

More in Base

Reference

Description

If LK=1 then the effective address of the instruction following the branch is placed into the Link Register. Used for subroutine calls.

Operation

if AA then NIA <- EXTS(LI || 0b00)
else NIA <- CIA + EXTS(LI || 0b00)
if LK then LR <- CIA + 4

Programming Note

The b instruction is used for unconditional branching. The AA and LK fields control whether the address is absolute or relative and whether to link back to the current instruction.