亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? helloworldos.txt

?? 關于BOCHS的詳細使用說明
?? TXT
字號:
自己動手寫操作系統--"Hello, OS world!"

1、開發環境與工具

開發環境:winxp+sp2
必須安裝Bochs-2.3,nasm,UltraEdit.
下載nasm后,添加nasm所在目錄到到path目錄,建議直接將nasm放到windows或system32目錄,方便從命令行調用.
下載地址:http://sourceforge.net/projects/nasm

2、準備

下載并解壓縮bochs后,安裝和一般的windows軟件安裝一樣,注意為了方便學習,安裝時選擇完全安裝,即要選擇那個dlxlinux。你可以在它的目錄中找到一個名為bximage.exe的程序,這個程序可以為我們創建磁盤鏡像文件,我們可以在這些磁盤鏡像文件上嘗試我們的操作系統,而不必實際改動我們的硬盤或是軟盤上的數據,畢竟,在沒有實際把握之前,我們不愿意給我們的計算機帶來什么不可恢復的傷害。

下面的表格顯示了一次bximage.exe的運行。它為我們創建了一個名為boot.img的文件,這個文件是一張容量為1.44m的軟盤的鏡像。

 


========================================================================
                                bximage
                  Disk Image Creation Tool for Bochs
        $Id: bximage.c,v 1.32 2006/06/16 07:29:33 vruppert Exp $
========================================================================

Do you want to create a floppy disk image or a hard disk image?
Please type hd or fd. [hd] fd

Choose the size of floppy disk image to create, in megabytes.
Please type 0.16, 0.18, 0.32, 0.36, 0.72, 1.2, 1.44, 1.68, 1.72, or 2.88.
 [1.44]
I will create a floppy image with
  cyl=80
  heads=2
  sectors per track=18
  total sectors=2880
  total bytes=1474560

What should I name the image?
[a.img] boot.img

Writing: [] Done.

I wrote 1474560 bytes to boot.img.

The following line should appear in your bochsrc:
  floppya: image="boot.img", status=inserted
(The line is stored in your windows clipboard, use CTRL-V to paste)

Press any key to continue
 


3、創建自己的引導程序boot.asm

org 07c00h ; 告訴編譯器程序加載到 7c00處 

                      mov ax, cs 

                      mov ds, ax 

                      mov es, ax 
                      
                      call DispStr ; 調用顯示字符串例程 

                      jmp $ ; 無限循環 

                DispStr: 

                      mov ax, BootMessage 
                      
                      mov bp, ax ; es:bp = 串地址 

                      mov cx, 16 ; cx = 串長度 

                      mov ax, 01301h ; ah = 13, al = 01h 
                      
                      mov bx, 000ch ; 頁號為 0(bh = 0) 黑底紅字(bl = 0Ch,高亮) 

                      mov dl, 0 
                      
                      int 10h ; 10h 號中斷 

                      ret 

                BootMessage: db "Hello, OS world!" 
                
                     times 510-($-$$) db 0 ; 填充剩下的空間,使生成的二進制代碼恰好為 

                                                    ; 512字節 
                      dw 0xaa55 ; 結束標志 
 

           
4、編譯源文件并復制到軟驅鏡像文件中                  
                       
我的Bochs安裝在“D:\SoftTools\Bochs-2.3” ,在該目錄下創建一個HelloOS的目錄,
以便為后的工作做好準備。將boot.asm保存在“D:\SoftTools\Bochs-2.3\HelloOS” ,
同時將上面創建的“boot.img”也保存到“HelloOS”下。
下面我們利用上面提到的匯編編譯器nasm將上面的匯編程序編譯下:
C:\Documents and Settings\apple>d:

D:\>cd D:\SoftTools\Bochs-2.3\HelloOS

D:\SoftTools\Bochs-2.3\HelloOS>nasmw boot.asm -o boot.bin

D:\SoftTools\Bochs-2.3\HelloOS>

這之后,你將得到一個名為boot.bin的純二進制文件,大小正好為512字節。
用UltraEdit編輯器打開這個文件,你可以看到這個文件中有一半以上的字節為0,最后兩個字節為55和aa。
 
然后,用你的編輯器打開boot.img,把boot.bin中的內容全部復制到其中。
值得注意的是,你應該把內容復制到boot.img的開始處,也就是說,復制后的內容占用了boot.img的0x000到0x1ff字節。
值得一提的是,如果復制數據不一樣,請確保選擇:UltraEdit編輯器 -〉編輯-〉剪貼板-〉用戶剪貼板1,
這樣應該就不會有什么問題了。

5、寫配置文件

為了配置的簡單起見,將“D:\SoftTools\Bochs-2.3\dlxlinux”目錄下的“bochsrc.bxrc”和“run.bat”
兩個文件復制到“HelloOS”下。我們只要稍微的修改下“bochsrc.bxrc”和“run.bat” 這兩個文件就好了。

“bochsrc.bxrc”修改后的文件如下:

###############################################################
# bochsrc.txt file for zieckey's first OS boot disk image.
###############################################################

# how much memory the emulated machine will have
megs: 32

# filename of ROM images
romimage: file=../BIOS-bochs-latest, address=0xf0000
vgaromimage: file=../VGABIOS-lgpl-latest

# what disk images will be used 
floppya: 1_44=boot.img, status=inserted
#floppyb: 1_44=floppyb.img, status=inserted

# hard disk
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
#ata0-master: type=disk, path="hd10meg.img", cylinders=306, heads=4, spt=17

# choose the boot disk.
boot: floppy

# default config interface is textconfig.
#config_interface: textconfig
#config_interface: wx

#display_library: x
# other choices: win32 sdl wx carbon amigaos beos macintosh nogui rfb term svga

# where do we send log messages?
log: bochsout.txt

# disable the mouse, since DLX is text only
mouse: enabled=0


 

注意上面的幾個重要修改地方:
1) 注釋掉帶有"hd10meg.img" 的行,這是
# hard disk
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
#ata0-master: type=disk, path="hd10meg.img", cylinders=306, heads=4, spt=17
2) 啟動項應該為軟驅啟動,這與我們前面做的軟驅鏡像一直
# choose the boot disk.
boot: floppy

“run.bat”修改后的文件如下:
cd "D:\SoftTools\Bochs-2.3\HelloOS"
..\bochs -q -f bochsrc.bxrc


6、運行我們的第一個簡陋的操作系統(或者說系統引導程序)

雙擊“bochsrc.bxrc”或者“run.bat”,這時候會跳出兩個窗口,其中一個應該是這樣的:

Hello, OS world!Bios 0.6a 19 Aug 2006
This VGA/VBE Bios is released under the GNU LGPL

Please visit :
 . http://bochs.sourceforge.net
 . http://www.nongnu.org/vgabios

Bochs VBE Display Adapter enabled

Bochs BIOS - build: 08/11/06
$Revision: 1.166 $ $Date: 2006/08/11 17:34:12 $
Options: apmbios pcibios eltorito


Booting from Floppy...


第一行的“Hello, OS world!”就是我們要看到的結果。

7、下面對Bochs的用法作一個簡單的說明

bochs用法 BOCHS是一個開源的虛擬機。它可以實現vpc和vmware的大部分功能。你也可以像使用vmware一樣的在BOCHS里面安裝操作系統。但是,由于它是全模擬的。所以,速度要遠遠慢于vmware.這樣看來BOCHS好像沒有什么優勢.是這樣嗎?在應用方面的確如此。但是,在其他一個方面它是處于絕對優勢的。那就是它具有調試功能!這是一個讓人振奮的功能。這個功能在你調試操作系統或者其他一些在裸機上運行的程序時候,會讓你有一種在寫 windows下運行的應用程序的感覺。有時候它是我們的救命稻草。沒了它,也能活,但是肯定要糟糕的多。好了我們開始切入正題。
一、 配置BOCHS
實際上配置BOCHS是很簡單的,為什么很多人不會配置呢?我覺的就是因為他使用和配置方式和普通程序不一樣——配置文件。實際上配置文件是和ini文件、bat文件類似的。bochs沒有給我們提供圖形界面的配置工具。這就需要我們自己來修改配置文件。簡單的配置就可以讓你的操作系統在BOCHS里面跑起來。用BOCHS跑完整的linux和windows是不現實的。實在是太慢了。一般我們也只能把他當成調試器來使用。現在,我們先看一下如何讓 dos在他里面跑起來。
如果你細心的話你會發現在BOCHS文件夾里面有一個bochsrc-sample.txt的文本文件。里面包含了所有了BOCHS參數的信息。這個是官方的教程。可惜是英文的,而且我也沒有找到有中文的教程(不然也沒有我這篇文章)。在這里我們僅僅介紹最簡單的配置選項。好了,廢話就不多說了。我們現在就開始。
我們以一個例子來說明,這個例子是我用來跑dos以及我自己的小操作系統的。下面就是我們要用到的最基本的選項:

# 在一行的最前面加上“#”表示這一行是注釋行。
# 內存,以MB為單位,對于dos來說最大可以訪問16MB
# 的內存,所以我就給了他16MB,你可以根據自己的機器來調
# 整
megs: 16
# 下面兩句一般是不可以改的,至于干什么用的就不用我說
# 了。從他們的文件名就可以看出來。
romimage: file=../BIOS-bochs-latest, address=0xf0000
vgaromimage: file=../VGABIOS-lgpl-latest
# 這個還用說嗎?當然是軟驅了,我想我們寫操作系統肯定是先
# 把操作系統放在軟盤(或映像)里面吧?在BOCHS里面是可
# 以使用任意大小的軟驅映像的。可以是1.44或2.88,我一般使
# 用2.88。還有就是BOCHS里面可以使用兩個軟驅。不過好像
# 我們并不經常這樣做。
floppya: 2_88=test.img, status=inserted
#floppyb: 1_44=floppyb.img, status=inserted
# 下面是硬盤,很簡單,還有就是BOCHS也是可以支持多個硬
# 盤的。那么,硬盤文件是怎么生成的呢?我們可以發現硬盤是
# img格式的。你注意沒有在BOCHS文件夾里有一個工具叫
# bximage.exe,我想你應該猜出來了。他就是用來生成這個硬盤
# 文件的工具。我在這兒還想說的是硬盤分三種格式的,最好選
#用growing類型。這種有一個好處就是節省硬盤空間,不過使用
#這種類型的硬盤還需要在下面加上mode = growing這個選項。
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata0-master: type=disk, path="dos.img", cylinders=306, heads=4, spt=17
# 下面這個就是光驅,沒什么好說的。如果你想使用物理光驅,
# 只要讓path=E:(我們假設E盤是光驅)
ata0-slave: type=cdrom, path="dos.iso", status=inserted
# 這個是啟動設備,可以使用cdrom(光驅)、c(硬盤)或floppy(軟
# 驅)。
#boot: cdrom
boot: c
#boot: floppy
# 這一句可以不要,他只是指定用來保存日志的文件。如果不指定的
# 話他就會輸出到命令控制臺上。
log: bochsout.txt
# 這一句是設置在開機時是否激活鼠標,BOCHS對于鼠標的控制不是
# 很好。建議如果不是特別需要的話不要激活他。在運行期間也可以點窗口右上角的鼠標圖標來激活他。
mouse: enabled=0

 

 

以上這些設置就可以讓你的DOS或自己的小操作系統在BOCHS里面跑起來了。至于其他的一些高級支持,你可以查看bochsrc-sample.txt里面的說明。不要害怕他,其實很簡單。關鍵是拋棄恐懼。

有幾個重要的參數再做詳細說明:
第一個參數:floppya這是A驅動器的參數,當然,自然也是模擬的。通常所用的軟驅是1。44MB的,因此后面跟的參數是1_44=/dev/fd0 注意,這個/dev/fd0必須是你的軟驅的鏡像,比方說咱們的msdos就是msdos.img,你把/dev/fd0改成1_44= msdos.img就可以,當然,也可以模擬其它的軟驅,如2。88M,720K,360K的,這非常的有用!你裝minix1.5版的時候就知道了,網站上download的都是360K,說明那是360K的磁盤,你可以模擬除360K的軟驅使用。后面的參數status標明軟驅的狀態,只能有兩個 inserted(軟盤插入軟驅),ejected(軟盤未插入軟驅)。完整的就是floppya: 1_44=msdos.img, status=inserted,別的軟驅如B類似。
       第二個參數:boot,這是啟動的驅動器,它的頻率也比較高。它可以帶的參數有floppy(軟驅啟動),disk(磁盤啟動),cdrom(光驅啟動)。
       這兩個參數是最最常用的,幾乎是必用吧。嗯~~下面的參數是關于硬盤的,有些麻煩,也算是比較常用吧。
       第三個參數:ata0,ata1,ata2,ata3,這應該算是四個參數吧,沒事別改它,反正我是沒改過它,還常常吧后面的ata1,ata2,ata3給注釋掉,僅僅留ata0。至于參數嗎,你自己看看吧,不常用,我后面說。
       第四個參數:ATA[0-3]-MASTER,ATA[0-3]-SLAVE,這就有用了,指定硬盤或光盤的參數,并指明它是主盤還是從盤。標準的參數是 ata0-master: type=disk, mode=flat, path="30M.sample", cylinders=615, heads=6, spt=17,type參數只能是兩者,disk(硬盤),cdrom(光盤),mode這個參數鏡像類型,它僅僅是針對磁盤才有效,有幾種,flat (一個文件的布局)concat(多個文件的布局)external(開發者指定的,通過C++的類BOCHS就是C++開發的)dll(開發者指定的,通過dll文件)vmware3(wmware3使用的硬盤鏡像)。還有幾個其它的不介紹;path是指定硬盤或是光盤鏡像的文件。Cylinders, Heads,Spt這幾個參數通過這名字就能知道了。注意,這通常來說也不算是太重要,但是某些時候,則是特別重要,比如以前我裝minix1.5的時候,用bximage這個bochs自帶的創建磁盤工具創建了個硬盤,然后就指明路徑就運行,結果分區的時候一直出錯,查了半天才發現這幾個參數沒有設置好,bximage創建的硬盤的Heads和Spt似乎是固定的,和模板自帶的不一樣,結構分區的時候,自然按配置文件里的計算,和實際的自然不符。
       知道這3個參數(除了第三個),基本上就能應付大多數的了。

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品77777| 日韩欧美一二三四区| 欧美日韩精品一区二区在线播放| 欧美精品三级在线观看| 国产精品色呦呦| 美国三级日本三级久久99| 日本韩国一区二区| 中日韩av电影| 久久精品国产成人一区二区三区| 欧美午夜理伦三级在线观看| 国产精品三级在线观看| 国产主播一区二区| 日韩一级免费观看| 日日噜噜夜夜狠狠视频欧美人| av在线不卡电影| 日本一区二区视频在线观看| 精品一区二区三区免费毛片爱| 欧美亚洲国产bt| 一区二区三区精品久久久| 99国产精品久久久久久久久久| xnxx国产精品| 国产一区二区三区四区在线观看| 日韩女同互慰一区二区| 偷偷要91色婷婷| 欧美精品vⅰdeose4hd| 亚洲444eee在线观看| 欧美中文字幕一二三区视频| 一区二区三区在线视频播放| 一本色道亚洲精品aⅴ| 成人免费一区二区三区视频| eeuss鲁片一区二区三区在线观看| 久久久www成人免费毛片麻豆 | 国内精品自线一区二区三区视频| 日韩一区二区在线观看视频 | 日韩精品一区二区三区中文精品| 五月天网站亚洲| 3d成人动漫网站| 男女男精品视频| 欧美xxx久久| 国产成人av电影在线| 一区精品在线播放| 93久久精品日日躁夜夜躁欧美| 亚洲日本一区二区| 91精品福利视频| 婷婷中文字幕综合| 精品久久久久久久一区二区蜜臀| 激情综合色播激情啊| 国产精品美女久久久久久久久久久 | 国产三级一区二区| 99精品久久只有精品| 樱桃视频在线观看一区| 欧美另类videos死尸| 黄色日韩网站视频| 亚洲天堂中文字幕| 日韩一区二区在线播放| 国产精品影视在线观看| 亚洲精品成人天堂一二三| 91精品国产91热久久久做人人| 97se亚洲国产综合自在线不卡| 亚洲精品免费在线播放| 欧美一区二区啪啪| 国产91精品免费| 午夜亚洲国产au精品一区二区| 26uuu亚洲| 色吧成人激情小说| 国产一区二区三区观看| 亚洲美女偷拍久久| 亚洲精品在线电影| 在线观看日韩国产| 国产精品123区| 午夜精品国产更新| 中文字幕亚洲成人| 欧美大片顶级少妇| 91论坛在线播放| 蜜臀av性久久久久蜜臀aⅴ流畅 | 91精品啪在线观看国产60岁| 国产丶欧美丶日本不卡视频| 亚洲成a天堂v人片| 国产精品久线观看视频| 精品区一区二区| 欧美亚洲日本一区| 91色九色蝌蚪| 国产成人综合在线| 奇米影视一区二区三区| 亚洲免费色视频| 久久精品无码一区二区三区| 3d动漫精品啪啪| 欧美婷婷六月丁香综合色| 成人一区二区三区| 国产一区二区在线视频| 日韩电影在线看| 亚洲成人激情自拍| 伊人婷婷欧美激情| 国产精品免费看片| 久久久久久久国产精品影院| 欧美电影免费观看高清完整版| 欧美视频三区在线播放| 91视频国产观看| 成人免费av网站| 国产福利一区在线| 国产精品资源在线| 精品在线视频一区| 九九在线精品视频| 蜜桃一区二区三区四区| 日精品一区二区| 日日欢夜夜爽一区| 日本午夜一本久久久综合| 夜夜亚洲天天久久| 一级精品视频在线观看宜春院 | 欧美成人伊人久久综合网| 欧美理论片在线| 91麻豆精品国产自产在线观看一区| 欧美日韩国产综合一区二区| 欧美日韩另类一区| 欧美高清精品3d| 欧美一区二区成人| 精品国产成人在线影院| 精品欧美一区二区在线观看| 精品1区2区在线观看| 国产日产亚洲精品系列| 国产精品国产三级国产aⅴ入口| 国产日产欧产精品推荐色| 国产精品网曝门| 亚洲欧美激情插| 亚洲不卡av一区二区三区| 免费成人av在线| 国内精品嫩模私拍在线| 成人免费不卡视频| 91久久免费观看| 8v天堂国产在线一区二区| 日韩精品一区二区三区在线播放| xnxx国产精品| 亚洲色图丝袜美腿| 五月综合激情网| 狠狠狠色丁香婷婷综合激情| 不卡视频在线观看| 欧美一a一片一级一片| 欧美一级免费观看| 国产精品日日摸夜夜摸av| 有坂深雪av一区二区精品| 精品一区二区三区在线播放视频| 国产麻豆精品久久一二三| 91在线视频在线| 欧美日本一区二区在线观看| 久久亚洲春色中文字幕久久久| 1024国产精品| 蜜臀久久99精品久久久久久9| 成人av小说网| 7777精品久久久大香线蕉| 久久精品免视看| 亚洲国产日韩a在线播放性色| 激情综合网天天干| 色综合天天综合网天天狠天天| 欧美精品一卡二卡| 国产精品私人影院| 美女视频网站黄色亚洲| fc2成人免费人成在线观看播放| 欧美一区午夜精品| 亚洲情趣在线观看| 国产一区二区三区在线观看免费| 欧美天堂亚洲电影院在线播放| 国产欧美精品一区| 日韩国产一区二| 91污在线观看| 精品少妇一区二区三区在线视频| 亚洲乱码国产乱码精品精的特点| 激情六月婷婷综合| 欧美另类久久久品| 樱桃视频在线观看一区| 国产成人精品亚洲777人妖| 欧美三级视频在线| 中文字幕亚洲在| 国产一区二区三区四区五区入口| 欧美视频精品在线| 中文字幕在线一区免费| 国产一区二区三区日韩| 欧美剧在线免费观看网站| 亚洲色图色小说| 国产精品99久久久久久似苏梦涵| 欧美日韩国产高清一区二区| 中文字幕亚洲精品在线观看| 国产一本一道久久香蕉| 在线电影院国产精品| 一二三区精品福利视频| av在线这里只有精品| 久久精品欧美一区二区三区麻豆| 美女看a上一区| 欧美一区二区三区日韩| 午夜精品福利一区二区蜜股av| 日本精品裸体写真集在线观看| 中文字幕一区二区三区在线播放 | 蜜桃视频在线观看一区| 欧美欧美欧美欧美| 亚洲成人自拍偷拍| 欧美无乱码久久久免费午夜一区 | 综合网在线视频| a亚洲天堂av| 中文字幕一区二区三区视频| www.欧美精品一二区| 日韩毛片精品高清免费|