上一章已经讲解了笔记本从开始到bios加载MBR(主引导扇区)的相关内容.
这章将介绍MBR跳转到loader的执行,以及用显卡直接输出到字符.有可能会有疑问为何还要写loader.因为mbr只能是512字节.这么小的空间没法做啥.只能作为跳板所以写个loader用来加载内核.
从图可知.显卡的文本模式映射到了B8000处.只要把字符移到此处.就可以在屏幕显示字符,并且每个字符占用2个字节(一个显示字母一个控制颜色).比如
mov byte [B800:0x04],'M' ,mov byte [B800:0x05] 0xA4 将显示一个 一个闪烁的M .字符由字母跟属性控制.前一个是字母显示.第二个是显示的属性比如颜色闪烁之类的
具体文本模式的第二个字节显示属性.请自行google
section MBR vstart=0x7c00
jmp start
;ds:si指向数据源.es:di指向显存
Message db 'ZYW_OS'
start:
mov ax,0xb800
mov es,ax
mov di,0
mov sp,0x7c00
mov si,Message
; 清屏(摘自百度)
;利用0x06号功能,上卷全部行,则可清屏。
; -----------------------------------------------------------
;INT 0x10 功能号:0x06 功能描述:上卷窗口
;-----------------------------------