y0u_bat

[64비트멀티코어] 부트로더 제작 (1) 본문

OS

[64비트멀티코어] 부트로더 제작 (1)

유뱃 2016. 4. 10. 22:55



기본 소스


[ORG 0x00] ; 코드의 시작 주소

[BITS 16]  ; 아래 코드를 16비트 코드로 설정


SECTION .text  ; text 섹션 ( 세그먼트 ) 정의


jmp $   ; 현재 위치에서 무한루프 실행     $가 현재주소


times 510 - ( $ - $$ ) db 0x00    ; $$: 현재 섹션(.text)의 시작주소

; 510 - ( $ - $$ ): 현재부터 주소 510까지

; db 0x00 1바이트 선언하고 값은 0x00

; time: 반복수행

; 현재 위치에서 510까지 0으로 채움


dw 0xaa55  ; 주소 511,512에 0x55, 0xaa를 써서 부트 섹터로 표기 




makefile


all: BootLoader.bin


BootLoader.bin: BootLoader.asm

nasm -o BootLoader.bin BootLoader.asm

cp BootLoader.bin Disk.img

clean:

rm -f BootLoader.bin 



qemu.bat

emu-system-x86_64 -L . -m 64 -fda Disk.img -localtime -M pc











Comments