C언어 썸네일형 리스트형 [컴파일러] 백패칭 백패칭 GOTO문의 전방 점프나 if 분기 구문 같은 경우에는 내부적으로 점프를 사용하는데 점프할 부분의 소스 코드가 읽히지 않아 점프의 번지를 지정할수 없는 상태이므로 중간 코드에 빠진 부분을 만들어 놓고 해당 점프의 목표 부분을 찾으면 점프의 번지를 결정한다. 이것을 백패칭이라고 하는데 이렇게만 써놓아서는 이해가 잘 안되므로 간단한 C언어와 어셈블리 코드를 예시로 들어 설명하겠다. if (x==y) { x=-1; } else { x=1; }위의 C언어는 어셈블리로 다음과 같이 표현된다. MOV _x, R1 CMP _y, R1 JE EQUAL MOV 1, _x EQUAL: MOV -1, _x 위의 어셈블리 코드에서 중요한 부분은 JE EQUAL이다. 이 코드의 뜻은 한단계 전의 CMP가 참이면 (여기서.. 더보기 이전 1 다음