風雲道者經典錄論壇

 找回密碼
 立即註冊
查看: 1599|回復: 1

構建開發操作系統的匯編(組合)語言環境

[複製鏈接]
發表於 2016-11-5 17:32:21 | 顯示全部樓層 |閱讀模式
本帖最後由 林傳說 於 2016-11-5 17:57 編輯

當前64位匯編語言的教材幾乎找不到一本,都是入門的幾篇文章,故暫以成熟的32位設計先,有空再翻譯看Intel網站上的64位編程資料。
由於windows都是在保護模式下運行,對於要直接操作硬件,例如out al,55h,int 10h等是不能夠運行,故要以懷舊的Dos6.22來操作。
以win10搭配dosbox爲例(也可以win7配微軟的VirtualPC 2007 SP1,但要另加個Virtual2004下的DOS Virtual Machine Additions.vxd才能共享DOS的檔):
一般的,在Win7/10下用RedAsm 2.2編好,編譯(masm)+連接(Link)後,才在Dosbox下的Masm/bin用cv.exe(即codeview)來調試,
Masm下的pwb(相當於vs下的ide)非常不好用,屏幕又小。

以圖爲例,當前的程式非常簡單,因爲正式開發才開始了幾天。未來還要進入保護模式,32位,MMX、SSE4的優化。
os1.jpg

os2.jpg

dosbox.jpg

這裡在命令行輸入:cv os.exe
cv.jpg

另外要注意的是:
在RedAsm下編譯DOS的程式(用MASM6),點擊菜單(menu)上的編譯(make)和連接(link),不要點擊構建(build),否則在DosBox下用cv調試時,程式開始不能定位到XXXX:0000,以致運行走了樣。

 樓主| 發表於 2016-11-5 17:40:47 | 顯示全部樓層
本帖最後由 林傳說 於 2016-11-5 17:53 編輯

《自己動手寫操作系統》里的畢竟只是非常小型的入門操作系統,因爲要用到虛擬軟盤(1.41M),故用VirtualPC 2007 SP1。
若放棄軟盤,用CD-ROM啟動,就可以用新版的MS VirtualPC,都是免費的。

畢竟1.41M容量太小,將個漢字字庫放入都不夠(例以微軟的正黑體都要用到2.2M了,還有滑鼠的圖案,背景,窗口,按鈕等,至少要用10M以上,還未計程式的容量)

Archiver|宇宙無神佛,世界所有宗教都是騙

GMT+8, 2020-2-21 06:49

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表