2010-05-19 90 views
1

我想知道編寫NASM上編譯簡單內核的標準方式是什麼?與NASM彙編編寫OS內核

要獲得更清晰: 我能夠與所有定義代碼塊以下幾種方式:

[segment code] 
[segment .code] 
segment code 
segment .code 

[section code] 
[section .code] 
section code 
section .code 

我需要知道什麼是做到這一點的標準方式,什麼是它們之間的區別......

感謝

+1

NASM有[優秀文檔](http://www.nasm.us/doc/nasmdoc6.html#section-6.3)。你難以理解的部分是什麼?你更有可能在這裏得到更具體的問題的答案。 – 2010-05-19 10:05:02

+0

你真的是指*「內核」*嗎?或者你只是指一個簡單的*程序*? – 2010-05-19 10:05:26

+0

我的意思是要啓動一個內核(而不是當前的操作系統..) – Betamoo 2010-05-19 10:06:24

回答

2

你的問題是NASM文檔中的答案,如上所述。

事實是,當你加載你的代碼時,這些部分並不意味着很多。要加載的內核需要一個完整的引導加載程序,並且引導加載程序具有512b來加載GDTr,啓用A20,進入保護模式並跳轉到_kmain。 結賬OSDev.org以獲取更多示例和信息。