ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 드디어 IA-32e모드로 넘어갔다!!!!
    개발하면서/etc 2015. 2. 19. 22:41
    반응형

    아~!! 드디어 IA-32e 모드로 넘어갔다.

     

    의지가 약해서 듬성듬성 하다보니까 오래걸렸다.

    이젠 놀만큼 놀았다고 생각해서 우직하게 준비해야되는데 동기부여가 아직 덜 됐나보다.

    ImageMaker때문에 이틀정도 걸렸다... WriteKernelInformation 함수에 lseek부분에서 오류가 발생!
    이틀동안 삽질하다가 포기하는 마음으로 #include <unistd.h> 추가해줬더니 정상동작했다!! : )

    asm이나 간단한 C소스는 직접 입력했는데 ImageMaker, makefile, elf_xxx.x파일은 복붙했다.

    앞으로 뭐가 있나 다시 봤는데...타이핑하는게 더 줄것같다ㅋㅋㅋㅋㅋ

     

    10장에서 IA-32e 모드에 스택을 지정하는 부분이 있는데 Stack Segment를 0x10으로 설정하고 주석으 다음과 같다.

    스택을 0x600000~0x6FFFFF 영역에 1MB 크기로 생성

    응!!  0x10이랑 0x600000 은 뭔 관계지? 했는데 딱맞는 글이!!

    http://jsandroidapp.cafe24.com/xe/4588

    즉 16비트 리얼모드만 하한선을 정하고 32/64에서는 의미없다. 0x10은 세그먼터 셀렉터의 개념으로 세그먼트 디스크립터를 가리킨다.

    반응형

    댓글

Designed by Tistory.