1:裝好bochs
2:裝好nasm
3:liux.asm
org 0x7c00 ; bios自檢完後將轉到記憶體絕對位址7c00處繼續執行
jmp _start
_start:
xor ax, ax ; make it zero
mov ds, ax
mov es, ax
;; 設定bios輸出的屬性(其實位置、顏色)
xor dx, dx
mov bx, 0x000e
;; 通過bios的int 10h中斷輸出文字
mov bp, msg
mov cx, msglen
mov al, 1
mov ah, 0x13
int 0x10
;; 掛起
jmp $
;; 文字常量:
msg db "hello os world!", 0
msglen equ $ - msg ; 文字串的長度
;; 引導程式標記:以 0x55 0xaa 結尾
times 510 - ($ - $$) db 0
db 0x55
db 0xaa
4:編譯nasm -o liux.img liux.asm
5:設定bochs從軟盤啟動。
自己動手寫作業系統
virtual pc 5.2 下 dos7.1 中 執行.com檔案相關問題 2009 09 09 12 55 剛才在進入dos後,編譯.asm檔案獲得.com檔案,但系統會出現 emm386 unrecoverable privileged operation error n9.press ent...
自己動手寫作業系統
今天看了前兩章,現將重點記錄如下 作業系統的啟動,關鍵點時同bios的介面 這裡有兩個位址很重要,a,0x7c00 510 0x7dfe登記標誌位 兩個byte 0xaa55 b,0x7c00,作業系統載入的目標位址 系統啟動過程 1 bios清零cpu現場 傳送reset訊號 2 cpu從0xf ...
自己動手寫作業系統
2 自己動手寫作業系統 3自己動手寫作業系統 如何呼叫bios中斷 在一般的程式語言中,函式的呼叫是一件非常容易的事情。比如在c語言中,如果有乙個名為display的程式,它帶有兩個引數,其中引數 noofchar表示顯示的字元數,引數attr表示顯示字元的屬性。那麼要呼叫它,只需給出程式的名稱即可...