12

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
  • 328,167
  • 45
  • 605
  • 847
夢のの夢
  • 5,054
  • 7
  • 33
  • 63
  • 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

19

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,394
  • 1
  • 21
  • 29