編寫boot exe檔案

2021-04-30 13:03:03 字數 550 閱讀 1043

org 07c00h   ; 程式會被載入到7c00處,所以需要這一句

mov ax, cs

mov ds, ax

mov es, ax

call dispstr   ; 呼叫顯示字串例程

jmp $   ; 無限迴圈

dispstr:

mov ax, bootmessage

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

mov cx, 16   ; cx = 串長度

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

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

mov dl, 0

int 10h   ; int 10h

retbootmessage:   db    " hello, os world!"

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

dw  0aa55h   ; 引導扇區需要以55aa結束 

bat 檔案編寫 !

echo call pause rem 是批處理檔案最常用的幾個命令,我們就從他們開始學起。echo 表示顯示此命令後的字元 echo off 表示在此語句後所有執行的命令都不顯示命令列本身 與echo off相象,但它是加在其它命令列的最前面,表示執行時不顯示命令列本身。call 呼叫另一條批處理...

Scatter檔案編寫

乙個映像檔案中可以包含多個域 region 在載入和執行映像檔案時,每個域可以有不同的位址。每個域可以包括多達3個輸出段,每個輸出段是由若干個具有相同屬性的輸入段組成。這樣在生成映像檔案時,arm鏈結器就需要知道下述兩個資訊。根據映像檔案中位址對映的複雜程度,有兩種方法來告訴arm鏈結器這些相關的資...

makefile檔案編寫

hello.c include include function.h int main function.c includeint fun1 int fun2 int fun3 function.h ifndef fun h define fun h int fun1 void int fun2 v...