《30天自製作業系統》學習筆記(四)

2021-07-14 00:00:25 字數 823 閱讀 3406

第一天--第三天小結

這部分完成了作業系統的啟動過程(

將軟盤內容讀入到磁碟中,並執行相應的指令)

一、系統啟動

(一)製作啟動區

主要完成讀入軟盤內容到記憶體中的任務,該部分需控制在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...