메뉴 건너뛰기

그외 개발정보


여기 강좌 보고 있는데요..

부트섹터 소스 중에서

mov ax,0x9000 ; put stack at 0x91000
mov ss,ax
mov sp,0x1000

sti
MOV AX,0x8000 ;80000번지로 이동...
MOV ES,AX
XOR DI,DI

초반에 이 부분은 초기화 같은데 뭘하는 건지 잘 모르겠네요..

그냥 바로 0x7c00의 위치에 수행할 데이터를 놓으면 안되나요?

이 부분이 뭘하는 부분인지 왜 0x91000에 스택을 위치시키는지...

그구 0x80000은 왜 ES에 넣는건지 단지 초기화 뿐인건지.. 그러면 왜 그렇게 되는건지 알려주세요..

부탁드립니다.

좋은 강좌 재미나게 읽고 있는데 아직 많은 것이 부족해서.. 보는게 힘드네요...




  • profile
    네, 재밌게 봐주셔서 고맙습니다.^^
    덧글다는 게시판이라...
    강좌를 편하게... 게시판에 올릴수도 있겠지만...
    워낙 이곳 게시판들이 후지다보니...^^" ㅎ-
    참고하도록 하겠습니다.~

    >답변 감사드려요.. 제가 개념이 잘 안잡혀서..
    >좀 헷갈리네용.. ^^;;;
    >
    >근데 정말 강좌 잼있어요.. ^^;;
    >
    >또 모르는거 있음 질문 드릴께요..
    >
    >그구 덧글 다는 기능 게시판에 있음 더 좋을 거 같아요.. ^^
    >
    >
    >
    >>안녕하세요, 반갑습니다.
    >>
    >>님이 질문하신 부분은...
    >>이곳 주인장이 좀 게을러 대충 뛰어 넘어간 부분이기도 하기에 죄송하다는 말씀부터 드리고 싶네요.^^
    >>
    >>먼저, 스택을 98000번지로 잡고 있는건... 강좌에서 말씀드렸다시피 참고했던 여러 부트섹터 코드들이 그쯤의 위치를 스택으로 잡고 있더라구요...^^'
    >>
    >>그리고, 80000번지로 굳이 이동하지 않고,7C00 위치에서 플로피를 검색해 커널을 올리셔도 상관없습니다. os작업을 하면서 저 딴에는 섹션 제배치를 위한부분을 손을대고 있다가 빼놓지도- 다듬지도 않고 그대로 둔 코드이거든요.^^'''''''
    >>
    >>저의 게으름때문에... 헷갈리게 만들어드렸다면 정말 죄송합니다.^^'
    >>
    >>>여기 강좌 보고 있는데요..
    >>>
    >>>부트섹터 소스 중에서
    >>>
    >>>mov ax,0x9000 ; put stack at 0x91000
    >>>mov ss,ax
    >>>mov sp,0x1000
    >>>
    >>>sti
    >>>MOV AX,0x8000 ;80000번지로 이동...
    >>>MOV ES,AX
    >>>XOR DI,DI
    >>>
    >>>초반에 이 부분은 초기화 같은데 뭘하는 건지 잘 모르겠네요..
    >>>
    >>>그냥 바로 0x7c00의 위치에 수행할 데이터를 놓으면 안되나요?
    >>>
    >>>이 부분이 뭘하는 부분인지 왜 0x91000에 스택을 위치시키는지...
    >>>
    >>>그구 0x80000은 왜 ES에 넣는건지 단지 초기화 뿐인건지.. 그러면 왜 그렇게 되는건지 알려주세요..
    >>>
    >>>부탁드립니다.
    >>>
    >>>좋은 강좌 재미나게 읽고 있는데 아직 많은 것이 부족해서.. 보는게 힘드네요...
    >>>
    >>>
    >>
    >>
    >
    >

  • 답변 감사드려요.. 제가 개념이 잘 안잡혀서..
    좀 헷갈리네용.. ^^;;;

    근데 정말 강좌 잼있어요.. ^^;;

    또 모르는거 있음 질문 드릴께요..

    그구 덧글 다는 기능 게시판에 있음 더 좋을 거 같아요.. ^^

    >안녕하세요, 반갑습니다.
    >
    >님이 질문하신 부분은...
    >이곳 주인장이 좀 게을러 대충 뛰어 넘어간 부분이기도 하기에 죄송하다는 말씀부터 드리고 싶네요.^^
    >
    >먼저, 스택을 98000번지로 잡고 있는건... 강좌에서 말씀드렸다시피 참고했던 여러 부트섹터 코드들이 그쯤의 위치를 스택으로 잡고 있더라구요...^^'
    >
    >그리고, 80000번지로 굳이 이동하지 않고,7C00 위치에서 플로피를 검색해 커널을 올리셔도 상관없습니다. os작업을 하면서 저 딴에는 섹션 제배치를 위한부분을 손을대고 있다가 빼놓지도- 다듬지도 않고 그대로 둔 코드이거든요.^^'''''''
    >
    >저의 게으름때문에... 헷갈리게 만들어드렸다면 정말 죄송합니다.^^'
    >
    >>여기 강좌 보고 있는데요..
    >>
    >>부트섹터 소스 중에서
    >>
    >>mov ax,0x9000 ; put stack at 0x91000
    >>mov ss,ax
    >>mov sp,0x1000
    >>
    >>sti
    >>MOV AX,0x8000 ;80000번지로 이동...
    >>MOV ES,AX
    >>XOR DI,DI
    >>
    >>초반에 이 부분은 초기화 같은데 뭘하는 건지 잘 모르겠네요..
    >>
    >>그냥 바로 0x7c00의 위치에 수행할 데이터를 놓으면 안되나요?
    >>
    >>이 부분이 뭘하는 부분인지 왜 0x91000에 스택을 위치시키는지...
    >>
    >>그구 0x80000은 왜 ES에 넣는건지 단지 초기화 뿐인건지.. 그러면 왜 그렇게 되는건지 알려주세요..
    >>
    >>부탁드립니다.
    >>
    >>좋은 강좌 재미나게 읽고 있는데 아직 많은 것이 부족해서.. 보는게 힘드네요...
    >>
    >>
    >
    >

  • profile
    안녕하세요, 반갑습니다.

    님이 질문하신 부분은...
    이곳 주인장이 좀 게을러 대충 뛰어 넘어간 부분이기도 하기에 죄송하다는 말씀부터 드리고 싶네요.^^

    먼저, 스택을 98000번지로 잡고 있는건... 강좌에서 말씀드렸다시피 참고했던 여러 부트섹터 코드들이 그쯤의 위치를 스택으로 잡고 있더라구요...^^'

    그리고, 80000번지로 굳이 이동하지 않고,7C00 위치에서 플로피를 검색해 커널을 올리셔도 상관없습니다. os작업을 하면서 저 딴에는 섹션 제배치를 위한부분을 손을대고 있다가 빼놓지도- 다듬지도 않고 그대로 둔 코드이거든요.^^'''''''

    저의 게으름때문에... 헷갈리게 만들어드렸다면 정말 죄송합니다.^^'

    >여기 강좌 보고 있는데요..
    >
    >부트섹터 소스 중에서
    >
    >mov ax,0x9000 ; put stack at 0x91000
    >mov ss,ax
    >mov sp,0x1000
    >
    >sti
    >MOV AX,0x8000 ;80000번지로 이동...
    >MOV ES,AX
    >XOR DI,DI
    >
    >초반에 이 부분은 초기화 같은데 뭘하는 건지 잘 모르겠네요..
    >
    >그냥 바로 0x7c00의 위치에 수행할 데이터를 놓으면 안되나요?
    >
    >이 부분이 뭘하는 부분인지 왜 0x91000에 스택을 위치시키는지...
    >
    >그구 0x80000은 왜 ES에 넣는건지 단지 초기화 뿐인건지.. 그러면 왜 그렇게 되는건지 알려주세요..
    >
    >부탁드립니다.
    >
    >좋은 강좌 재미나게 읽고 있는데 아직 많은 것이 부족해서.. 보는게 힘드네요...
    >
    >

제목 날짜
mouclass 접근.. 3 2010.03.13
[TIP] NEXUS(넥서스) 5x 루팅 방법입니다. 2016.01.05
class callback호출시 에러가 나는데 뭐가 문제인지 모르겠습니다..ㅠㅠ 1 2006.07.22
[질문]드라이버와 응용프로그램 관계에 대하여 3 2004.08.24
드라이버의 로딩순서 바꾸기가 가능한가요. 1 2004.08.17
uC/OS-ii 를 디스켓으로 부팅하려고 하는데요.. 3 2004.08.05
안녕하세요 초보적인 소스 질문 합니다. 1 2004.07.25
rf 에 대한 답변에 감사드리며.. 1 2004.07.18
[질문] OS 부트섹터 강좌의 부트섹터 소스중에서... 3 2004.07.04
이 소스대로 하면 열여야 하는거 아닌가요? 1 2004.06.23
usb 에 read/write 하는것좀 알려주세요. 1 2004.06.22
운영체제에서 "철학자들의 만찬" 알고리즘에 대해.. 1 2004.06.04
필터 드라이버 설치문의.. 1 2004.05.18
메일슬롯 1 2004.04.06
버튼 값 질문이요... 4 2004.02.18
건우님 장치관리자 문의 있습니다. 2 2004.02.17
뒷북일지 모르지만.. bootsect.asm에 버그있네요.. 2 2004.02.12
토글키 만들기 예제를 키 인풋으로 전환하는데 1 2004.01.13
[질문] 다른 OS에서 사용한 HDD를 섹터단위로 Read하는 방법. 1 2003.12.12
print port 제어 1 2003.12.08
드라이브 타입을 알고 싶습니다(A:, C:, F:....) 1 2003.12.03
USB통신 어플리케이션 만들때요.. 1 2003.11.14
WRITE_PORT_UCHAR를 이용한 마우스를 제어 1 2003.11.12
태그 목록
위로