日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!

發布時間:2025/5/22 windows 121 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

《30天自制操作系統》筆記(01)——hello bitzhuwei's OS!

最初的OS代碼

1 ; hello-os 2 ; TAB=4 3 4 ORG 0x7c00 ; 指明程序的裝載地址 5 6 ; 以下這段是標準FAT12格式軟盤專用的代碼 7 8 JMP entry 9 DB 0x90 10 DB "HELLOIPL" ; freeparam 啟動區的名稱可以是任意的字符串(8字節) 11 DW 512 ; 每個扇區(sector)的大小(必須為512字節) 12 DB 1 ; 簇(cluster)的大小(必須為1個扇區) 13 DW 1 ; FAT的起始位置(一般從第一個扇區開始) 14 DB 2 ; FAT的個數(必須為2) 15 DW 224 ; 根目錄的大小(一般設成224項) 16 DW 2880 ; 該磁盤的大小(必須是2880扇區) 17 DB 0xf0 ; 磁盤的種類(必須是0xf0) 18 DW 9 ; FAT的長度(必須是9扇區) 19 DW 18 ; 1個磁道(track)有幾個扇區(必須是18) 20 DW 2 ; 磁頭數(必須是2) 21 DD 0 ; 不使用分區,必須是0 22 DD 2880 ; 重寫一次磁盤大小 23 DB 0,0,0x29 ; 意義不明,固定 24 DD 0xffffffff ; (可能是)卷標號碼 25 DB "HELLO-OS " ; freeparam 磁盤的名稱(11字節) 26 DB "FAT12 " ; 磁盤格式名稱(8字節) 27 RESB 18 ; 先空出18字節 28 29 ; 程序核心 30 31 entry: 32 MOV AX,0 ; 初始化寄存器 33 MOV SS,AX 34 MOV SP,0x7c00 35 MOV DS,AX 36 MOV ES,AX 37 38 MOV SI,msg 39 putloop: 40 MOV AL,[SI] 41 ADD SI,1 ; 給SI加1 42 CMP AL,0 43 JE fin 44 MOV AH,0x0e ; 顯示一個文字 45 MOV BX,15 ; 指定字符顏色 46 INT 0x10 ; 調用顯卡BIOS 47 JMP putloop 48 fin: 49 HLT ; 讓CPU停止;等待指令 50 JMP fin ; 無限循環 51 52 msg: ; 信息顯示部分 53 DB 0x0a, 0x0a ; 換行2次 54 DB "hello, bitzhuwei's OS!" ; freeparam 55 DB 0x0a ; 換行 56 DB 0 57 58 RESB 0x7dfe-$ ; 填寫0x00,直到0x001fe 59 60 DB 0x55, 0xaa 61 62 ; 以下是啟動區以外部分的輸出 63 64 DB 0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 65 RESB 4600 66 DB 0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 67 RESB 1469432 02helloos.nas

?

虛擬機加載helloos.img

下載(30天自制操作系統光盤.rar),解壓。

將"OS\projects\01_day\helloos1"文件夾復制到"OS\tolset"文件夾下,如下圖所示。

進入"OS\tolset\helloos1"文件夾,刪除"helloos.nas"文件,然后將上表中的"02helloos.nas"內容保存到此處,并重命名為"helloos.nas"。(即更新helloos.nas文件的內容)

雙擊"!cons_9x.bat"(若后續操作失敗,則雙擊"!cons_nt.bat"重試),在彈出的命令行窗口中輸入"asm",回車;然后輸如"run",回車。

之后你就可以看到QEMU這個虛擬機加載啟動了(以helloos.nas為源代碼生成的)helloos.img這個及其簡單的操作系統,如下圖所示。

真機加載helloos.img

剛剛是用虛擬機啟動的helloos.img這個操作系統,下面介紹如何用物理機器加載啟動之。

制作啟動盤

首先,準備一個U盤,保證里面的數據你都不需要了。

然后,下載一個UltraISO軟件。運行之,打開剛剛生成的helloos.img,如下圖所示。

然后,使用菜單項"啟動-寫入硬盤映像…",如下圖所示。

在彈出的窗口中,確定"硬盤驅動器"中選中的是你準備好的U盤,然后點擊"寫入"按鈕,稍候即可,如下圖所示。

真機啟動

刻錄成功了,就是說啟動盤做好了。下面就重啟電腦,然后選擇從U盤啟動,你就可以看到真機啟動helloos.img了。除了一些細節不同外,和虛擬機加載helloos.img的情況基本一致。

總結

以后繼續編寫OS用虛擬機測試比較方便。

操作系統的hello world就算完成了。

?

?點此查看下一篇《30天自制操作系統》筆記(02)——導入C語言

總結

以上是生活随笔為你收集整理的《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。