HelloWorld啟動軟盤

2021-05-26 01:07:34 字數 1420 閱讀 6609

實驗目的

寫乙個可以引導無系統電腦顯示「

hello world

」的程式

參考了部分內容、《自己動手寫作業系統》

實驗過程 1.

首先準備如下工具:

floppywriter

.exe

(由《自己動手寫作業系統》作者開發用於寫映像檔案、代替

ultraedit-32

17.00.0

.1025

官方簡體中文版

.zip

在本文中作用)、

bochs

2.4.6

.zip

(用於生成空白映像)、

nasm

-2.09.08-installer.exe

(用於編譯

asm匯程式設計序)、

visual pc

(虛擬機器可由其他替代)、文字編輯工具(能寫

asm就可)

2.  

全部安裝好後,用文字寫乙個

asm彙編檔案:

code:

org 07c00h ; 告訴編譯器程式載入到 7c00處   

mov ax, cs   

mov es, ax   

call dispstr ; 呼叫顯示字串例程   

jmp $ ; 無限迴圈   

dispstr:   

mov ax, bootmessage  

mov bp, ax ; es:bp = 串位址  

mov cx, 16 ; cx = 串長度   

mov ax, 01301h ; ah = 13, al = 01h   

mov bx, 000ch ; 頁號為 0(bh = 0) 黑底紅字(bl = 0ch,高亮)   

mov dl, 0   

int 10h ; 10h 號中斷   

ret   

bootmessage: db "hello, os world!"

times 510-($-$$) db 0 ; 填充剩下的空間,使生成的二進位制**恰好為   

; 512位元組   

dw 0xaa55 ; 結束標誌   1.

使用nasm

編譯檔案為

bin二進位制檔案

使用bochs

建立乙個空白的

img軟碟機空間(軟碟機檔案,可由虛擬機器載入)

3.使用

floppywriter

把bin

檔案寫進

img軟碟機空間

visual pc

建立乙個空白電腦,載入軟碟機

img然後啟動,見到「

helloworld」

實驗結果

引導檔案放到引導區(頭

512個位元組)中,寫引導區可以引導載入其他東西。

003 軟盤啟動原理

軟盤,這東西雖然現在很罕見了,但是在20年前,軟盤是主要的外部儲存器,再早一點的時候還沒有硬碟,所有的資料都是存放在軟盤上的,當然也包括作業系統。我們之所以仍然選擇軟盤作為我們作業系統的啟動介質,是因為軟盤有著其特點和明顯的優勢。如果我說硬碟,你可能第一反應會問我多大的硬碟,因為硬碟的種類很多。但是...

linux 下製作使用軟盤啟動映象

首先,生成空白軟盤映象 dd if dev zero of data.img bs 512 count 2880 當然也可以用bochs 自帶的工具bximge,先fd,點enter。使用 losetup 命令,將 data.img 作為 loop device 使用 sudo losetup de...

建立乙個啟動軟盤,並安裝GRUB

最近在試著寫乙個簡單的作業系統,打算在11週內寫完。會不定期的在這裡寫東西記錄一下。今天完成了引導程式和第乙個程序,這倒不是很難。反而製作啟動軟盤花費了不少的時間 所以才打算把製作方法寫在這裡。用dd命令建立乙個.img檔案,大小為1.44m.我建立的這個檔案的名字叫做floppy.img dd i...