1. Pre..
이번엔 간단하게 아무것도 안하는 부트로더를 제작해 봅시다.
- 플로피디스크에 프로그램을 담아 부팅시켜보자.
- NASM 컴파일 : nasm -f bin -o boot.bin boot.asm )
- VMware 로 .BIN 파일을 플로피 디스크로 부팅시키기
2. Process
- CPU가 BIOS 롬에 새겨진 프로그램 실행
- 현재 사용하는 마더보드 상태, 주변 접속장치등 체크
- 디스크의 첫 512바이트 (MBR 영역 0번 트랙 1번 섹터)를 램으로 읽어들여 ran : 0x7c00 번지에 로드
- 프로그램 실행
3. Code
hang:
jmp hang
; 중간에 510 byte 사용 가능
times 510 - ($-$$) db 0 ; $ 자신의 현재 위치 - $$ 시작위치
; 나머진는 0으로 채워라
dw 0AA55h ; dw = 2바이트 ,
; 0AA55h 부트로더의 마지막 표시
4. Run
5. Disassem 00000000 EBFE jmp short 0x0 .......
00000002 0000 add [bx+si],al
00000004 0000 add [bx+si],al
000001FA 0000 add [bx+si],al
000001FC 0000 add [bx+si],al
000001FE 55 push bp
000001FF AA stosb
'Security > Kernel & OS' 카테고리의 다른 글
[Operation System] 6. OS 만들기 - Kernel Load - 1 (0) | 2014.07.14 |
---|---|
[Operation System] 5. OS 만들기 - BootStrap - 4 (0) | 2014.07.14 |
[Operation System] 4. OS 만들기 - BootStrap - 3 (0) | 2014.07.14 |
[Operation System] 3. OS 만들기 - BootStrap - 2 (0) | 2014.07.14 |
[Operation System] 1. OS 만들기 - 준비물 (0) | 2014.07.14 |