y0u_bat
[64비트멀티코어] 부트로더 제작 (1) 본문
기본 소스
[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
'OS' 카테고리의 다른 글
[64비트멀티코어] 부트로더 제작 (2) (0) | 2016.04.12 |
---|---|
[64비트멀티코어OS] 3.3 운영모드와 메모리 관리기법 (0) | 2016.02.22 |
[64비트멀티코어OS] 3.2 레지스터 (0) | 2016.02.21 |
Comments