組合語言程式碼 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

 

Screenshot from 2014-06-14 14:31:18  

 

最後可以看到自己寫的開機映像在模擬器中

沒有任何作業系統平台上執行,潮爽der~

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 awe31402 的頭像
    awe31402

    awe的程設筆記

    awe31402 發表在 痞客邦 留言(1) 人氣()