在學習30天自製作業系統時,遇到乙個問題就是:
$(edimg) imgin:../z_tools/fdimg0at.tek \
wbinimg src:ipl.bin len:512 from:0 to:0 \
copy from:haribote.sys to:@: \
imgout:haribote.img
書上說是製作映象檔案,但是沒有非常清楚的說明白。
弄清楚這個問題,首先需要將fat12檔案系統弄清楚,
fat12檔案系統分為四個部分,【引導扇區】、【fat檔案分配表1和2】、【根目錄區】、【使用者資料區】
0x0000 、0x0200 、0x1400、0x2600 、0x4200
也就是是說根目錄的位址是0x2600
而實際檔案存放資料的位址為0x4200
當儲存乙個檔案時,實際上修改了三個地方的資料,【fat檔案分配表1和2】、【根目錄區】、【使用者資料區】
他們的含義可以從目錄檢視:
而根據實際的二進位制檔案也可以證實這點.
首先檢視最後
0x4200的位址的資料,
該資料就是外部檔案haribote.sys檔案實際經過nask.exe 轉換為二進位制資料後的資料
而檢視位址0x2600的資料
該資料首先是haribotesys的大寫,沒有點,接著是一段亂碼,總共32個位元組,至於原因可以從上文所給的鏈結
中找到。
再看fat檔案分配表1,
最開頭的三個位元組固定,f0 ff ff
接著就是檔案所在的簇了,fat12 (512個位元組是乙個簇)
30天自製作業系統
第一天的內容很少,是一些簡單的基礎知識,在這裡我就沒有必要寫出來了,只說出大概的輪廓了,然後我會對其中的幾點進行詳細的解釋。文章的第一天的輪廓大概是這樣的,作者首先用二進位制編輯器做了乙個顯示二進位制的程式,然後用彙編完全db的形式,後又進行改善,最後以比較標準的組合語言編寫,但程式主體部分還沒有翻...
30天自製作業系統 導讀
說明 這是8月15日即將上市的一本新書,本文的摘選也可以命名為 30天自製作業系統 上市之前必讀。本書幽默,有趣,可以說是技術書裡的幽默書,讓您讀起來絕對不會感到乏味。在本書上市之前,您一定先要讀下此篇文章,可以避免在學習中走更多的閱讀彎路,因為更多的讀者會問,七百多頁,30天?是的,看完此篇內容,...
30天自製作業系統 startHaribote
haribote os tab 4 org 0x8400 mov si,msg call putloop mov al,0x13 mov ah,0x00 int 0x10 fin hltjmp fin msg db 0x0a db test db 0 putloop mov al,si add si...