Boot Sector - Hello world
1. code
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文件
nasm -f bin boot.asm -o boot.bin
3.运行
1) qemu
qemu-system-i386 boot.bin
2) 虚拟机从floppy启动
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的路径,启动虚拟机。
3) usb启动
插入U盘,假设U盘对应的设备文件为/dev/sdb1
dd if=boot.bin of=/dev/sdb1
重起电脑,使其从U盘启动。