어셈 (부트로더부분) jump하는것에 대한 질문입니다..

esllo의 이미지

소스코드를 간단히 작성해서 테스트 중에 있습니다.
그런데 궁금한게 있어서 질문 드립니다..
현재까지 작성한 소스는 다음과 같습니다..

  1 BOOTSEG = 0x07c0   
  2 SECADDR = 0x1000         
  3
  4     .code16              
  5     .text
  6     .global start
  7 start:
  8     ljmp     $BOOTSEG, $start2  
  9
 10 start2:
 11     movw    %cs, %ax
 12     movw    %ax, %ds
 13     movw    %ax, %es
 14     movw    %ax, %ss
 15

bochs 로 테스트 해 본 결과
0x00007c00에 Break를 걸고, 디버깅 하고 있는데,
ljmp하는 부분에서 무한루프에 빠지네요
bochs상에 나타나는 결과는 다음과 같습니다.
Next at t=7034736
(0) [0x00007c00] 0000:7c00 (unk. ctxt): jmp far 07c0:0000         ; ea0000c007
<bochs:3> n
Next at t=7034737
(0) [0x00007c00] 07c0:0000 (unk. ctxt): jmp far 07c0:0000         ; ea0000c007
<bochs:4> n
Next at t=7034738

커널 소스의 linux/arch/x86/boot/header.S와 별반 차이가 없는데..
이것저것 수정하면서 테스트 해도.. 결과는 마찬가지네요
segment:offset에서 offset부분을 라벨로 하면 인식이 안되는 건가요?
커널소스도 라벨로 인식을 하게 되어있거든요..
문제점이 무엇일까요? 답변 부탁드립니다..