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...