安裝 bochs,dd for windows,nasm,並將安裝目錄加入到環境變量中。linux
我用的bochs版本是2.6.8windows
1.用 bochs 中 bximage.exe 建立新的 img 文件oop
2.編寫彙編代碼並編譯成二進制文件code
test.asm彙編文本文件blog
org 0x7C00 ;主引導記錄的內存地址 jmp entry entry: mov ax, 0 mov ss, ax mov ds, ax mov es, ax mov si, msg ;將msg地址賦給si putLoop: mov al, [si] ;等同 mov al, byte [si] 將si地址開始的一個字節的值放入al中 add si, 1 ;si = si+1 cmp al, 0 ;al與0比較 je fin ;如上面比較相等 則跳轉到fin 不相等則不跳轉,執行後面命令 mov ah, 0x0e int 0x10 jmp putLoop fin: HLT ;暫停 jmp fin msg: DB 0x0a, 0x0a DB "create,jadeshu OS!" ;DB 0 times 510-($-$$) db 0;填充510字節的0,$$表示編譯後的起始地址 dw 0xaa55 ;表示結束,加上前面的510字節正好512字節知足條件
用cmd 命令輸入nasm test.asm -o test.bin 編譯成二進制文件內存
3.將test.bin文件寫入如上面第1點講解建立的映像文件a.img內jade
在 cmd 中使用指令dd if=test.bin of=a.img bs=512 count=1 將test.bin寫入 a.img映射文件內cmd
若是沒有dd命令,在windows下能夠安裝cygwin,又簡單又方便使用linux命令!asm
4.新建一個文件bosh.src,文件名你本身能夠隨便命令,以下是配置文件編譯
megs:32 romimage:file=$BXSHARE/BIOS-bochs-latest vgaromimage:file=$BXSHARE/VGABIOS-lgpl-latest floppya:1_44=a.img,status=inserted boot:floppy log:bochsout.txt mouse:enabled=0 keyboard: keymap=$BXSHARE/keymaps/x11-pc-de.map
5.啓動
在命令指示符中鍵入 .\bochs.exe -f bosh.src
點擊start按鈕便可運行!