<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                上次我們說了代碼,這次我們說說怎樣看到實驗結果。 首先編譯源文件(我的源文件就在當前路徑下,a盤和c盤在上一級目錄下): nasm -f bin c08_mbr.asm -o c08_mbr.bin nasm -f bin c09_1.asm -o c0901.bin 然后將bin文件寫入a盤和c盤 dd if=c08_mbr.bin of=../a.img dd if=c0901.bin of=../c.img bs=512 seek=100 conv=notrunc 注意:也許你需要根據自身的情況修改路徑 ? 好了,運行Bochs 可是結果令人失望,不管我怎么嘗試,都看到了如下的圖 [![bochs_fail](https://box.kancloud.cn/2016-02-29_56d3a8f8bfcfa.jpg "bochs_fail")](http://img.blog.csdn.net/20160103005657960) 只能看到屏幕中間的“@”在閃爍,可是根本看不到時間。 ![哭泣的臉](https://box.kancloud.cn/2016-02-29_56d3a8f857ea0.jpg) ![哭泣的臉](https://box.kancloud.cn/2016-02-29_56d3a8f857ea0.jpg) ![哭泣的臉](https://box.kancloud.cn/2016-02-29_56d3a8f857ea0.jpg) 我也試圖調試一下,在中斷處理程序里面打了斷點,可是中斷似乎進不去。 無法運行出正確的結果,也許不是我們錯了,或許是工具的問題。畢竟我用的是win7+vmware+ubuntu+bochs,而不是一個真實的環境。 ? 好吧,既然這條路走不通,那我就換一條路吧。是不是vmware的問題呢?那我們用virtualBox試一試。 于是,我打造了win7+virtualBox+ubuntu+bochs,可是和上面的結果完全一樣,還是失敗了。看來不是vmware的問題。 真的是山窮水盡了嗎?我又想了一個方法,就是作者在第四章推薦的方法,virtualBox+VHD文件; 說干就干,首先,我們需要在virtualBox上創建一臺虛擬機。 ? 第1步:啟動VirtualBox,點擊【新建】 [![vb-1](https://box.kancloud.cn/2016-02-29_56d3a8f9000be.jpg "vb-1")](http://img.blog.csdn.net/20160103005704989) 圖中的名稱是自己起的,我的叫“hello_asm”; 類型和版本也不重要,很多人都會誤解,以為VirtualBox會根據我們的選擇來安裝一個現成的操作系統。其實,并不是這樣,讓我們選擇操作系統的唯一目的,就是根據我們的選擇,在后面的步驟中為我們提供合理的硬件配置。實際上,我們不打算安裝任何操作系統,所以,我選擇了Other。好的,我們點擊【下一步】; ? 第2步:分配內存大小 [![vb-2](https://box.kancloud.cn/2016-02-29_56d3a8f92a269.jpg "vb-2")](http://img.blog.csdn.net/20160103005714944) 內存大小就根據自己主機的物理內存來配置吧,這里我選了512M,然后點擊【下一步】; ? 第3步:創建虛擬硬盤(或者用作者提供的) [![vb-3](https://box.kancloud.cn/2016-02-29_56d3a8f954b6f.jpg "vb-3")](http://img.blog.csdn.net/20160103005724790) 這里可以用作者提供的VHD文件,也可以自己創建。為了不失一般性,我們選擇‘現在創建虛擬硬盤’,點擊【創建】 ? 第4步:選擇虛擬硬盤的文件類型 [![vb-4](https://box.kancloud.cn/2016-02-29_56d3a8f98209e.jpg "vb-4")](http://img.blog.csdn.net/20160103005735590) 這里一定要選擇VHD,因為我們打算用作者提供的工具(fixvhdwr.exe),然后點擊【下一步】; ? 第5步:選擇虛擬硬盤的類型 [![vb-5](https://box.kancloud.cn/2016-02-29_56d3a8f9a7542.jpg "vb-5")](http://img.blog.csdn.net/20160103113346601) 一定要選擇“固定大小”,因為本書的配套工具只支持固定大小的。然后點擊【下一步】 ? 第6步:選擇虛擬硬盤的位置和大小 [![vb-6](https://box.kancloud.cn/2016-02-29_56d3a8f9dcc99.jpg "vb-6")](http://img.blog.csdn.net/20160103113357408) VHD文件位置是自己設置的,一定要放在一個你可以找到的地方。其實,放在作者提供的配書工具所在的文件夾是最方便的。我這里放在D盤。 另外,還要選擇虛擬硬盤的大小,我選了2GB;作者的要求是,一定要大于50MB![大笑](https://box.kancloud.cn/2016-02-29_56d3a8fa14f3c.jpg) ,然后點擊【創建】; ? 通過以上6步,我們的虛擬硬盤就創建好了。 ? 下面的任務是把我們的bin文件寫入虛擬盤,最后看一下結果。 第1步:打開作者的配書工具——fixvhdwr.exe [![vb-8](https://box.kancloud.cn/2016-02-29_56d3a8fa25718.jpg "vb-8")](http://img.blog.csdn.net/20160103113410399) 第2步:選擇虛擬磁盤文件 [![vb-9](https://box.kancloud.cn/2016-02-29_56d3a8fa4d943.jpg "vb-9")](http://img.blog.csdn.net/20160103113416235) 找到我們剛才保存虛擬硬盤的目錄,選擇哪個VHD文件,然后【下一步】; [![vb-10](https://box.kancloud.cn/2016-02-29_56d3a8fa6ec9a.jpg "vb-10")](http://img.blog.csdn.net/20160103113420127) 第3步:選擇數據文件 [![vb-11](https://box.kancloud.cn/2016-02-29_56d3a8fa8f0fa.jpg "vb-11")](http://img.blog.csdn.net/20160103125455371) 找到我們編譯好的c08_mbr.bin文件 ? 第4步:設置起始LBA扇區號,并寫入文件 [![vb-12](https://box.kancloud.cn/2016-02-29_56d3a8faa9427.jpg "vb-12")](http://img.blog.csdn.net/20160103125459515) 因為是啟動文件,所以我們選擇0,然后點擊【寫入文件】;之后可以看到: ? [![vb-13](https://box.kancloud.cn/2016-02-29_56d3a8fac5f8b.jpg "vb-13")](http://img.blog.csdn.net/20160103125502524) 最后點擊【完成】; 通過上面4個步驟,我們就把一個.bin文件寫入VHD文件了。 用同樣的方法,我們可以把c0901.bin(用戶程序)寫入邏輯扇區100(起始邏輯扇區號一定要和代碼中的保持一致); ? 下面,我們啟動虛擬機,看看結果吧: [![vb-14](https://box.kancloud.cn/2016-02-29_56d3a8fadccdc.jpg "vb-14")](http://img.blog.csdn.net/20160103125507098) 啟動虛擬機,我們終于看到了屏幕中央閃爍的時間! ? 經過上面的折騰,我覺得不是VMware的問題,也不是VirtualBox的問題,很可能是Bochs的問題! 心血來潮,我想到了我安裝的Bochs不是最新版本,也許我可以弄個最新版本試一試。 于是我在VMware上安裝了Bochs-2.6.8,按照以前的方法,得出的結果又驚喜又困惑,請看圖: [![2.6.8_result](https://box.kancloud.cn/2016-02-29_56d3a8fb073d8.jpg "2.6.8_result")](http://img.blog.csdn.net/20160103125511840) 看到了嗎?屏幕中央有時間了! 遺憾的是,這個時間跳動得太快了,也就是說這個時鐘走得特別快,根本不是每秒一次的更新頻率。我想這還是Bochs的問題吧。 ? 好了,今天就到這里,下次再見![吐舌鬼臉](https://box.kancloud.cn/2016-02-29_56d3a8fb25553.jpg) !
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看