Search code examples
assemblyarmsubroutinefunction-call

What's the primary difference between branch instruction and branch with link instruction? ARM?


From what I read, the branch with link is used to perform subroutine call and the registered link is copied back to PC.


Solution

  • Branch with link BL copies the address of the next instruction (after the BL) into the link register. The branch instruction doesn't. BL would be used for a subroutine call, so when you want to return to where you were you can branch back to the link register.