bochs模擬器建立映像文件 、寫入文件並啓動

安裝 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按鈕便可運行!

相關文章
相關標籤/搜索