부트로더 만들 때 쓰는 바이오스 펑션은 하나뿐입니다. -_-;;
물론 다른 것들 써도 되겠지만 부트로더라는 게 디스크에서 커널을 메모리로 올리고 거기로 점프하는 것뿐이기 때문에 이것 하나만 있으면 됩니다.
int 0x13
ah ; 2 Read Sector
al ; 읽고자 하는 섹터 수 1 to 36
ch ; 트랙 번호 0 to 79
cl ; 섹터 번호
dh ; 헤드 번호 0 or 1
dl ; 드라이브 번호 0 to 3 ( 0 : 플로피)
carry = 0 successful, = 1 if error occured
es:bs < --- 이 위치로 디스크에서 메모리로 적재
그리고 ss,sp,ds를 적당히 -_-;; 세팅해 주시면 됩니다.
좋은 하루되세요. ^_^
랄프 브라운의 인터럽트 리스트를 참조하세요.
BIOS, DOS부터 해서 웬간한 리얼모드 인터럽트 내용은 다 수록되어
있습니다.
링크를 까먹었네요. 양키국 야후에서 Ralf Brown으로 검색하면 나옵니다.
그외에도 바이오스 회사인 피닉스 홈페이지(www.phoenix.com)
들어가시면 바이오스 스펙에 대한 문서를 구할 수 있습니다.
이 문서는 내용은 부실합니다만, Ralf Brown 인터럽트 리스트에서
원하는 부분만을 찾을 때는 필요합니다. Ralf Brown의 인터럽트 리스트가
담고 있는 내용이 너무 방대하거든요.
(이문서 찾기 힘듭니다. 엄청 뒤져야 할겁니다)
부트로더 만들 때 쓰는 바이오스 펑션은 하나뿐입니다. -_-;;물론
부트로더 만들 때 쓰는 바이오스 펑션은 하나뿐입니다. -_-;;
물론 다른 것들 써도 되겠지만 부트로더라는 게 디스크에서 커널을 메모리로 올리고 거기로 점프하는 것뿐이기 때문에 이것 하나만 있으면 됩니다.
int 0x13
ah ; 2 Read Sector
al ; 읽고자 하는 섹터 수 1 to 36
ch ; 트랙 번호 0 to 79
cl ; 섹터 번호
dh ; 헤드 번호 0 or 1
dl ; 드라이브 번호 0 to 3 ( 0 : 플로피)
carry = 0 successful, = 1 if error occured
es:bs < --- 이 위치로 디스크에서 메모리로 적재
그리고 ss,sp,ds를 적당히 -_-;; 세팅해 주시면 됩니다.
좋은 하루되세요. ^_^
p.s. 참고로 커널메니아( http://kernel-mania.cyworld.com/ )에서 이번 달 정모 주제가 부트로더입니다. ^^;;
음.............
랄프 브라운의 인터럽트 리스트를 참조하세요.
BIOS, DOS부터 해서 웬간한 리얼모드 인터럽트 내용은 다 수록되어
있습니다.
링크를 까먹었네요. 양키국 야후에서 Ralf Brown으로 검색하면 나옵니다.
그외에도 바이오스 회사인 피닉스 홈페이지(www.phoenix.com)
들어가시면 바이오스 스펙에 대한 문서를 구할 수 있습니다.
이 문서는 내용은 부실합니다만, Ralf Brown 인터럽트 리스트에서
원하는 부분만을 찾을 때는 필요합니다. Ralf Brown의 인터럽트 리스트가
담고 있는 내용이 너무 방대하거든요.
(이문서 찾기 힘듭니다. 엄청 뒤져야 할겁니다)
아 참 그리고 윗님이 말씀하신건 CHS모드일때만 해당되는거고(8G 이하)
LBA모드일때는 INT13h/AH=42h를 씁니다.
Written By the Black Knight of Destruction
DOS용 프로그램중에서 "HelpPC" 라는 프로그램이 있었습니다.그
DOS용 프로그램중에서 "HelpPC" 라는 프로그램이 있었습니다.
그거 받을수 있으시다면 받아서 한번 보세요.
Linux의 man page의 원조격인 프로그램인데
나우누리에서 받을수 있었는데 지금은 아닌듯 하네요.
댓글 달기