ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 드디어 IA-32e모드로 넘어갔다!!!!
    개발하면서/etc 2015.02.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은 세그먼터 셀렉터의 개념으로 

    세그먼트 디스크립터를 가리킨다.

    TAG

    댓글 0

Designed by Tistory.