Files
kernel-study/study/first/kernel.asm
T
2025-12-30 08:19:49 +00:00

27 lines
757 B
NASM

; kernel.asm
[BITS 16] ; 여전히 16비트입니다.
[ORG 0x8000] ; 부트로더가 우리를 0x8000에 내려줬으므로 기준 주소를 맞춥니다.
kernel_entry:
; 커널이 실행되었다는 메시지 출력
mov si, msg_kernel
call print_string
; 할 일 다 했으니 죽기 (무한 루프)
cli ; 인터럽트 끄기 (방해 금지)
hlt ; CPU 정지 (전력 소모 최소화)
jmp $ ; 혹시 깨어나면 다시 제자리 걸음
; --- 문자열 출력 함수 (부트로더와 동일) ---
print_string:
mov ah, 0x0E
.loop:
lodsb
cmp al, 0
je .done
int 0x10
jmp .loop
.done:
ret
msg_kernel db "Hello from BARE METAL KERNEL!", 0x0D, 0x0A, 0