11

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

Peter Cordes
  • 286,368
  • 41
  • 520
  • 731
夢のの夢
  • 4,060
  • 5
  • 27
  • 49
  • 2
    The [ARM frame and link registers](http://stackoverflow.com/questions/15752188/arm-link-register-and-frame-pointer) question is related. It is not a duplicate, but when you go one step beyond this question... it will be your next step in understanding the ARM function call mechanisms that compilers use. – artless noise Oct 12 '15 at 04:41

1 Answers1

17

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.

Colin
  • 3,273
  • 1
  • 23
  • 29