update qemu study
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
; 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
|
||||
Reference in New Issue
Block a user