前兩章非常簡單, 都是在做介紹和環境配置
不過它書上是在Windows上跑
而我是用Mac OS X, 其間工具等等差異也就不用我贅述。
基本上我最後用到的工具目前只有作為Virtual Machine的VirtualBox, 和十六進位編輯器Hex Fiend還有assemblerNASM。
第一個測試很簡單,只是去寫一個Boot Sector。
首先把單純的程式碼打一打。
org 07c00h
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 World"
times 510-($-$$) db 0
dw 0xaa55
然後assemble一下:
> nasm boot.asm -o boot.bin
。接者打開Hex Fiend把boot.bin打開,另存新檔成xxx.img

然後打開VirtualBox去新開一個Virtual Machine,接著再把剛剛的xxx.img給mount到Storage > Floppy Controller > Floppy Device 0上面去。最後再打開這台virtual machine就可以看到如下成果:
