一樣是寫程式 怎麼能不寫個Hello world呢?
所以接下來就是印個Hello world在螢幕上
BIOS 裡有提供簡單的 interrupt 可以完成這件事情
然後詳細的內容 可以翻閱 wikipedia
簡單的說就是要設定 ax register 裡面的值
分為 ah (高位址)和 al (低位址)
ah 設定成 0x0e 代表 Teletype output 會顯示 al 裡面存的ASCII code
--<boot.asm>---------------------------------------------------------------------
mov ah 0x0e
mov al, 'H'
int 0x10
mov al, 'e'
int 0x10
mov al, 'l'
int 0x10
mov al, 'l'
int 0x10
mov al, 'o'
int 0x10
mov al, ' '
int 0x10
mov al, 'w'
int 0x10
mov al, 'o'
int 0x10
mov al, 'r'
int 0x10
mov al, 'l'
int 0x10
mov al, 'd'
int 0x10
jmp $
times 510-($-$$) db 0x00
dw 0xaa55
-----------------------------------------------------------------------------------
簡單的說就是一個字一個字的填上去
然後 interrupt 讓字顯示上去
因為 ah 都一樣所以就不用動
填完之後 一樣一個 infinite loop
最後填上 0 跟 0xaa55就好了~