메모리의 0번지에 섹터를 읽어오려고 하는데 ..
글쓴이: Reper / 작성시간: 일, 2015/07/19 - 10:10오후
load_setup: mov ax, SETUP_SEG mov es, ax xor bx, bx mov ah, 2 ; copy data to es:bx from disk. mov al, 1 ; read a sector. mov ch, 0 ; cylinder 0 mov cl, 2 ; read data since sector 2. mov dh, 0 ; Head = 0 mov dl, 0 ; Drive = 0 int 0x13 ; BIOS call. jc load_setup
위의 코드는 제가 작성한 부트스트랩의 일부입니다. SETUP_SEG를 여러 값으로 바꿔가면서 해보았는데요..
0x0000 : 실패
0x0010 : 성공
0x0020 : 실패
0x0030 : 실패
0x0040 : 실패
0x0050 : 성공
이네요 .. 왜 이런 결과가 나오는건가요 .. 쓸데없는 고민 같긴 하지만 .. 이유를 모르니 너무 답답하네요 ..
Forums:
다운 안된게 신기하네요. 메모리 주소
다운 안된게 신기하네요. 메모리 주소 0~0x3ff까지는 interrupt vector table 입니다. int 명령 실행할때 어디로 넘어갈지 기록해둔 주소들이 있다고 보시면 됩니다. 함부로 막 쓰면 안됩니다.
여기 외에도 함부로 막 써서는 안되는 메모리 주소들이 몇군데 있으니 알아보세요.
Written By the Black Knight of Destruction
그렇군요. 감사합니다 !
그렇군요. 감사합니다 !
댓글 달기