안녕하세요 일전에 플로피디스크 관련하여 문의드렸던 사람입니다.

아직 초반부이지만, 공부하면서 기대했던것보다 많은 것을 배우는것 같아 매우 만족스럽습니다.


진행중에 아래와 같은 문제가 발생하였는데요


현재 6장까지 진행하였는데 qemu로 이미지를 실행해보고 vnc viewer로 확인해 보니

이미지 로드메세지 (EntryPoint) 가 나오지 않습니다..


전에 운영자님께서 당장 플로피디스크가 없다고 답변해 주셔서 5장을 그냥 건너 버렸는데요(4장까지는 완료)

6장까지 마친 현재 이미지를 qemu로 실행해보니 부트로더 확인 메세지만 나오고 OS로딩 및 보호모드 전환 메세지는 안나옵니다.


다시 5장으로 돌아가 소스를 살펴보니 부트로더에서 OS이미지를 불러오는 무언가가 있는것을 확인했는데요

여기서 드리고 싶은 질문은요


1. 플로피 및 USB를 사용하지 않고 OS이미지를 불러오고 싶습니다.

 플로피를 제어할 뿐이지 실제 소스는 더 간단하리라 생각하지만, 어셈블리어에 익숙치 않은 관계로 무엇을 어떻게 해야할 지 모르겠습니다.  완성된 소스가 아니어도 좋습니다. 방향만 지시해 주십시요


   개인적인 생각으로는 '5.2.3소스에서 OS사이즈를 나타내는 "TOTALSECTORCOUNT" 변수를 없애 버리고

   플로피 읽기와 관련된 RESETDISK, READDATA READEND모두 없애고 마지막에 "jmp 0X1000:0X0000" 으로

   점프하여 6.4.1의 보호모드용 커널 이미지로 점프하면 되는거 같은데 안되네요 ㅜ.ㅜ


   BootLoader.asm

   의 ProtectMode: 에서 마지막에 jmp 0x1000:0x0000 로 점프

   EntryPoint

   의 시작부분에서 jmp 0x1000:start  ; CS를 1000으로 복사하면서 start로 점프



2.보호모드에서 커널  데이터 스크립트 사용시 3번째 디스크립터 (0x10)은 그냥 임의로 3번째꺼를 사용하시는건지요?


3. 현재 최종 소스에 적용되있는 것은 USB로 로딩하는 것인가요?


4. 번외질문. 어셈블리어 소스에서 '.'이 메모리 영역이라는 것은 보았는데 이것이 '.'없는 main: start: 등과

   정확히 무슨 구조적 쓰임적 차이가 있는거죠?



조금 까탈스러운 질문을 올리게 되는것 같아 죄송합니다. ^^;

언젠가 공부삼아 여기 게시판 글들도 모두 읽어 보아야 겠네요