《30天自製作業系統》day1

2021-10-07 02:31:40 字數 1261 閱讀 7831

自製作業系統day1

途中遇到的問題:

按書上說明做好第乙個helloos.img的時候作者提供的16位軟體不相容,想用vm裝,一上午死活裝不上去,甚至想強行把.img變成.iso,後來才知道img是軟盤映像,不能新增cd或者硬碟的驅動。解決之後成功hello world。

dw	1			;beginning of fat

db 2 ;number of fat(must be 2)

dw 224 ;根目錄大小(一般為224項)

dw 2880 ;該磁碟大小)必須為2880扇區)

db 0xf0 ;磁碟種類(必須位0xf0)

dw 9 ;length of fat(9 section)

dw 18 ;the number of section one track has(磁軌)

dw 2 ;磁頭數(必須是2)

dd 0 ;不使用分割槽

dd 2880 ;重寫一次磁碟大小

db 0,0,0x29 ;意義不明,固定

dd 0xffffffff ;(maybe)卷標號碼

db "lj-os " ;磁碟名稱(11b)

db "fat12 " ;磁碟格式名稱(8b)

resb 18 ;空18b

;程式主體

db 0xb8,0x00,0x00,0x8e,0xd0,0xbc,0x00,0x7c

db 0x8e,0xd8,0x8e,0xc0,0xbe,0x74,0x7c,0x8a

db 0x04,0x83,0xc6,0x01,0x3c,0x00,0x74,0x09

db 0xb4,0x0e,0xbb,0x0f,0x00,0xcd,0x10,0xeb

db 0xee,0xf4,0xeb,0xfd

;資訊顯示部分

db 0x0a,0x0a ;2個換行

db "hello, world!"

db 0x0a

db 0

resb ox1fe-$ ;填寫0x00直到0xfe,$代指前已輸入的132個位元組

db 0x55,0xaa

;啟動區外部分的輸出

db oxf0,0xff,0xff,0x00,0x00,0x00,0x00,0x00

resb 4600

db oxf0,0xff,0xff,0x00,0x00,0x00,0x00,0x00

resb 1469432

30天自製作業系統day1

一 先說說書中的軟體 cons 9x.bat檔案 和 cons nt.bat作用相同,只是用於windows95平台,所以相應的程式為command。run.bat檔案 內容是copy helloos.img z tools qemu fdimage0.bin 此句是將helloos.img複製為f...

30天自製作業系統筆記 DAY1

作業系統課上的level3決定做這個了,下午馬原大概看了一下第一章,是關於扇區啟動的,晚上試了一下,遇到幾個問題,總結一下。1.現在沒有軟盤了 使用了u盤作為啟動器,使用usbbit或win32diskmanager來將img裝載到u盤上,現在u盤變為1.35m,模擬為了fat12的軟盤 2.開機無...

30天自製作業系統

第一天的內容很少,是一些簡單的基礎知識,在這裡我就沒有必要寫出來了,只說出大概的輪廓了,然後我會對其中的幾點進行詳細的解釋。文章的第一天的輪廓大概是這樣的,作者首先用二進位制編輯器做了乙個顯示二進位制的程式,然後用彙編完全db的形式,後又進行改善,最後以比較標準的組合語言編寫,但程式主體部分還沒有翻...