Boot Sector - Hello world

1. codespa

    bits 16
    org 7c00h
    mov ax, cs
    mov ds, ax
    mov es, ax
    call DispStr
    jmp $
DispStr:
    mov ax, BootMessage
    mov bp, ax
    mov cx, 16
    mov ax, 01301h
    mov bx, 000ch
    mov dl, 0
    int 10h
    ret
BootMessage:
    db "Hello, OS world!"
    times 510-($-$$) db 0
    dw 0xaa55

2. 編譯成bin文件code

nasm -f bin boot.asm -o boot.binblog

3.運行虛擬機

1) qemuit

qemu-system-i386 boot.binio

2) 虛擬機從floppy啓動asm

dd if=/dev/zero of=floppy.img bs=512 count=2880
dd status=noxfer conv=notrunc if=boot.bin of=floppy.img編譯

vmware建立一個裸虛擬機,給虛擬機添加設備"Floppy Drive", Connection設置爲"Use a floppy image", 文件路徑選爲floppy.img的路徑,啓動虛擬機。class

3) usb啓動im

插入U盤,假設U盤對應的設備文件爲/dev/sdb1

dd if=boot.bin of=/dev/sdb1

重起電腦,使其從U盤啓動。

相關文章
相關標籤/搜索