代碼: |
org 07c00h ; 告訴編譯器程序加載到7c00處 |
由于沒有買到《linux設備驅動程序》,但是老天對我還好,買到了本《自己動手寫操作系統》,我跟著于淵前輩寫的那些內容進行操作,中間有段沒有弄明白,所以研究了一陣子,但是后來沒有成功,結果就來這里問大家了,現在清楚了,也明白了。(在flw前輩的幫助下)
同時也感謝回答過我的問題的各位牛銀!~~
把引導代碼帖出來(代碼非本人寫的,是從書上抄的,把信息改了改)。
代碼: |
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 = 13, AL = 01h mov bx, 000ch ; 頁號為0(BH = 0) 黑底紅字(BL = 0Ch,高亮) mov dl, 0 int 10h ; 10h 號中斷 ret BootMessage: db "QQ:314064349" times 510-($-$$) db 0 ; 填充剩下的空間,使生成的二進制代碼恰好為512字節 dw 0xaa55 ; 結束標志 |