[완료] 리눅스 부트로더에서 start_of_setup-1f 의 의미를 아시는 분 계신가요?
글쓴이: hermes / 작성시간: 월, 2012/08/13 - 9:58오후
안녕하세요.
리눅스 커널을 공부하는 뉴비입니다.
실은 리눅스의 부팅 과정을 분석하고 있는데 해결을 못 한 문제가 있어서 이렇게 질문을 드립니다.
arch/x86/boot/header.S 파일이 리눅스의 부트로더라고 하여서 이 파일을 분석하고 있었는데,
.byte 0xeb # short (2-byte) jump .byte start_of_setup-1f 1: # Part 2 of the header, from the old setup.S ... 생략 ... .section ".inittext", "ax" start_of_setup:
이런 부분이 나오더군요.
0xeb 명령이 near jump이고, 상대적 오프셋을 인자로 받아서 해당 값만큼 이동한다고 알고 있습니다.
궁금한 것은, start_of_setup-1f 가 어느 정도의 값을 가지는가 인데요,
as 문법을 살펴보니 16진수에는 0x를 붙여야 되는 것 같더라구요.
그래서 그 다음에 나오는 1: 이라는 레이블을 의미하는 것 같긴 한데, 그렇게 해석을 하려니 뒤에 'f'가 걸리네요.
혹시 이 'f'의 의미가 숫자로 된 레이블을 진짜 숫자로 혼동하지 않도록 하는 역할인지요?
(start_of_setup-1 이라고 하면 컴파일러에게 혼동을 주게 될테니까요)
지도 부탁드립니다.
감사합니다.
Forums:
1f가 1: 에 대한 주소를 가리키는 것으로
1f가 1: 에 대한 주소를 가리키는 것으로 알고있습니다.
역시 그렇군요
그렇다면 f는 레이블임을 나타내는 표시가 되는 건가보군요.
답변 감사합니다.
댓글 달기