組合語言程式碼 boot.asm
org 07c00h ;tell compiler the load address
mov ax, cs
mov ds, ax
mov es, ax
call DispStr ;prinnt string function
jmp $ ;infinite loop
DispStr:
mov ax, BootMessage
mov bp, ax
mov cx, 16
mov ax, 01301h
mov bx, 000ch
mov dl, 0
int 10h ;10h interrupt
ret
BootMessage: db "Hello OS World!"
times 510-($-$$) db 0 ;write 0 from 510 byte to end
dw 0xaa55 ;magic number at the end of MBR
組譯程式碼
nasm boot.asm -o boot.bin
製作開機映像檔
dd if=boot.bin of=boot.img bs=512 count=1 conv=notrunc
Qemu中啟動開機映像
qemu -fda boot.img
最後可以看到自己寫的開機映像在模擬器中
沒有任何作業系統平台上執行,潮爽der~
留言列表