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

2021-07-13 17:28:27 字數 817 閱讀 6056

一、指標相關

目的:達到效果 mov byte[i],    (i&0x0f)    使用c語言直接操作記憶體

做法:int i;    char *p;    p=(char *) i;    *p=i&0x0f

二、顯示控制

(一)色號設定。採用調色盤模式,有程式設計師自己指定顏色編號。

(二)調色盤使用步驟。禁止中斷-->將想要設定的調色盤號碼寫入0x03c8埠,接著按照rgb順序寫入0x03c9埠,繼續設定接著寫rgb-->開放中斷

(三)調色盤使用步驟。操作0x03c9和0x03c8

三、繪製矩形(設定顯示位置,顏色、區域大小)

四、關於調色盤的思考

在閱讀本部分內容時,始終不明白在set_patette函式中在寫入rgb時為什麼要除以四

後來綜合了一下幾個方面的內容來理解。

1.調色盤的對應關係。調色盤只是表示顏色和編號的乙個對應關係,以書中的例子來說,#000000所表示的黑色在調色盤中對應就是第1號,所以在使用時只要指定編號是1,就會從調色盤中讀出對應的rgb值。

2.乙個顏色是由rgb值分量組成,在書中說是由6位十六進製制數組成,但是在init_palette中每乙個分量有8位,所以在寫入時需要將位數右移以符合要求。

一點感想:

這本書講到這裡已經實現了boot和loader的功能,系統也能進入到保護模式中,但是從書中看沒有明顯的實模式向保護模式的跳轉,在載入軟盤內容到記憶體之後也沒有顯式的設定指令指標暫存器,也弱化了保護模式和實模式的講解,從實際的開發流程出發,需要什麼知識就講什麼知識,比較有閱讀親和力。但是在閱讀之後是否還有必要去詳細了解實模式和保護模式呢,會不會對後面的閱讀帶來困擾。

《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天自製作業系統》學習筆記(四)

第一天 第三天小結 這部分完成了作業系統的啟動過程 將軟盤內容讀入到磁碟中,並執行相應的指令 一 系統啟動 一 製作啟動區 主要完成讀入軟盤內容到記憶體中的任務,該部分需控制在512位元組以內,並且符合系統引導程式的要求 二 將檔案儲存到軟盤中以便讀取 書中使用了nask.exe將作業系統檔案 暫時...