브랜치 (컴퓨터 과학)

브랜치(branch) 또는 분기는 컴퓨터가 다른 명령 시퀀스의 실행을 시작하도록 지시함으로써 순서대로 명령의 기본 실행 지시로부터 벗어날 수 있게 하는 컴퓨터 프로그램의 한 명령이다. 또, 브랜치(branch, branching, branched)는 브랜치 명령 실행의 결과로서 각기 다른 명령 시퀀스로의 실행을 전환하는 행위를 가리키는 용어이기도 하다. 브랜치 명령은 프로그램 루프와 조건문의 제어 흐름을 구현하기 위해 사용된다.(예: 특정 조건이 만족하는 경우에만 특정 명령 시퀀스를 실행하는 것)

브랜치 명령은 무조건 브랜치를 수행하는 비조건적 브랜치, 그리고 일부 조건에 따라 브랜치를 수행할 수도, 수행하지 않을 수도 있는 조건적 브랜치로 나눌 수 있다. 또, 새로운 명령 시퀀스의 주소("대상" 주소)를 어떻게 규정하는지에 따라 브랜치 명령은 일반적으로 "직접적", "간접적", "상대적"으로 분류되는데, 이는 명령에 대상 주소가 포함되어 있거나 대상 주소가 발견되는 장소(예: 레지스터 또는 메모리 위치)를 규정하거나, 현재 및 대상 주소 간 차이를 규정하는 것을 의미한다.

구현

예 
다음 표는 잘 알려진 일부 아키텍처에서 볼 수 있는 기계 레벨 branch 또는 jump 명령을 나열한 것이다:

같이 보기 
 분기 테이블
 조건문
 제어 흐름
 프로그램 카운터
 함수 (프로그래밍)
 스파게티 코드

각주 

 내용주

외부 링크 
 Free IA-32 and x86-64 documentation, provided by Intel
 The PDP-11 FAQ
 The ARM instruction set

제어 흐름
명령어 처리
기계어