ARM Instruction Set: Branch Instructions (B, BL)

ARM 아키텍처는 branch(분기) 명령어를 통해 프로그램 흐름을 제어할 수 있다. B (Branch)와 BL (Branch with Link)는 주로 조건 없이 레이블로의 분기를 담당하며, BL은 현재 주소를 링크 레지스터에 저장하여 서브루틴 호출에 사용된다. 이 글에서는 Branch 명령어에 대해 알아본다.

Instruction Format

Syntax

Branch : B{<cond>} label
Branch with Link : BL{<cond>} sub_routine_label

<cond> 조건이 맞으면, label이 가르키는 위치로 분기하고, BL은 R14(LR) 레지스터에 다음 PC값을 저장하여 return 시에 위치를 알 수 있도록 한다.

Example

BL      subC
BLLT    rtX

참고

답글 남기기