第一天--第三天小結
這部分完成了作業系統的啟動過程(
將軟盤內容讀入到磁碟中,並執行相應的指令)
一、系統啟動
(一)製作啟動區
主要完成讀入軟盤內容到記憶體中的任務,該部分需控制在512位元組以內,並且符合系統引導程式的要求
(二)將檔案儲存到軟盤中以便讀取
書中使用了nask.exe將作業系統檔案(暫時這樣稱呼)生成了sys檔案,同時使用了edimg.exe將sys檔案寫入到sys之中。
(三)開始執行作業系統
書中總結了空白軟盤儲存檔案時的規則(檔名和檔案內容儲存的位置),結合了org和jmp指令,實現了在讀取完成後跳轉到作業系統指令開始執行。
流程:系統啟動-->讀取作業系統檔案到記憶體-->跳轉-->開始執行作業系統指令
二、32位模式前準備
(一)儲存相關畫面資訊
設定開始位址,然後賦值。如varm equ 0x0ff8 mov dword [varm],0x000a0000
(二)開始匯入c語言
了解c語言編譯成機器**的過程,最後在sys檔案中,c語言檔案和asmhead.nas檔案的內容會合在一起,c語言檔案的內容程式設計bootpack標號下的指令
c語言中呼叫彙編函式的方式
三、其它注意點
在讀取軟盤檔案時,設定了從0磁頭、0柱面、2扇區開始,所以書中在讀取軟盤內容時採取了乙個比較簡單的方式,降低了理解難度,但是會把與檔案無關的內容也讀入到記憶體中
閱讀**時要結合makefile檔案
四、問題
本書在進入保護模式時不像其它的書中寫的有乙個明顯的16位到32位的跳轉指令,暫時沒明白是如何實現的?
《30天自製作業系統》學習筆記 helloos0
本文 一 軟體 檔案 說明 1.cons nt.bat檔案 這是一種批處理檔案,可以直接執行指令。本檔案在這裡的作用相當於cmd,用記事本檢視其內容是,也即是cmd。2.cons 9x.bat檔案 和 cons nt.bat作用相同,只是用於windows95平台,所以相應的程式為command。3...
《30天自製作業系統》學習筆記(一)
一 組合語言 一 暫存器 ax accumulator 累加暫存器 al ah cx counter 計數暫存器 cl ch dx data 資料暫存器 dl dh bx base 基址暫存器 bl bh sp stack pointer 棧指標暫存器 bp base pointer 基址指標暫存器...
《30天自製作業系統》學習筆記(三)
一 指標相關 目的 達到效果 mov byte i i 0x0f 使用c語言直接操作記憶體 做法 int i char p p char i p i 0x0f 二 顯示控制 一 色號設定。採用調色盤模式,有程式設計師自己指定顏色編號。二 調色盤使用步驟。禁止中斷 將想要設定的調色盤號碼寫入0x03c...